CDN(Content Delivery Network)은 말 그대로 하면 콘텐츠 전송 네트워크, 쉽게 말하면 이미지나 동영상과 같은 콘텐츠를 사용자가 빠르게 접할 수 있도록 해주는 장치다. 쇼핑몰 웹 사이트의 콘텐츠를 저장하는 서버와 고객의 위치가 멀 경우에 이미지가 너무 늦게 뜰 수 있기 때문에 고객의 위치와 지리적으로 가까운 CDN 서버에 콘텐츠를 저장, 고객이 이미지를 열면 해당 CDN 서버에서 이미지를 보내줘서 빠르게 뜨도록 하는 것이다.

 

CDN의 장점

고객은 콘텐츠를 빠르게 접할 수 있고, 기업은 웹 트래픽과 대역폭 소비를 줄여 호스팅 비용을 절감할 수 있다. 보안 측면에서도 좋다. 대량의 가짜 트래픽을 웹 사이트로 전송하여 애플리케이션 작동 중지를 유도하는 디도스(DDoS) 공격 시, CDN이 여러 중간 서버 간 로드를 분산해주기 때문에 오리진 서버에 미치는 영향을 줄이고 트래픽 급증을 처리할 수 있다.

 

CDN을 통해 전송할 수 있는 콘텐츠

  • 정적 콘텐츠: 사용자 간에 변경되지 않고, 기업도 자주 변경하지 않는 콘텐츠 (헤더 이미지, 로고, 글꼴 등)
  • 동적 콘텐츠: 사용자에 따라, 사용자의 위치에 따라 달라지는 날씨와 뉴스피드, 채팅 메시지 등

 

CDN 작동 원리

  • 캐싱: 더 빠른 데이터 액세스를 위해 동일한 데이터의 여러 복사본을 저장하는 프로세스. 해당 지역 고객들이 열어본 이미지는 CDN 서버에 저장돼서 다른 고객이 열었을 때 웹 사이트 서버를 거치지 않고 CDN에서 바로 쏴줘서 빠르게 뜨지만 최초로 호출한 이미지는 그렇지 않을 수 있을 거 같다. (최초 요청 시 오리진 서버가 해당 고객과 지리적으로 가장 가까운 CDN POP에 응답 복사본을 보냄)
  • 동적 가속: 사용자에 따라 다른 값을 제공하는 동적 콘텐츠의 경우 클라이언트 호출 발생할 때마다 오리진 서버에 요청을 보내면 너무 오래 걸릴 수 있기 때문에 근처의 CDN 서버가 오리진 서버로 신뢰할 수 있는 지속적인 연결을 설정함으로써 이러한 딜레이를 줄인다고 한다.

 

업무에서 배운 것

  • CDN으로부터 오는 공격에는 보통 IP를 차단하기보다는 패킷만 차단하는 방식으로 대응한다. CDN IP를 차단할 경우, 특정 고객에게 이미지가 뜨지 않는 현상이 발생할 수 있기 때문.

https://aws.amazon.com/ko/what-is/cdn/

+ Recent posts