LumoMate
LumoMate/용어집/SubstrateInfra / DevOps

CDN

CDN(Content Delivery Network)은 이미지·동영상·웹 파일을 사용자와 가까운 여러 지역 서버(엣지)에 미리 복사해 두고, 가장 가까운 서버에서 빠르게 응답하게 해 주는 네트워크입니다.
CDN의 개념을 표현한 편집형 일러스트.

쉬운 설명

서울 사용자가 미국에 있는 원본 서버에 매번 다녀와야 한다면, 같은 이미지를 보는 데도 수백 ms씩 더 걸립니다. CDN은 그 원본 파일을 서울·도쿄·프랑크푸르트 등 세계 곳곳의 엣지 서버에 복사해 두고, 사용자가 가장 가까운 곳에서 받게 합니다.

속도 이점만 있는 게 아닙니다. ① 원본 서버 부하가 분산돼서 큰 트래픽 폭주를 견디기 쉬워집니다. ② DDoS 같은 공격도 엣지에서 흡수할 수 있어 보안에 도움이 됩니다. ③ HTTPS·압축·이미지 변환 같은 부가 기능을 한곳에서 처리할 수 있습니다. 같은 비용에 더 많은 일을 한꺼번에 얻습니다.

동작 흐름은 단순합니다. ① 사용자가 yoursite.com/image.jpg를 요청. ② DNS가 가장 가까운 엣지 서버로 보냄. ③ 엣지에 그 파일이 캐싱돼 있으면 즉시 응답, 없으면 원본 서버에서 한 번 가져와 캐싱한 뒤 응답. 두 번째 사용자부터는 같은 엣지에서 즉시 받습니다.

주의할 점은 캐싱 갱신입니다. CDN은 같은 파일을 여러 곳에 캐싱하기 때문에 '원본은 바꿨는데 사용자는 옛 파일을 본다'가 흔한 함정입니다. 그래서 파일 이름에 버전(hash)을 붙이거나(image-abc123.jpg → image-def456.jpg) 무효화(invalidation) 절차를 짜 두는 게 중요합니다.

대표 사업자: Cloudflare·Akamai·Fastly·AWS CloudFront·Google Cloud CDN. 한국에서는 KT·LG U+ 같은 통신사가 자체 CDN도 운영합니다. 최근에는 엣지 컴퓨팅 — 단순 캐싱을 넘어 엣지에서 코드까지 실행 — 까지 확장되어, Cloudflare Workers·Vercel Edge Functions 같은 형태로 응용됩니다.

CDN의 개념을 본문 안에서 다른 각도로 비춰 보는 편집형 일러스트.
FIG. 1CDN을 다른 각도에서 다시 봅니다.

비유로 보면

CDN은 같은 책을 전국의 도서관에 미리 한 권씩 복사해 두는 일과 비슷합니다. 모든 사람이 본사 도서관까지 가지 않고 동네 도서관에서 같은 책을 빌릴 수 있게 됩니다. 새 판이 나오면 모든 도서관의 책을 갱신해야 한다는 부담은 따라옵니다.

어디에서 만나나

모든 글로벌 콘텐츠 서비스(넷플릭스·유튜브·트위치), 이커머스의 이미지·CSS·JS, 모바일 앱 업데이트 배포, 라이브 스트리밍, 게임 패치 배포, 정적 사이트 호스팅(Netlify·Vercel은 CDN 위에 사이트를 올림). 사실상 모든 현대 웹 트래픽이 어떤 형태로든 CDN을 통과합니다.

작은 예시

한국에서 넷플릭스 영상을 보면 미국 본사 서버에서 직접 받아오는 게 아니라, 국내 통신사 IDC에 미리 캐싱된 CDN 엣지에서 받아옵니다. 그래서 첫 재생까지 1초도 안 걸리고 화질이 4K까지 매끄럽게 올라갑니다.

자주 하는 오해

오해
흔한 오해 둘. ① 'CDN은 큰 회사만 필요' — 작은 사이트도 무료~저렴한 CDN(Cloudflare 무료 플랜)을 켜기만 해도 속도·보안 둘 다 이득. ② 'CDN을 켜면 자동으로 빨라진다' — 캐시 정책·파일 버전 관리·캐시 무효화를 같이 설계해야 진짜 효과가 납니다.

한 줄 정리

CDN의 가치는 '거리를 줄이는' 일에 있습니다. 사용자가 어디 있든 가장 가까운 서버에서 응답을 받게 만드는, 가장 단순하면서도 효과 큰 인프라 결정입니다.
매주 월요일 오전 8시

한 주에 한 통,
오래 남는 이해를 보냅니다.

흘려보내지 않는 글만 골라 보내드립니다. 광고와 추적, 외부로 빠지는 미끼 링크 없이 메일 안에서 끝나는 한 통입니다.

언제든 한 번의 클릭으로 해지할 수 있습니다. 스팸은 보내지 않습니다.