이것저것 개발기록

"전 세계 어디서든 빠르게" CDN(Content Delivery Network)의 원리 본문

IT 이야기

"전 세계 어디서든 빠르게" CDN(Content Delivery Network)의 원리

Garam Kim 2026. 1. 11. 12:00

"미국에 있는 사용자가 한국 서버의 이미지를 보려면 왜 느릴까요?"
물리적 거리의 한계를 극복하고 사용자에게 가장 가까운 곳에서 콘텐츠를 전달하는 CDN의 핵심 원리를 정리합니다.

1. CDN이란 무엇인가?

CDN은 지리적으로 분산된 여러 서버의 네트워크입니다. 사용자가 웹사이트에 접속할 때, 메인 서버(Origin)까지 가지 않고 가장 가까운 곳에 위치한 에지 서버(Edge Server)에서 캐싱된 데이터를 받아오게 함으로써 로딩 시간을 획기적으로 단축합니다.

2. CDN의 주요 장점

  • 응답 시간 단축: 물리적 거리가 가까워지므로 레이턴시(Latency)가 줄어듭니다.
  • 서버 부하 분산: 트래픽이 분산되어 메인 서버의 대역폭 비용과 CPU 부담을 줄여줍니다.
  • 가용성 향상: 일부 에지 서버에 장애가 발생해도 다른 에지 서버가 서비스를 유지할 수 있습니다.

💡 실무 노트

CDN은 정적 파일(이미지, JS, CSS, 영상)에 최적화되어 있습니다. 하지만 실무에서 가장 골치 아픈 점은 **'캐시 갱신(Cache Invalidation)'**입니다.

팁: 서버의 이미지를 교체했는데 사용자는 여전히 옛날 이미지를 보고 있다면 CDN 캐시가 남아있기 때문입니다. 이를 해결하기 위해 파일 이름 뒤에 해시값을 붙이는 Versioning(예: logo.abcdef.png) 기법을 쓰거나, 수동으로 Invalidation(무효화) 요청을 보내야 합니다. 다만, 전 세계 모든 에지 서버의 캐시를 비우는 데는 시간이 걸리고 비용이 발생할 수 있으므로, Versioning 방식을 가장 추천합니다.

"사용자와 가까울수록 속도는 빨라집니다. CDN은 그 거리를 좁히는 가장 영리한 방법입니다."