Ian's Archive 🏃🏻

thumbnail
CDN이란?
Cloud
2024.11.06.

CDN에 대해 정리해보자


1. CDN(Content Delivery Network)이란?

각 지역에 서버를 분산 배치함으로써, 콘텐츠 사용자와 서버 사이의 물리적 거리를 줄여 콘텐츠 로딩 시간을 단축하는 기술

  • 부하 분산
    • 이벤트 또는 신규SW배포 시 오리진으로 오는 트래픽을 분산시켜 오리진의 인프라 부하 방지
  • 성능 개선(가속)
    • 해외 지사 또는 파트너들과 본사간의 컨텐츠 전송을 캐싱 또는 인터넷 구간 가속을 통해 성능 개선
  • 비용 개선
    • 해외에 컨텐츠 제공하기 위해 해외 거점에 인프라 추가 투자없이 CDN이용해 전진배치 효과

2. CDN 원리

cdnImage

콘텐츠의 종류로는 .html, .css, .js, 이미지 파일, 동영상
-> 각 지역 서버에 캐시해서 빠르게 전송

2.1 CDN 요소

  • 오리진 서버, 엣지 서버, DNS서버

오리진 서버

  • 오리진 서버에는 콘텐츠의 원본 버전이 포함되어 있으며 원본 소스 역할
  • 콘텐츠를 업데이트해야 할 때마다 오리진 서버에서 변경
  • 오리진 서버는 콘텐츠 공급업체가 소유하고 관리할 수도 있고 Amazon의 AWS S3 또는 Google Cloud Storage 같은 써드파티 클라우드 공급업체의 인프라에서 호스팅가능

엣지 서버

  • 엣지 서버는 전 세계 여러 지리적 위치에 위치하며, 이를 ‘PoP(Point of Presence)’라고도 함
  • 이러한 PoP 내의 엣지 서버는 오리진 서버에서 복사된 콘텐츠를 캐싱하고, 인근 사용자에게 해당 콘텐츠를 전송하는 역할을 담당
  • 사용자가 오리진 서버의 콘텐츠에 대한 접속을 요청하면 지리적으로 가까운 엣지 서버에 캐싱된 콘텐츠 사본으로 리디렉션
  • 캐싱된 콘텐츠가 오래된 경우 엣지 서버는 오리진 서버에 업데이트된 콘텐츠를 요청
  • CDN 엣지 서버는 CDN 호스팅 공급업체가 소유하거나 관리

DNS 서버

  • DNS(도메인 네임 시스템) 서버는 오리진 및 엣지 서버의 IP 주소를 추적하고 제공
  • 클라이언트가 오리진 서버에 요청을 보내면, DNS 서버는 콘텐츠를 더 빠르게 제공할 수 있는 페어링된 엣지 서버의 이름으로 응답

2.2 CDN 아키텍처

push/pull 방식, 분산형/통합형 방식으로 나뉜다.

CDN의 발전과 아키텍처 - 다우기술
[클라우드 이해] CDN 아키텍처 - 가비아

3. CDN의 장점

  • 웹페이지 로드 시간 개선
  • CDN은 원본 서버가 제공해야 하는 데이터 양을 줄여 대역폭 사용량 및 비용 절감
  • 분산되어 있기 때문에 더 많은 트래픽 처리 -> 가용성 향상
  • 정상 처리와 비정상 처리를 구분해 트래픽 급증에 대응
  • 기타 최적화를 통해 보안 강화

4. CDN 사용사례

-> 그래픽 이미지, 동영상 파일 등 콘텐츠 제공 시 유용
-> 동영상 스트리밍, 온라인 게임, 대용량 파일 전송, 쇼핑몰, 포털 사이트 등에서 활용

5. CDN 캐싱 방식

캐싱이란?

파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 보다 빠르게 액세스할 수 있도록 하는 프로세스

CDN캐싱이란?

콘텐츠 전송 네트워크는 원본 서버보다 최종 사용자에게 더 가까운 프록시 서버에 콘텐츠(예: 이미지, 비디오, 웹 페이지)를 캐시

  • 웹 사이트에서 요청된 콘텐츠로 CDN 서버에 응답할 때는 콘텐츠의 TTL도 첨부하여 서버에 저장 기간을 알림
  • TTL은 HTTP 헤더라고 하는 응답의 일부에 저장되며 콘텐츠가 캐시될 시간(초, 분, 시간)을 지정
  • TTL이 만료되면 캐시에서 콘텐츠가 제거

