Amazon CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스입니다. CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공됩니다.
AWS
CloudFront는 AWS에서 제공하는 CDN 기능이다.
CDN(Contents Delivery Network)이란 지리적으로 서버를 분산시켜 사용자가 요청한 컨텐츠를 가까운 위치의 서버에서 전송함으로써 컨텐츠 제공 속도를 향상시키는 것을 의미한다.
CloudFront 확인을 위해 상파울루 리전에 환경을 구성하였다.
Route 53 레코드에 새로운 단순라우팅 레코드를 추가하여 EC2 인스턴스와 연결한 뒤 도메인에 접속하여 지연시간을 확인한다.
웹에 대용량 이미지를 첨부하였기때문에 시간이 오래걸리는 것을 확인할 수 있다. 반복적으로 시도해본 결과 34~37s 정도 걸리는 듯 하다.
CloudFront에서 새로운 배포를 생성한다. 모든 엣지 로케이션에 컨텐츠를 배포하고, EC2 인스턴스의 퍼블릭 DNS 주소를 연결하여 지정한다.
배포시 도메인 검증을 위해 연결하고자 하는 도메인의 인증서가 필요하다. 버지니아 리전의 Certification Manager 대시보드에서 발급이 가능하고, 발급한 인증서는 Route 53에 새로운 레코드로 지정해야 검증이 정상적으로 진행된다. (그런데 이 도메인 검증 절차가 생각보다 오래 걸린다,,,)
배포도 5분~10분 정도 기다리니 완료되었다.
Route 53에서 cdn.haryun.tk로 새로운 레코드를 정의한다.
모든 설정이 끝났으니 검증을 진행한다. cdn.haryun.tk로 접속한다.
36.88s -> 946ms로 지연시간이 확연히 줄었다!
해당 이미지의 헤더를 확인해보면 'Hit from cloudfront'라고 적혀있음을 확인할 수 있다. 클라우드프론트의 엣지 로케이션에 사용자가 요청한 컨텐츠가 존재한다는 의미이다.