2026-03-01

CDN (Content Delivery Network)

CDN이란?

사용자와 가까운 서버에서 정적 콘텐츠를 제공하는 분산 네트워크 시스템

  • 이미지, CSS, JS, 동영상, 폰트 같은 정적 파일을 전 세계 여러 서버에 복제해두고 사용자와 가장 가까운 서버에서 제공
  • 전 세계에 분산되어 있는 서버들을 통해 사용자에게 웹 컨텐츠를 빠르고 효율적으로 제공하는 기술

왜 필요한가?

서버가 한국에 있는데 미국 사용자가 접속하면?

⇒ 물리적 거리 때문에 지연(Latency) 발생

CDN은:

  • 사용자와 가까운 엣지 서버에서 파일 제공
  • 응답 속도 개선
  • 트래픽 분산

동작 원리

  1. 사용자가 웹사이트 요청
  2. DNS가 가장 가까운 CDN 서버로 연결 (=엣지서버)
  3. CDN 서버에 캐시가 있으면 바로 제공
  4. 없으면 원본 서버(Origin)에서 가져와 캐싱 후 제공

image.png

  1. DNS 서버는 사용자의 위치를 기준으로 가장 가까운 엣지 서버(캐싱 서버)의 IP 주소를 반환합니다.
  2. 엣지 서버는 요청된 콘텐츠가 캐싱되어 있는지 확인합니다. 엣지 서버에 해당 콘텐츠가 캐싱되어 있지 않거나 캐시된 콘텐츠가 만료됐다면, 오리진 서버에서 최신 콘텐츠를 가져옵니다.
  3. 엣지 서버는 사용자에게 콘텐츠 제공합니다.

CDN의 장점

  • 성능 개선: 지연 시간 감소 (Latency 감소)
  • 트래픽 분산: 원본 서버 부하 감소
  • 안정성 증가: DDoS 완화 가능
  • 캐싱 최적화: HTTP 캐시 전략과 연계 가능

CDN과 캐시의 관계

CDN은 HTTP 캐시 헤더와 함께 동작

Cache-Control: max-age=3600

⇒ 해당 파일을 1시간 동안 캐싱

프론트엔드에서 CDN 사용하는 예

  • React 빌드 결과물 배포
  • 이미지 CDN 사용 (Cloudinary 등)
  • 외부 라이브러리 CDN 사용 (ex: jsdelivr)

참고자료

  • https://docs.tosspayments.com/resources/glossary/cdn
  • https://aws.amazon.com/ko/what-is/cdn/
  • https://ipjaworld.tistory.com/57

results matching ""

    No results matching ""