AWS 공식 홈페이지에서 정의하는 CloudFront에 대한 설명을 보시면....

 

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

CloudFront는 엣지 위치라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가

요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 라우팅되므로 콘텐츠 전송 성능이 뛰어납니다.

 

 라고 되어 있습니다.

일반적으로 CDN(Contents Delivery Network)하고 동일한 개념으로 알려져 있습니다.

 

 

조금 풀어서 정리해보면, 아래와 같습니다.

 

1. 웹 콘텐츠(정적 및 동적 콘텐츠)를 사용자에게 빨리 배포하기 위한 서비스이다.

 

2. Edge location을 통해 서비스를 제공한다.

 

3. 사용자 요청시 가장 지연지간이 낮은 Edge location에서 서비스 한다.

 

 

일반적으로 웹 콘텐츠를 S3에 보관을 하게 됩니다. 다시말해서 CloudFront 와 S3 조합을 많이 사용하게 되죠.

다행히도, S3에서 CloudFront로 데이터 전송비용은 무료라고 하네요.(CloudFront 서비스가 무료라는 얘기는 아닙니다)

 

 

그럼, 동작 원리를 한번 보시죠...(AWS 공식 홈페이지에서 퍼왔습니다.)

 

 

위에 번호하고 아래 설명을 맵핑해서 보시면 됩니다.

 

먼저 CloudFront 를 구성한 후,

 

1. 사용자가 객체를 요청합니다.

 

2. DNS가 최적으로 서비스할 수 있는 CloudFront Edge-Location으로 요청을 라우팅합니다.

   (위에서 설명드린대로, 가장 지연시간이 낮은 Edge-Location으로 라우팅합니다.)

 

3. 파일이 Edge-Location의 캐시에 있으면, CloudFront는 요청한 파일을 사용자에게 반환합니다.

 

   파일이 없을 경우에는

   3a. 오리진 서버에 파일 요청을 합니다.

   3b. 오리진 서버는 파일을 Cloud Edge-Location으로 보냅니다.

   3c. Edge-Location은 사용자에게 파일을 전달합니다.

 

 > 다른 사용자가 동일한 파일을 요청할 경우 Edge-Location은 캐시에 있는 파일을 사용자에게 반환합니다. (1->2->3)

 

+ Recent posts