CloudFront란?
Amazon CloudFront
는 .html
, .css
, .js
및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹(CDN) 서비스이다.
CloudFront
는 엣지로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공한다.
CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공된다.
CloudFront
는 AWS Backbone Network
를 통해 콘텐츠를 가장 효과적으로 서비스할 수 있는 엣지로 각 사용자 요청을 라우팅하여 콘텐츠 배포 속도를 높인다. AWS Network
를 사용하면 사용자의 요청이 반드시 통과해야 하는 네트워크의 수가 줄어들어 성능이 향상된다. 파일의 첫바이트를 로드하는데 걸리는 지연시간이 줄어들고 데이터 전송 속도가 빨라진다.
콘텐츠를 전송하도록 CloudFront를 설정하는 방법
데이터 전송의 과정
Client
로부터 Edge Server
로의 요청이 발생
Edge Server
는 요청이 발생한 데이터에 대하여 캐싱 여부를 확인
3-1. 사용자의 근거리에 위치한 Edge Server
중 캐싱 데이터가 존재한다면 사용자의 요청에 맞는 데이터를 응답한다.
3-2. 사용자의 요청에 적합한 데이터가 캐싱되어 있지 않은 경우 Origin Server로 요청이 포워딩된다.
요청받은 데이터에 대해 Origin Server
(S3, EC2...)에서 획득한 후 Edge Server
에 캐싱 데이터를 생성하고 Client로 응답한다.
CloudFront에서 CDN으로 제공하는 콘텐츠의 종류
Download Distribution
: HTTP 프로토콜을 이용해서 다운로드 할 수 있는 일반적인 이미지 혹은 정적 파일을 제공할 수 있음Streaming Distribution
: 스트리밍을 위해 사용할 수 있는 HTTP Progressive Download방식이나 RTSP(Real Time Streaming Protocol)을 지원하는 동영상 콘텐츠를 서비스 받을 수 있다.