Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워킹

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

CDN(콘텐츠 전송 네트워크, Content Delivery Network)은 전 세계에 분산 배치된 서버들의 집합으로, 각 서버와 물리적으로 가까운 위치에 있는 방문자에게 웹사이트 콘텐츠를 빠르게 전달하는 시스템입니다.

CDN의 가장 대표적인 활용 사례는 웹사이트 이미지 전송입니다. 이미지는 웹 페이지를 구성하는 요소 중 로딩 속도가 가장 느린 편이기 때문입니다.

CDN이란 무엇일까요?

CDN은 웹 호스팅 서비스가 아닙니다. CDN은 여러분이 지정한 웹사이트의 일부 파일만을 캐싱(임시 저장)하여, 전 세계 곳곳에 흩어져 있는 수많은 서버에 업로드해 두는 역할을 합니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

예를 들어 해외 방문자가 여러분의 웹사이트에 접속하면, 텍스트는 웹 호스팅 서버에서 직접 전달받지만 그 외의 파일들은 방문자와 가장 가까운 CDN 서버에서 받게 됩니다.

CDN이 전달하는 파일에는 다음과 같은 것들이 있습니다.

  • 자바스크립트(JavaScript) 파일
  • 이미지
  • 동영상
  • 스타일시트(CSS)

구글이 검색 순위 알고리즘에 페이지 로딩 속도를 반영하기 시작하면서 CDN 서비스에 대한 수요는 폭발적으로 증가했습니다.

특정 주제에서 가장 빠르게 로딩되는 페이지가 되기 위한 경쟁이 치열해지면서, 웹사이트 소유자들은 느린 이미지 로딩 문제의 대안을 찾아야 했고, 분산 캐싱 방식의 CDN 네트워크가 그 완벽한 해결책으로 떠오른 것입니다.

웹사이트에 CDN이 필수인 이유

웹사이트를 운영하고 있다면 페이지 로딩 속도는 몇 가지 이유에서 매우 중요합니다. 앞서 언급했듯이 구글 검색 순위 점수를 높여주는 데 직결되며, 방문자의 사이트 이용 경험을 개선하여 체류 시간을 늘리고 더 많은 페이지를 둘러보도록 만듭니다.

그 외에도 CDN이 웹사이트에 꼭 필요한 이유를 하나씩 살펴보겠습니다.

대역폭 비용 절감

CDN을 사용하면 웹 호스팅 서버에 집중되던 대역폭 사용량을 분산된 CDN 서버 네트워크로 옮길 수 있습니다.

CDN 계정을 개설하고 도메인과 연동하면, 계정 대시보드에서 CDN 쪽으로 넘어간 대역폭 사용량이 실시간으로 누적되는 것을 확인할 수 있습니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

이것이 바로 웹 호스팅 서버에서 덜어낸 대역폭 부담입니다. 웹 호스팅 비용은 만만치 않고 초과 사용 시 추가 과금되는 경우가 많으므로, 대역폭 사용량을 줄이는 것은 상당한 비용 절감으로 이어집니다.

CDN의 대역폭 단가는 웹 호스팅보다 훨씬 저렴합니다. CDN 업체들이 이미지 같은 고용량 콘텐츠 처리에 최적화된 서버 네트워크를 구축하고 있기 때문인데, 그 방식은 다음과 같습니다.

  • 서버 로드 밸런싱과 SSD 같은 최적화 기술을 활용해 전송 속도를 높이고 오류를 줄입니다.
  • 파일 압축 및 경량화(minification) 같은 파일 크기 조정 기법으로 전송 데이터량 자체를 줄입니다.
  • SSL/TLS 인증서를 활용해 잘못된 전송 시작을 줄여, 재전송으로 인한 불필요한 데이터 낭비를 방지합니다.

다운타임 감소

웹사이트 안정성 측면에서 CDN 서비스만큼 다운타임을 획기적으로 줄여주는 도구는 드뭅니다.

이처럼 가동률이 높아지는 데는 몇 가지 이유가 있습니다.

CDN의 분산 네트워크 구조 덕분에 대역폭을 가장 많이 차지하는 이미지가 전 세계 여러 서버에서 동시에 제공됩니다. 또한 CDN은 '로드 밸런싱' 기법을 사용해 특정 서버에 요청이 몰리면 다른 서버들이 부하를 분산 처리합니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

웹사이트 트래픽이 급증하면 여러 하드웨어에 큰 부담이 걸립니다. 구체적으로는 웹 호스팅 데이터센터의 웹 서버와 CDN 업체가 관리하는 분산 서버 모두가 부하를 받습니다.

이미지와各종 파일이 전송 데이터의 대부분을 차지하기 때문에, 부하의 상당 부분도 이쪽에 집중됩니다.

CDN이 여러 대의 로드 밸런싱 서버에 걸쳐 이 수요를 분산 처리해 주기 때문에, CDN 없이 운영할 때보다 훨씬 많은 트래픽을 감당할 수 있게 됩니다.

보안 강화

의외로 느껴질 수 있지만, CDN을 사용하면 웹사이트 보안도 향상됩니다.

