contents

CDN(Content Delivery Network, 콘텐츠 전송 네트워크) 은 사용자에게 인터넷 콘텐츠를 빠르고 안정적으로 전송하기 위해 함께 작동하는 전 세계적으로 분산된 서버 네트워크입니다. 이는 웹사이트 콘텐츠의 복사본을 전 세계 여러 위치에 저장(이 과정을 캐싱이라고 함)하여, 사용자가 지리적으로 더 가까운 서버에서 콘텐츠에 접근할 수 있도록 하는 방식으로 작동합니다.

비유: 당신이 뉴욕에 유명한 레스토랑을 하나 가지고 있다고 상상해 보세요. 서울에 있는 누군가가 당신의 음식을 먹고 싶다면 뉴욕까지 가야 합니다. CDN은 마치 모든 주요 도시에 당신의 레스토랑 프랜차이즈 지점을 여는 것과 같습니다. 이제 서울의 고객은 그냥 가까운 지점에 가서 훨씬 더 빨리 같은 음식을 먹을 수 있습니다.


CDN이 해결하는 문제: 지연 시간과 서버 부하

CDN이 없으면 전 세계 모든 사용자는 원본 서버(origin server) 라고 불리는 단일 중앙 서버에서 웹사이트 콘텐츠를 가져와야 합니다. 이는 두 가지 주요 문제를 야기합니다.

  1. 지연 시간 (Latency): 데이터가 서버에서 사용자에게 도달하는 데 걸리는 지연입니다. 이 지연은 빛의 속도와 사용자와 서버 간의 물리적 거리에 의해 제한됩니다. 뉴욕에서 호스팅되는 웹사이트에 한국의 사용자가 접속하려고 하면, 모든 이미지, CSS 파일, 비디오가 수천 킬로미터를 이동해야 하므로 페이지 로드 시간이 느려집니다.
  2. 서버 부하: 단일 원본 서버가 모든 사용자의 모든 요청을 처리해야 합니다. 트래픽이 급증하는 동안(블랙 프라이데이 세일이나 바이럴 뉴스 기사 등), 이는 서버에 과부하를 주어 속도를 늦추거나 완전히 다운시킬 수 있습니다.

CDN의 작동 방식: 상세 과정 ⚙️

CDN은 에지 서버(Edge Server) 또는 PoP(Points of Presence) 라고 불리는 서버 네트워크로 구성됩니다. 이러한 PoP는 전 세계 데이터 센터에 전략적으로 위치해 있습니다.

프로세스는 두 단계로 작동합니다.

1단계: 첫 번째 요청 (캐시 미스)

  1. 서울의 사용자가 뉴욕에서 호스팅되는 웹사이트의 logo.png를 로드하려고 시도합니다.
  2. 사용자의 요청은 CDN에 의해 가로채집니다. DNS 라우팅이라는 기술을 사용하여, CDN은 사용자의 요청을 뉴욕의 원본 서버가 아닌, 서울이나 도쿄에 있을 수 있는 가장 가까운 PoP로 지능적으로 보냅니다.
  3. 서울 PoP는 로컬 저장소(캐시)에서 logo.png를 확인합니다. 이 지역에서의 첫 번째 요청이므로 파일이 없습니다. 이를 캐시 미스(cache miss) 라고 합니다.
  4. 그러면 서울 PoP는 사용자를 대신하여 뉴욕의 원본 서버에 접속하여 logo.png를 다운로드하고, 그 복사본을 자신의 캐시에 저장합니다.
  5. 마지막으로, 서울의 사용자에게 logo.png를 제공합니다. 이 첫 번째 요청은 추가 단계 때문에 약간 더 느립니다.

2단계: 이후의 요청 (캐시 히트) ✅

  1. 잠시 후, (서울 PoP와 가까운) 부산의 다른 사용자가 동일한 logo.png를 요청합니다.
  2. CDN은 이 요청을 다시 서울 PoP로 라우팅합니다.
  3. 서울 PoP는 캐시를 확인하고, 이번에는 logo.png를 찾습니다. 이를 캐시 히트(cache hit) 라고 합니다.
  4. PoP는 뉴욕의 원본 서버에 접속할 필요 없이 즉시 부산의 사용자에게 로컬 저장소에서 파일을 제공합니다. 이 요청은 믿을 수 없을 정도로 빠릅니다.

CDN 사용의 주요 이점


어떤 종류의 콘텐츠가 제공되는가?


주요 CDN 제공업체

references