CDN이란 무엇인가요?
CDN은 Content Delivery Network(콘텐츠 전송 네트워크)의 약자입니다. 이름에서 알 수 있듯이 CDN은 사용자 위치, 콘텐츠 원본 서버, 에지 서버 위치를 기준으로 콘텐츠(웹페이지, 동영상, 이미지)를 최종 사용자에게 전송할 수 있는 (에지 로케이션 서버라고도 하는) 분산 노드로 구성된 네트워크입니다. CDN 노드는 콘텐츠를 캐싱할 수 있는 캐시 기능을 갖추고 있으며 최종 사용자와 가까운 위치에서 사용자에게 콘텐츠를 제공할 수 있습니다. CDN 노드는 CDN 제공업체에 의해 여러 지역에 구축되고 여러 ISP(인터넷 서비스 제공자) 네트워크에 걸쳐 배포될 수 있습니다.
CDN은 어떻게 작동하나요?
사용자가 특정 위치에서 웹서버 데이터(웹사이트)에 액세스할 때 웹사이트에 대해 CDN 설정이 구성되어 있는 경우 요청은 먼저 가까운 최적 CDN 노드로 전송됩니다. CDN에서 요청된 데이터를 해당 노드에 이미 캐싱한 경우, 데이터가 원본 서버로 다시 전송될 필요 없이 해당 노드에서 사용자에게 제공됩니다. 하지만 데이터가 해당 사용자에게 데이터를 제공하는 CDN 노드에 캐싱되지 않은 경우 요청이 CDN 노드로 먼저 전송된 후 원본 서버로 전송됩니다. 그런 다음 CDN 노드는 데이터를 원본 서버에서 가져와 사용자의 요청을 이행합니다. 또한 CDN 노드에서는 이 사용자나 해당 데이터를 요청하는 다른 사용자의 향후 요청을 이행하기 위해 해당 데이터를 캐싱합니다. 따라서 원칙적으로 설명하면 CDN을 웹사이트에서 사용할 경우 특정 콘텐츠를 처음 요청하는 사용자에게만 지연이 발생하고 이 콘텐츠를 나중에 요청하는 사용자는 모두 CDN 노드에서 콘텐츠를 제공받기 때문에 해당 콘텐츠에 더 빨리 액세스할 수 있습니다. 물론 콘텐츠의 콘텐츠 캐시 설정(예: 웹사이트 캐시 설정)에 따라 그렇지 않을 수도 있습니다. 일부 설정의 경우 콘텐츠 만료 시간에 따라 CDN 노드에서 콘텐츠를 다시 가져와야 하기 때문입니다. 자세한 설명은 이 페이지의 하단에서 확인하십시오.
실제 상황에서 이것은 무엇을 의미하며, 왜 필요한가요?
웹 서버(콘텐츠 원본)에서 호스트되고 웹사이트 방문자에게 영감을 주는 명언 이미지를 제공하는 웹사이트를 소유하고 있다고 가정해 보겠습니다. 웹사이트를 시작할 때는 특정 지역에서 해당 웹사이트를 호스트했습니다. 여기서는 영국을 예로 들겠습니다. 처음에 웹사이트를 시작할 때 영국에 있는 방문자가 웹사이트를 방문하여 콘텐츠를 보고 다운로드하는 것을 볼 수 있었습니다. 웹사이트 인기가 높아짐에 따라 영국과 해외에서 더 많은 사용자들이 웹사이트에 접속하기 시작합니다. 그러자 세 가지 문제가 발생합니다. 첫째, 같은 웹서버에 접속하는 사용자 수가 늘어나 웹서버 부하가 증가하면 서버가 모든 사용자를 동시에 지원할 수 없게 되어 웹사이트에 접속하는 사용자 경험이 악화됩니다. 둘째, 원본 서버가 영국에 있기 때문에 데이터는 지리적으로 먼 위치에서 인터넷을 통해 전송되므로 서버에 접속하는 사용자에게 지연이 발생합니다. 세 번째 문제는 더 많은 사용자에게 콘텐츠를 제공하기 위해 더 많은 대역폭이 필요해짐에 따라 원본 서버에서 콘텐츠를 제공하기 위해 지불해야 하는 대역폭 비용입니다.
CDN을 사용하여 이 세 가지 문제를 해결할 수 있습니다. CDN은 콘텐츠를 제공하기 위해 사용하는 지리적으로 분산된 서버의 네트워크이므로, 최종 사용자와 원본 서버 사이에서 중재자 역할을 합니다. 첫 번째 문제의 경우, 사용자가 웹사이트에 접속한 후에는 요청이 콘텐츠 전송에 가장 적합한 노드로 전송된 다음 위에서 설명한 것과 동일한 원리에 따라 CDN 노드에서 요청이 이행됩니다. 따라서 이 경우에는 모든 사용자의 모든 요청을 원본 서버로 보내는 대신 분산 노드로 보내므로 원본 서버의 부하가 최소화됩니다.
두 번째 문제의 경우, CDN 노드가 여러 지역과 대륙에 걸쳐 분산되므로 CDN으로 문제를 해결할 수 있습니다. 이 방법으로 사용자는 가까운 지역에 있는 노드에 의해 콘텐츠를 제공받게 되므로, 사용 가능한 CDN 노드가 있으면 원본 서버와의 거리로 인한 문제가 발생하지 않습니다.
세 번째 문제인 비용의 경우, CDN을 사용하면 모든 요청이 서버로 다시 전송되지 않기 때문에 필요한 서버 대역폭을 줄일 수 있습니다. CDN 노드는 일반적으로 원본 서버보다 대역폭 비용이 훨씬 더 저렴합니다. 비용을 더욱 최적화하기 위해 대역폭/비용이 가장 저렴한 CDN 노드 위치를 선택하여 콘텐츠를 제공할 수 있습니다.
웹사이트 캐시 설정
웹사이트 캐시 설정은 CDN 콘텐츠 캐싱에서 중요한 역할을 할 수 있습니다. CDN에서는 웹사이트 캐시 설정에 따라 웹 서버에서 전송된 콘텐츠를 캐시에 저장할 수 있습니다. CDN 노드에서 콘텐츠를 항상 다운로드하도록 하거나 서버에서 콘텐츠 만료 여부를 확인하도록 노드에 요청할 수 있는 다양한 캐시 설정이 있습니다. 링크를 클릭하여 캐시 구성에 대해 자세히 알아볼 수 있습니다.
관련 문서
-
클라우드 컴퓨팅 정의
기술 자료 팀
-
VPN이란 무엇인가요
기술 자료 팀