공통/인프라 & 시스템 설계

[CDN] CDN이란? CDN의 구성요소 간단 정리

반응형

CDN

멀티 클라우드의 네트워크가 리전과 가깝고 폐쇄된 망이 아닌, 여러 개의 리전에 흩어진 여러 개의 클라우드를 연결해야 할 때 CDN을 활용할 수 있음.

 

3-1. CDN이란?

  • 리소스를 적재적소에 분배하고 가까운 분배지로 통신 경로를 연결하는 방법으로 최적화
  • ⇒ 많은 Edge 캐시 서버 중, 사용자와 가장 가까운 라우터에 연결된 서버.
  • 대용량의 모바일 게임 다운로드, VOD 영상 재생, Live 시청 등 다양한 콘텐츠를 사용자에게 원활하게 전달하기 위해서 CDN을 사용.
  • 대표적으로 AWS CloudFront이 있음.

3-2. CDN의 구성 요소

Edge (엣지 로케이션)

  • 캐시 서버가 존재하는 데이터 센터
  • 전 세계 각지에 수 많은 엣지가 분포되어 있는데 요청이 들어오는 곳에 가장 가까운 엣지로 라우팅 하도록 만들어 HTTP 응답 속도를 향상 시킴.

Origin

  • 실제 콘텐츠를 보관하는 서버.

Distribution

  • CDN은 Origin과 DNS 사이에 위치하고 있어 URL을 통해 서비스를 이용하는 사용자는 CDN의 존재를 의식하지 못함.
  • CDN에는 최적의 엣지를 구성할 수 있도록 각종 규칙을 정의하는 논리적인 단위가 존재 ⇒ Distrubution (AWS CloudFront)

Behavior

  • Distribution에서 정의하는 내용으로 사용자 요청을 Origin과 연결하고 Origin의 응답을 사용자에게 연결해주는 기능


OAI

  • Origin 서버에 직접적인 접근이 불가능하고, 반드시 CDN을 통해서만 접근할 수 있게 하는 방식
  • 이러한 기능을 Aws CloudFront에서는 OAI (Origin Access Identify)라고 부름.


CDN의 캐시 제어 방식

CDN의 핵심 기능인 캐시 기능은 HTTP 요청 헤더에 설정된 캐시 설정과 CDN 디스트리뷰션에 설정된 TTL 값을 참고하여 엣지의 캐시 기간을 결정한다.

HTTP Header

  • Cache-Control: 캐시가 유효한 기간(sec) (Expires 보다 우선순위가 높음)
  • Expires: 캐시가 무효화 되는 시점

Distribution

  • TTL: CDN의 Distribution 설정에서 캐시의 수명을 제어.

( Distribution → Cache-Control → Expires 순으로 우선순위를 갖는다.)

반응형