CDN(Content Delivery Network)
✒️ 2025-04-15 19:03 내용 수정
참고 자료 : akamai what is a cloud cdn, AWS cdn, 위키백과 컨텐츠 전송 네트워크
컨텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템
- 클라이언트에서 서버로 데이터를 요청할 때 클라이언트는 한국에 있는데 서버가 미국에 있다면 두 대상이 직접 데이터를 주고 받을 때 데이터 전송 시간은 오래 걸린다.
- 특히 대용량 이미지나 동영상의 경우라면 이를 로드하는 데 시간이 오래 걸린다.
- 유투브 본사로부터 한국에서 데이터를 요청해서 1시간 짜리 영상을 본다고 생각한다면 동영상이 뜨는 데 상당히 오래 걸릴 것이다.
- 하지만 물리적으로 가까운 거리에 있다면 데이터를 받는 데 걸리는 시간은 비교적 짧다.
- 따라서 사용자의 웹 사이트 대기 시간을 줄이고, 다양한 서비스를 빠르게 제공하기 위해 여러 대의 분산된 서버를 각 지역에 배치하여 사용한다.
- 구글 본사, 구글 코리아, 구글 재팬 등 구글도 전세계적으로 많은 곳에 서버를 설치하여 서비스를 제공하고 있다.
작동 방식
- 지리적으로 멀리 떨어진 웹 사이트 방문자가 웹 서버에 컨텐츠를 요청한다.
- 요청이 웹 어플리케이션 서버 또는 오리진 서버에 도착하면 오리진 서버는 방문자에게 응답을 전송하고, 방문자와 지리적으로 가까운 CDN 접속 지점(CDN POP)에 응답 복사본을 보낸다.
- CDN 접속 지점의 서버(CDN POP)는 복사본을 캐싱된 파일로 저장한다.
- 다음에 해당 사용자나 비슷한 지역의 사용자가 동일한 요청을 하면 CDN POP에서 사용자에게 캐싱된 파일로 응답을 보낸다.
장점
- 고성능 : 대용량 파일과 고품질 오디오 등 대규모 컨텐츠를 신속하게 제공할 수 있다.
- 가용성 향상(트래픽 분산) : 다수의 사용자가 접근할 때, CDN은 애플리케이션 서버에서 로드 일부를 가져와 병목 현상이 일어나는 것을 줄여 서버의 부하를 분산 시킨다. 또한 CDN의 시스템 덕에 서버 중 하나가 다운되더라도 다른 운영 서버가 해당 서버를 대체하여 서비스가 중단되지 않도록 할 수 있다.
- 빠른 로딩 속도 : 사용자와 가까운 지역의 서버에 컨텐츠를 전송하고, 해당 서버에서 사용자에게 컨텐츠를 빠르게 제공할 수 있어 페이지 로딩 속도를 향상시킨다.
- 보안 강화 : 여러 서버에서 로드를 분산하기 때문에 분산 서비스 거부(DDoS) 공격처럼 대량의 가짜 트래픽을 전송하는 공격으로부터 오리진 서버를 보호할 수 있다.
활용
- 빠른 속도로 고품질의 컨텐츠를 제공할 수 있어 BBC, CNN 등과 같은 주요 뉴스 채널과 실시간 스트리밍 서비스를 제공하는 미디어 회사들이 이용한다.
- 게임사나 비즈니스 플랫폼과 같이 여러 사용자가 동시에 접근하고 대량의 데이터가 이동하는 환경에서 사용한다.