이번 주에는 AWS CloudFront에 대해 다뤄볼까 합니다.

 

1. CDN이란? 

CloudFront는 CDN 서비스입니다. 그럼 CDN이 무엇이냐 부터 정리해보도록 하죠.

CDN이란 콘텐츠 전송 네트워크, 이며 Content delivery network 혹은 content distribution network의 약자입니다. 땅이 넓은 지역에서 발전하게 된 기술인데 예를 들어 미국같은 나라는 서버 성능도 그렇지만 아무래도 네트웍의 영향을 좀 많이 받겠죠.

아카마이, 디지털 아일랜드, 미러 이미지등의 회사가 유명합니다.

 

다시 CloudFront로 돌아오면, AWS의 서비스답게 S3, EC2, ELB, Route 53과 같은 서비스와 연동이 가능한 것이 장점입니다.

주 용도는 정적 컨텐츠 캐시인데, 이에 따라 각종 이미지나 CSS, JS 파일 등을 클라이언트 근처의 엣지 로케이션에서 사용할 수 있습니다. 또한 컨텐츠를 오리진 서버에 업로드할 수도 있는데요, 모든 컨텐츠 요청은 CloudFront 엣지 로케이션에 의해 오리진 서버로 다시 프록시됩니다. 이때 다운로드와 마찬가지로 업로드시에도 동일한 성능 혜택을 적용합니다.


2. 사용하기

일단 오리진 서버에 올립니다. S3가 될 수도 있겠죠. 그리고 나서는 distribution을 등록합니다.

이제 최종 사용자가 URL을 통해 컨텐츠를 요청하면 최종 사용자와 가장 가까운 CloudFront 서버로 요청됩니다. 이 CloudFront에는 오리진 서버의 컨텐츠가 캐시되어 있구요.


3. 비용

100% 검증은 못했지만 slideshare의 자료를 토대로 분석한 결과,

  • 국내 CDN 피크 트래픽 기준 : 350Mbps/피크, Mbps당 6불 = 2,100불
    CloudFront : 10TB/한달, 기가당 0.209불 = 2,090불

 

4. 기타

만약 파일이 자주 바뀐다면 CloudFront에 어울리지 않습니다.