본문 바로가기

DevOps/AWS

CloudFront란?

CloudFront란?

html, css, js 및 이미지 파일과 같은 정적 및 동적 웹 컨텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹서비스라고 한다.

정의에 나온대로 가장 대표적인 사용사례가 정적 웹 사이트 콘텐츠 전송 속도 향상이다.

CloundFront에서 콘텐츠를 어떻게 제공하길래 빨라지는 걸까?

CloudFront에서 콘텐츠를 제공하는 방법

1. 사용자가 웹사이트에 접속하면 이미지 파일 및 HTML 파일을 요청합니다.

2. DNS가 요청을 최적으로 서비스 할 수 있는 CloudFront 엣지 로케이션으로 요청을 라우팅합니다. 
 ( 지연시간과 관련해 가장 가까운 CloudFront 엣지 로케이션임 )

3. 엣지 로케이션에서 CloudFront는 해당 캐시에 요청된 파일이 있는지 확인한다. 파일이 캐시에 없으면 다음을 수행한다.

   a. CloudFront는 파일 형식에 적절한 오리진 서버( 이미지파일- S3 버킷 / HTML파일 - HTTP 서버)로 전달한다.

   b. 오리진 서버는 다시 CloudFront로 파일을 보낸다.

   c. 오리진에서 첫번째 바이트가 도착하면 CloudFront가 파일을 사용자에게 전달하기 시작한다. 이때 해당 파일을 캐시에 파일을 추가한다.