CDN

Minhyeok Kim·2022년 9월 25일
0

개념

목록 보기
10/13

CDN(Content Delivery Network)

콘텐츠 전송 네트워크는 데이터 사용량이 많은 앱의 웹페이지 로드 속도를 높이는 상호 연결된 서버 네트워크.
지리, 물리적으로 떨어져 있는 사용자에게 느린응답속도/다운로딩 타임을 극복하여 컨텐츠를 더 빠르게 제공할 수 있는 기술


원거리에 있는 클라이언트는 본 서버에서 데이터를 전송받게 되면 오래걸린다. 그래서 컨텐츠를 캐싱하여 캐시서버에 저장을 해두고 원거리 클라이언트가 요청을 하면 캐시서버에서 컨텐츠를 전달해주는 방식

CDN의 장점

  1. 웹사이트 로딩속도 개선
  2. 인터넷 회선 비용 절감
  3. 컨텐츠 제공의 안정성 확보
  4. 웹사이트 보안 개선

CDN의 작동원리

  1. 최초의 요청은 서버로부터 응답, 동시에 CDN 캐싱장비에 저장
  2. 이후 모든 요청은 CDN캐싱장비에 저장된 컨텐츠로 전송
  3. 자주사용되는 페이지에 한해서 CDN 장비에서 캐싱, 호출이 없을 경우 주기적으로 삭제 -> 서버로 돌아감
  4. 서버가 파일을 찾는데 실패하는 경우에도 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아서 유저에게 전달

CDN의 필요기술

  1. Load Balance
    사용자에게 콘텐츠 전송 요청(Delivery Request)을 받았을 때, 최적의 네트워크 환경을 찾아서 연결하는 기술(==GSLB(Global Server Load Balancing)).
    물리적으로 가장 가깝거나 여유 트래픽이 남아 있는 곳으로 접속을 유도하는 기술.
  • GSLB(Global Server Load Balancing)
    DNS(도메인 이름을 IP 주소로 변환하는 서비스)서비스의 발전된 형태로 볼 수 있음

  • DNS vs GSLB
    🔸 health check
    : DNS 는 서버의 상태를 알 수 없어서 서비스를 실패하는 유저가 발생할 수 있으나, GSLB 는 서버의 상태를 모니터링하고 실패한 서버의 IP는 응답에서 제외
    🔸 로드밸런싱
    : DNS는 우선순위를 두지 않고, 순서대로 시간단위로 할당하는 Round Robin 방식을 사용하여 정교한 로드밸런싱이 어려우나, GSLB 는 서버의 로드를 모니터링하기 때문에 로드가 적은 서버의 IP를 반환하는 식으로 정교한 로드밸런싱 가능
    🔸 레이턴시
    : Round Robin 방식을 사용하는 DNS 는 유저를 네트워크상에서 멀리 떨어진 위치의 서버로 연결 할 수도 있다. 반면 GSLB 는 각 지역별로 서버에 대한 레이턴시 정보를 가지고 있기 때문에 유저가 접근을 하면, 유저의 지역에서 가까운(더 작은 레이턴시를 가지는) 서버로 연결을 한다.
    // 레이턴시는 통신에서 렉 이라고 해석됨
    🔸 위치 기반
    : DNS -> Round Robin ... / GSLB -> 유저의 저역정보를 기반으로 해당 지역을 서비스하는 서버로 연결 가능

  1. 컨텐츠를 배포하는 기술
    컨텐츠의 삭제나 수정이 일어났을 때 이를 관리할 수 있는 기술이 필요

  2. CDN의 트래픽을 감지하는 기술
    통계자료를 고객에게 제공하기 위해 필요
    트래픽 을 분산하기 위해 필요

CDN 캐싱 방식

  1. Static Caching
    Origin Server 에 있는 Content 를 운영자가 미리 Cache Server 에 미리 복사해두기 때문에 사용자가 Cache Server 에 Content 를 요청시 무조건 Cache Server 에 있음

  2. Dynamic Caching
    Origin Server 에 있는 Content 를 운영자기 미리 Cache Server 에 복사하지 않고 사용자가 Content 요청시 해당 Content 가 없는 경우 다운로드 받아서 전달하고 일정시간이후에 삭제 될 수 있음

CDN 으로 전송가능한 컨텐츠

동영상, 오디오 스트림, 앱/게임/OS 업데이트 와 같은 소프트웨어, 의료정보와 금융정보가 포함된 데이터레코드 등등 디지털화가 가능한 모든 데이터

CDN 서비스 이용방법

CDN 이용시 소스코드 상에서 이미지 링크나 리다이렉트등 CDN 서비스를 이용할 도메인을 호출하는 경우 도메인의 주소를 CDN 업체 장비의 주소로 이미지를 호출하는 경로로 변경

<img src= "http://www.goddaehee.com/~~~~"> 
위 내용을 아래처럼 
<img src= "CDN 업체 서버 도메인">

서비스 신청 대상 도메인이 서버(Origin Server)를 바라보게끔 CDN 장비주소로 연결해주는 작업을 해야함 (CDN 서비스 신청시 CDN 서비스를 이용할 도메인의 네임서버레코드르르 CDN 서버시 업체에 저공하는 도메인 주소 또는 IP 주소로 연결)

http://www.goddaehee.com 이 CDN 서비스를 신청하고 싶은 
도메인이라면 네임서버 A레코드를 
CDN업체도메인.co.kr 으로 변경작업을 한다.
브라우저 주소창에 http://www.goddaehee.com를 
입력했을때 발생되는 요청을 
CDN업체 서버로 가게 해주는 작업이다.
기존 http://www.goddaehee.com 에 
연결된 A레코드 IP값과 도메인 정보를 
보내주면 CDN업체측에서 변경에 
필요한 CNAME을 준다.
이에 따라 DNS상에서 CNAME을 
각각의 도메인에 적용하여 수정해줘야 한다.

0개의 댓글