정적 캐싱

  • Origin Server 에 있는 Content를 운영자가 미리 Cache Server에 복사
    -> 사용자가 Cache Server에 Content 요청 시 무조건 Cache Server에서 응답
  • 대부분의 국내 CDN에서 이 방식 사용 (게임 클라이언트 다운로드 등)

동적 캐싱

  • Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사하지 않음
    -> 사용자가 Content를 요청 시 해당 Content가 없는 경우 Origin Server로부터 다운로드 받아 전달 -> 있는 경우에는 캐싱된 Content전달
  • 각각의 Content는 일정 시간 이후 Cache Server에서 삭제 될 수도 있음

6. 주요 클라우드 업체의 CDN서비스

나무위키를 보니

구글은 구글 글로벌 캐시, AWS는 Cloud Front가 있고

CDN을 제공해주는 미국 기업으론 Akamai와 CloudFlare가 있다.

국내에서 가장 점유율이 높은 기업은 GS네오텍, 통신 3사, 클라우드 업체 순으로 나무위키에는 나와있는데

국내 CDN업체 점유율이 궁금해짐 -> 서칭 좀 해보자

CDN 서비스의 현황 및 이슈 - KDI경제정보센터 2008년 도에는 CDNetworks가 60프로 점유하고 있다고 나와있는데

벤처로 시작한 국내 대표 CDN기업 씨디네트웍스, 이제 중국 업체됐다 - 디지털데일리기사보니 일본에 팔렸다 중국의 최대 CDN업체에 팔린 것으로 보임

북적이는 한국 콘텐츠 전송기술 시장…전문업체·클라우드사 혼전 기사보니 클라우드 서비스 제공하는 회사들도 CDN 솔루션 개발

기존 CDN제공하던 전문 업체들은 보안 솔루션을 추가로 제공하고 있는 상황

7. CDN기술 변천사

1세대

  • 캐싱 기술
  • 정적인 컨텐츠를 복제해서 많은 사람이 빨리 볼 수 있게 전송에 초점

2세대

  • Contents들이 점점 늘어나 컨텐츠와 사용자간의 상호작용이 늘어남
  • 사용자 정보 기반의 맞춤 컨텐츠(동적인 컨텐츠) 가속 세대
    • 최적의 경로로 최적의 성능 확보

3세대

  • 늘어난 스마트폰 수요, 다양한 디바이스 + 더욱 커진 컨텐츠 사이즈
  • 컨텐츠 이용자들에 대한 네트워크 공격이 늘어남
  • 모바일과 인터넷 상의 보안 관련 기술에 몰두
  • 클라우드 보안 솔루션
  • 솔루션 + 웹 퍼포먼스

4세대

  • 아직 정의내리기 힘든 단계 (현재 단계)
  • Edge Computing
  • IoT, 5G, BlockChain
  • 더 가까운 곳에서 실시간으로 처리

Reference

GS네오텍의 CDN 서비스
[클라우드 이해] CDN이란? - 가비아 라이브러리
콘텐츠 전송 네트워크(CDN)란 무엇인가요? - AWS
CDN - 나무위키
콘텐츠 전송 네트워크(CDN)란? | CDN의 작동 방식은? - CLOUDFLARE
CDN(콘텐츠 전송 네트워크)이란 무엇일까요?
OTT 업체 출혈경쟁 중인데…돈 버는 회사는 따로 있다? - 아시아 경제
CDN이란 : 대표적인 CDN 솔루션 비교분석 - SMILESHARK
CDN 서비스의 현황 및 이슈 - 경제정보센터
인터넷 강국 이끈 한국 CDN, 20주년 맞았다 - ZDNET Korea 아카마이는 어떤 회사? - Youtube(Akamai Technologies)
인터넷 전반에 대한 이해와 CDN의 개념

Thank You for Visiting My Blog, I hope you have an amazing day 😆
© 2023 Ian, Powered By Gatsby.