이를 이해하려면 먼저 방문자가 웹사이트에 접속할 때 데이터가 어떻게 오가는지 알아야 합니다.

단일 웹 서버 환경에서는 방문자가 웹 페이지를 요청하면 웹 서버가 텍스트, 이미지, 자바스크립트, 스타일시트 등 모든 데이터를 혼자서 응답해야 합니다. 이 모든 대역폭 수요가 단 한 대의 웹 서버에 집중되는 것입니다.

이것을 여러 개의 배수구를 가진 댐에 비유해 볼 수 있습니다. 단일 웹 서버는 물이 흐르는 배수구가 하나뿐인 댐과 같아서, 물이 조금만 범람해도 금방 한계를 넘어 물이 넘쳐흐르게 됩니다.

그렇기 때문에 대부분의 댐은 수위가 올라가면 열 수 있는 여러 개의 배수구를 갖추고 지어집니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

단일 웹 서버에서 호스팅되는 웹사이트는 DDoS 공격자가 공격을 시도할 때 이를 무너뜨리는 것이 훨씬 쉽습니다.

DDoS 공격은 전 세계 수많은 '봇'에서 동시에 발생하여, 마치 수백甚至 수천 명의 사용자가 동시에 여러분의 웹 서버에 요청을 보내는 것처럼 위장합니다.

하지만 전 세계에 분산된 웹 서버를 갖춘 CDN 서비스를 사용하면, 그 모든 서버가 댐에 추가된 배수구 역할을 합니다.

이제 여러분의 웹 서버는 텍스트만 전달하면 되고, 여러 CDN 서버가 이미지와 기타 파일을 나누어 제공합니다. 결국 모든 서버가 대역폭 수요를 함께 나눠 부담하게 되는 것입니다.

이것만으로 DDoS 공격을 100% 막을 수는 없지만, 공격자가 사이트를 다운시키기 위해 투입해야 하는 공격 규모와 노력을 훨씬 크게 만들어 줍니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

또한 CDN 설정 시 TLS/SSL 인증서를 반드시 적용한다면, 모든 트래픽이 암호화되어 해커가 통신 내용을 가로채는 것으로부터 보호받을 수 있습니다.

CDN 서비스 설정 방법

CDN 서비스가 어려워 보일 수 있지만, 실제 설정 과정은 생각보다 간단합니다.

먼저 CDN 업체를 선택해야 합니다. 대표적인 서비스는 다음과 같습니다.

  • Cloudflare: 전 세계 주요 기업들이 사용하는 가장 크고 유명한 CDN 서비스 중 하나입니다.
  • Fastly: CDN 콘텐츠 전송을 포함한 다양한 웹 최적화 제품을 제공합니다.
  • KeyCDN: 전 세계 34개 데이터센터를 운영하며 입증된 웹사이트 속도 성능을 자랑합니다.
  • MetaCDN: 사용량 기반 과금 방식이 일반적인 다른 업체와 달리, 정액제 월 요금을 적용합니다.
  • StackPath: 구 MaxCDN으로, 전 세계 수많은 기업과 웹사이트에서 사용되고 있습니다.

어떤 서비스를 선택해도 웹사이트에 충분한 CDN 최적화를 제공받을 수 있습니다. 규모가 작은 사이트라면 대역폭 사용량이 적을 것이므로 사용량 기반 과금 방식이 유리하고, 대형 웹사이트나 비즈니스라면 정액제가 더 나은 선택입니다.

CDN 서비스에 가입했다면, 계정에서 CDN 존(zone)을 설정해야 합니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

설정 과정은 도메인 이름을 입력하고 캐싱 및 압축 옵션을 구성하는 정도로 매우 simple합니다. 일반적으로 기본값 그대로 두어도 무방합니다.

이때 CDN 업체가 제공하는 CNAME 호스트명을 반드시 메모해 두세요. 나중에 필요합니다.

마지막으로 웹사이트에 CDN 플러그인을 설치해야 합니다. 예를 들어 WordPress 사이트를 운영한다면 W3 Total Cache가 널리 쓰이는 인기 플러그인입니다.

플러그인을 설치하면 CDN 서비스에서 제공받은 CNAME을 입력할 수 있는 입력란이 나타납니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

또한 웹사이트의 어떤 유형의 파일을 CDN이 캐싱하여 방문자에게 제공할지 선택하는 섹션도 확인할 수 있습니다.

CDN이란 무엇일까? 웹사이트 운영자라면 알아야 할 CDN의 개념과 필수 이유

모든 변경 사항을 저장하면 시간이 지남에 따라 CDN 대역폭 차트에 방문자 트래픽이 반영되기 시작하는 것을 볼 수 있습니다. 변경 사항이 인터넷 전체에 전파되는 데 다소 시간이 걸릴 수 있으며, DNS 변경 사항은 보통 약 24시간 후에 업데이트됩니다.

CDN 서비스가 제공하는 성능과 보안상의 이점을 고려하면, 웹사이트에 CDN을 설정하지 않을 이유가 전혀 없습니다.