Let's Girin!

[네트워크] AWS S3와 CDN, 안정적인 웹 서비스 구축 본문

NetWork

[네트워크] AWS S3와 CDN, 안정적인 웹 서비스 구축

window= 2025. 7. 7. 20:14

1. S3란?

Amazon S3(Simple Storage Service)는 AWS에서 제공하는 객체 저장소 서비스이다. 정적 파일(이미지, JS, CSS, 동영상, HTML  등)을 저장하고, 언제 어디서든 접근할 수 있도록 만들어주는 저장 공간이다. 

🔹 주요 특징

  • 파일 단위 저장 (객체 스토리지)
  • 높은 내구성 (99.999999999%)
  • 버전 관리 및 권한 설정 가능
  • 정적 웹 호스팅 가능

🔹 주요 활용 사례

  • 정적 웹사이트 호스팅
  • 이미지/동영상 저장소
  • 백업 및 로그 저장소
  • 애플리케이션 데이터 저장

2. CDN이란?

CDN(Content Delivery Network)은 사용자에게 콘텐츠를  빠르게 전달하기 위해 전 세계에 분산된 서버 네트워크이다.

예를 들어, 한국 사용자가 미국 서버에 있는 이미지를 요청한다면, 속도가 느릴 수 있다. CDN은 그 이미지를 한국에 있는 서버에도 캐싱해두고, 그 캐시 서버에서 콘텐츠를 서빙해 지연 시간을 최소화한다.

🔹 대표적인 CDN 서비스

  • AWS CloudFront
  • Cloudflare
  • Akamai
  • Fastly

3. S3 + CDN 조합

S3정적 파일을 업로드하고, CDN을 통해 전 세계 사용자에게 빠르게 제공하는 구조

  1. S3에 정적 파일 업로드
  2. CloudFront와 같은 CDN 서비스에서 S3를 오리진(Origin)으로 설정
  3. CDN이 S3 콘텐츠를 캐싱
  4. 사용자는 가장 가까운 CDN 엣지 서버에서 파일을 빠르게 다운로드

🔹 장점

전 세계 빠른 제공 사용자 위치에 가까운 CDN 서버에서 콘텐츠 제공하여 지연(Latency) 최소화
트래픽 비용 절감 S3 직접 요청이 줄고, 캐싱된 콘텐츠 제공으로 데이터 전송 비용 절감
안정적인 서비스 트래픽 급증 시에도 CDN이 대신 처리해 S3 부하 감소(S3 요청 수 절감)
보안 강화 HTTPS, Origin(원본 서버)접근 제한, URL 만료 등 다양한 보안 기능 적용 가능

 

4. 게임 프로젝트 S3+CDN 활용

4.1 에셋번들(AssetBundle) 배포

유니티 에셋번들은 게임 내 리소스를 동적으로 불러올 때 많이 사용된다. 빌드 시 에셋번들을 S3에 올리고 CDN을 통해 엣지 서버에서 빠르게 로드해 게임 내 리소스 로딩 시간을 줄인다.

4.2 게임 패치 및 업데이트 파일 제공

클라이언트 업데이트를 할 때 S3에 패치 파일을 업로드하고 CDN을 통해 빠르고 안정적으로 유저에게 전달한다.

 

 

5. 마무리

S3정적 파일 저장에 매우 적합하고, CDN은 그 파일들을 전 세계에 빠르게 배포하는 데 탁월한 도구이다. 이 두 가지를 함께 활용하면, 빠르고 안정적인 웹 서비스를 구축할 수 있다.

 

S3 정적 파일 저장소
CDN 콘텐츠 전달 가속화

 

반응형