
웹 개발을 하다 보면 꼭 등장하는 단어 중 하나가 있습니다.
바로 CDN 입니다.
하지만 막상 “CDN이 뭐야?”라고 물어보면,
“음… 캐시 서버 같은 건데… 빠르게 해주는 거야” 정도로만 설명하는 경우가 많습니다.
오늘은 CDN이 정확히 뭘 하는지, 왜 필요한지, 그리고 우리가 CDN을 쓰면 어떻게 달라지는지 정리해보겠습니다.
1. CDN이란?
CDN(Content Delivery Network) 은 전 세계 여러 지역에 분산된 캐시 서버 네트워크예요.
- 사용자가 웹사이트에 접속할 때,
매번 한국(서울) 서버까지 왕복하지 않고,
가장 가까운 CDN 서버에서 파일을 받을 수 있게 도와줍니다.
👉 쉽게 말해, “멀리 있는 본점 대신 동네 편의점에서 물건을 받는 것” 이라고 생각하면 이해하기 쉬워요.
2. 왜 CDN이 필요한가?
(1) 빠른 속도 🚀
- 사용자가 미국에서 접속하는데, 서버가 서울에만 있다면?
- 왕복 거리가 멀어져서 느려집니다.
- CDN은 미국에도 서버(엣지)가 있기 때문에 가까운 곳에서 바로 전달해줍니다.
(2) 서버 부하 감소 ⚖️
- 매번 원 서버가 파일을 내려주면 부하가 큼.
- CDN이 대신 응답해주니까 원 서버의 부담이 줄어듭니다.
(3) 글로벌 서비스 🌍
- 사용자가 어디에 있든 비슷한 속도로 서비스 제공 가능.
(4) 보안 🔒
- AWS CloudFront 같은 CDN은 DDoS 방어, WAF(Web Application Firewall) 기능도 제공.
- 원 서버(Origin)의 IP를 숨길 수도 있어서 보안에도 유리합니다.
(5) 비용 절감 💰
- 자주 쓰는 파일(JS, CSS, 이미지)을 CDN 캐시에서 제공하면
- S3나 서버에서 불필요하게 반복 전송하지 않아도 돼서 트래픽 비용이 줄어듭니다.
3. 어떻게 동작할까?
- 사용자가
https://app.myservice.com 에 접속
- CDN(CloudFront) 가 가장 가까운 엣지 서버에서 콘텐츠 전달
- 캐시에 없으면 → Origin 서버(S3, API)에서 가져와 저장 후 응답
- 다음 요청부터는 캐시 HIT → 더 빠른 속도
4. 정리
CDN은 단순히 “빠르게 해주는 것”이 아니라,
- 속도 향상
- 서버 부하 감소
- 글로벌 품질 보장
- 보안 강화
- 비용 절감
까지 함께 챙겨주는, 웹 서비스 필수 인프라입니다.
💡 결론:
- 정적 자원은 반드시 CDN을 타도록!
- 동적 자원도 경우에 따라 CDN을 경유해 보안과 관리 효율을 챙길 수 있음.
출처: https://velog.io/@youngblue/CDN%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80