.html, .css, .js 같은 이미지 파일이나 정적 및 동적 웹 콘텐츠를 사용자에게 배포하는 속도를 높여주는 웹 서비스이다. CloudFront는 엣지 로케이션이라고 하는 전 세계의 데이터 센터 네트워크를 통해 콘텐츠를 제공한다.
사용자가 CloudFront를 통해 제공되는 컨텐츠를 요청하면 가장 낮은 지연시간을 가진 엣지 로케이션으로 라우팅되어 콘텐츠가 최상의 성능으로 제공되게 된다.
CloudFront는 각 사용자의 요청을 AWS의 백본 네트워크를 통해 콘텐츠를 가장 빠르게 제공할 수 있는 엣지의 위치로 라우팅해서 콘텐츠의 배포속도를 높인다.
또한 파일(객체라고도 함) 사본이 전 세계 여러 엣지 로케이션에 보관 또는 캐시되어 있으므로 안정성과 가용성이 향상된다.
AWS의 콘텐츠 전송 네트워크(CDN) 서비스
정적/동적 웹 콘텐츠를 사용자에게 빠르게 전달하는 역할
전 세계의 여러 곳에 위치한 엣지 로케이션이라는 데이터 센터를 두고 있고, 엣지로케이션에 콘텐츠를 캐시(임시저장) 한다.
동작
CloudFront는 단순히 엣지 로케이션이 지리상으로 가깝다는 이유로 빠르게 전달할 수 있는 원리가 아님.
AWS 백본 네트워크를 통해 빠르게 전달할 수 있음.
CloudFront가 콘텐츠를 배포하기 전까지 환경이 구성되는 방법
오리진 서버 구성
컨텐츠를 제공할 오리진 서버를 구성한다.
S3 버킷을 사용하면 CloudFront만 접근가능하도록(OAC) 설정할 수 있어 보안적으로도 좋음.
파일 업로드
제공할 컨텐츠를 업로드한다.
CloudFront 배포 생성
CloudFront에서 가져올 Origin을 지정하거나 캐시 정책, 보안 같은 설정들을 하는데 이런 설정들을 배포 구성이라 한다.
도메인 이름 할당
배포를 생성하면 고유의 도메인 이름이 할당된다.
CloudFront의 캐시 콘텐츠를 사용하려면 이 도메인 이름을 통해 접근해야한다.
도메인이름은 사용자 지정도 사용 가능하다.
배포 구성 전송
3.에서 설정한 배포 구성을 전세계 엣지 로케이션으로 자동 전송한다.
이 단계를 거치게 되면 사용자에게 CloudFront를 통해 캐시된 컨텐츠를 제공할 수 있게 된다.
CloudFront는 S3를 오리진으로 사용하게 되면 이 기능을 사용할 수 있다.