image

CDN이란?

태그
Dev
상세설명클라우드 CDN이란 무엇인가
작성일자2024.03.19

개인 블로그 프로젝트에 사용할 이미지를 가져오는 방식을 AWS S3과 CloudFront 를 활용하기로 결정하면서 cdn에 대해 알아보았다.

CDN?

CDN(Content Delivery Network)은 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드)의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 합니다.

image

CDN 사용 시 장점

  • 페이지 로드 시간 단축 :
  • 가까운 CDN 서버를 사용하여 웹 사이트 방문자에게 더 가까운 웹 콘텐츠 배포를 가능하게 함으로써 방문자는 더 빠른 웹 페이지 로딩 시간을 경험할 수 있다.

  • 대역폭 비용 절감 :
  • 원본 서버가 요청에 응답할 때마다 대역폭이 소모된다. CDN은 원본 서버가 제공해야 하는 데이터의 양을 줄여 웹 사이트 소유자의 호스팅 비용을 줄일 수 있다.

  • 컨텐츠 가용성 및 중복성 증가 :
  • 많은 양의 웹 트래픽 또는 하드웨어 오류는 정상적인 웹사이트 기능을 방해하고 다운 타임으로 이어질 수 있다. CDN의 분산 된 특성 덕분에 많은 원본 서버보다 더 많은 웹 트래픽을 처리하고 하드웨어 오류를 더 잘 견딜 수 있습니다. 어떤 이유로 하나 이상의 CDN 서버가 오프라인 상태가 되면 다른 운영 서버가 웹 트래픽을 선택하여 서비스를 중단 없이 유지할 수 있다.

  • 웹 사이트 보안 강화 :
  • CDN이 트래픽 급증을 처리하는 동일한 프로세스는 DDoS 공격을 완화하는 데 이상적이다. CDN은 여러 중간 서버 간에 로드를 분산하여 오리진 서버에 미치는 영향을 줄임으로써 트래픽 급증을 처리할 수 있다.

    CDN이 과부하를 막는 방법

    CDN은 업체가 CDN 서비스를 운영하기 위해 세계 각지에 설치한 각 서버인 엣지(edge)를 이용한다. edge들은 컨텐츠를 전송하는데 특화된 서버로 오리진 서버 에서 제공하고자 하는 컨텐츠(웹페이지, 이미지, 영상 등)들을 각국의 edge에 캐싱(저장)해서 요청이 일어난 지역의 응답을 edge가 대신 하도록 한다. 트래픽이 각 edge로 분산되서 오리진 서버의 과부하를 막을 수 있게 됩니다.

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

    정적 콘텐츠

    변경되지 않는 결과 값을 응답한다. (js, css, img)

    정적 데이터는 수정, 처리 또는 생성할 필요가 없으며 CDN에 저장하는 데 이상적이다.

    동적 콘텐츠

    사용자의 위치, 로그인 시간 또는 사용자 기본 설정에 따라 다른 결과값을 응답한다. (날씨, 뉴스, 채팅 등)

    CDN동작 방식

  • 사용자가 웹사이트의 콘텐츠를 요청한다.
  • CDN은 이 요청을 받아들이고, 사용자와 가장 가까운 캐시 서버에서 콘텐츠를 찾는다.
  • 캐시서버에 콘텐츠가 캐시되어 있지 않은 경우, 캐시 서버는 원본 서버에서 콘텐츠를 가져와 캐시한다.
  • 캐시 서버는 콘텐츠를 사용자에게 전송한다.
  • 참고

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