AWS

[AWS] CloudFront(CDN)이란?

꽁치_로그 2023. 8. 2. 17:52

CloudFront란?


CloudFront는 AWS에서 제공하는 CDN 서비스입니다.

캐싱을 통해 사용자에게 좀 더 빠른 전송 속도를 제공함을 목적으로 합니다.

CloudFront는 전 세계 이곳저곳에 Edge Server(Location)을 두고 Client에 가장 가까운 Edge Server를 찾아 Latency를 최소화시켜 빠른 데이터를 제공합니다.

CloudFront가 서비스 되는 과정

Origin Server : 원본 데이터를 가지고 있는 서버입니다. 보통 AWS에서의 Origin Server는 S3, EC2, Instance 입니다.
Edge Server = Edge Location : AWS에서 실질적으로 제공하는 전 세계에 퍼져있는 서버입니다. Edge Server에는 요청 받은 데이터에 대해서 같은 요청에 대해서 빠르게 응답해주기 위해 Cache 기능을 제공합니다.

 

CDN(Content Delivery Network)이란?


CDN(Content Delivery Network)는 지리적으로 먼 거리에 떨어져 있는 사용자에게 지리적으로 분산된 서버들(Edge Server)을 이용하여 빠르고 안전하게 지연없이 데이터를  전송하는 콘텐츠 전송 기술입니다.

CDN은 각 지역에 캐시 서버(PoP, Points Of Presence)를 분산 배치해, 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버가 콘텐츠를 전달합니다.

CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화합니다.

 

데이터 전송이 발생하는 과정?


1. 클라이언트로부터 Edge Server로의 요청이 발생합니다.

2. Edge Server는 요청이 발생한 데이터에 대하여 캐싱 여부를 확인합니다.

3-1. 사용자의 근거리에 위치한 Edge Server 중 캐싱 데이터가 존재한다면 사용자의 요청에 맞는 데이터를 응답합니다.

3-2. 사용자의 요청에 적합한 데이터가 캐싱되어 있지 않은 경우 Origin Server로 요청이 포워딩됩니다.

4. 요청받은 데이터에 대해 Origin Server에서 획득한 후 Edge Server에 캐싱 데이터를 생성하고, Client로 응답이 발생합니다.

 

CloudFront에서는 어떤 종류의 컨텐츠를 CDN으로 제공?


Download Distribution : HTTP 프로토콜을 이용해서 다운로드할 수 있는 일반적인 이미지 or 정적 파일을 제공받을 수 있습니다.

Streaming Distribution : 스트리밍을 위해 사용할 수 있는 HTTP Progressive Download 방식이나 RTSP(Real Time Streaming Protocol)을 지원하는 동영상 콘텐츠를 서비스받을 수 있습니다.

 

Edge Server의 Cache의 특징?


  • 기본적으로 한 번 발생한 요청에 대해서는 Edge Server에 캐싱된 상태로 저장됩니다.
  • Edge Server의 기본 TTL은 24시간이고 사용자의 설정에 따라 변경이 가능합니다. (설정 변경 시 반영에 1시간 소요됩니다.)
  • 전체 데이터에 대한 TTL을 수정하는 것이 아닌, 각 개별 데이터에 대해서 Invalidation API(특정 파일을 캐시에서 삭제하는 기능)을 통해 직접 삭제할 수 있습니다.
    • Invalidation API는 동시에 최대 3개의 요청을 발생시킬 수 있으며, 각 요청은 최대 1000개까지 가능합니다.
    • Invalidation API는 Edge Node에 반영되기까지 5~10분 정도의 시간이 소요됩니다.
반응형

'AWS' 카테고리의 다른 글

[AWS] CloudWatch란?  (0) 2023.08.02