CDN이란?

CDN이란?

cdn 구조 CDN(Content Delivery Network)은 사용자위치 콘텐츠 원본서버 에지 서버 위치를 기준으로 콘텐츠(웹페이지, 동영상, 이미지)를 최종 사용자에게 전송할 수 있는 분산 노드로 구성된 네트워크이다. 즉, 지리적인 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 기술이다. 이를 통해서 콘텐츠의 병목현상을 피할 수 있다.


CDN의 원리

  1. 최초로 웹 브라우저에서 URL을 이용하여 웹 사이트에 접속을 시도하게 되면 Origin Server로부터 콘텐츠를 가져와서 유저에게 전송하며 동시에 CDN Cache Server에 저장한다.
    (* CDN 캐싱 방식에 따라 달라질 수 있음)
  2. 그 이후에 발생하는 요청은 유저와 가장 가까운 위치에 배치된 CDN Cache Server로 사용자를 접속시키게 되며 콘텐츠 만료 시점까지 저장된 콘텐츠를 여기서 바로 전달해준다.
  3. 자주 요청되는 페이지에 한해서는 CDN Cache Server에서 캐싱이 되며, 해당 콘텐츠에 요청이 없을 경우 주기적으로 삭제된다.
  4. 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에개 응답을 전송한다.
  5. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장한다.

적용 전 CDN 적용 전


적용 후 CDN 적용 후


예를 들어, 외국에 있는 사람이 우리나라에 있는 서버로부터 이미지나 파일 등을 다운로드 받으려고 한다면 시간이 오래 걸릴 것이다. 그래서 서버를 분산시켜 캐싱해두고 사용자의 콘텐츠 요청이 들어오면 사용자와 가장 가까운 위치에 존재하는 서버로 매핑시켜 요청된 콘텐츠의 캐싱 된 내용을 내어주는 방식으로 빠르게 데이터를 전송할 수 있게 된다.

CDN의 캐싱 방식

  • Static Caching
    1. 사용자의 요청이 없어도 Origin Server에 있는 콘텐츠를 운영자가 미리 Cache Server에 복사해둔다.
    2. 사용자가 Cache Server에 접속하여 콘텐츠를 요청하면 무조건 Cache Server에 있다.
  • Dynamic Caching
    1. 최초 요청 시 Cache Server에 콘텐츠가 없다.
    2. 사용자가 콘텐츠를 요청하면 해당 콘텐츠가 있는지 확인하고, 없으면 Origin Server로부터 다운로드받아 사용자에게 전달해준다.
    3. 그 이후에 동일한 콘텐츠를 요청 받으면 캐싱 된 콘텐츠를 사용자에게 전달한다.
    4. 각 콘텐츠는 일정 시간이 지난 후에 Cache Server에서 삭제될 수도, 계속 가지고 있을 수도 있다.

CDN의 장점

  • 병목현상 해결
    • 데이터를 항상 빠르고 안정적으로 전송할 수 있다. 또한 ISP에 장애가 발생해도 다른 ISP에 있는 Cache Server에서 데이터를 전송하므로 전송 중단이 발생하지 않는다.
  • 트래픽 절약
    • CDN을 사용하면 트래픽이 줄어들기 때문에 서버 유지 비용도 저절로 감소된다.
  • 보안
    • 기본적으로 DDoS 공격을 완화할 수 있다.

CDN의 단점

  • 특정 국가나 지역만을 타깃으로 하는 웹 서비스를 운영한다면 CDN 서비스를 활용할 필요가 없다. 이 경우 CDN을 이용하면 오히려 불필요한 연결 지점이 늘어나 웹 사이트의 성능 저하를 불러올 수 있다.
  • CDN을 위한 Cache Server 들이 많이 보유되지 않거나 성능이 안정적이지 않다면 최악의 경우 SPOF(단일 장애점) 문제(즉, 한 군데가 중단되면 전체 시스템이 중단되어버리는 현상)이 발생할 수 있다.

Categories:

Updated:

Leave a comment