
웹 서비스를 운영하다 보면 반드시 등장하는 개념이 있다.
CDN(Content Delivery Network)
처음 접하면 흔히 이렇게 생각한다.
- 이미지 저장 서버인가?
- URL만 바꾸면 CDN인가?
- 라이브에 올린 이미지가 CDN인가?
결론부터 말하면 모두 정확하지 않은 이해다
이 글에서는 CDN을 개념 → 구조 → 동작 원리 → 실무 구조 → 오해 정리 순서로 정리한다.
Chapter 1. CDN이란 무엇인가
CDN은 사용자에게 콘텐츠를 빠르게 전달하기 위해 분산된 서버 네트워크다
한 줄로 정리하면 가까운 서버에서 대신 전달한다
왜 필요한가
[한국 사용자] → [미국 서버] → 응답
- 거리 멀다
- 응답 느리다
- UX 나빠진다
CDN 적용 구조
[한국 사용자]
↓
[한국 CDN 서버]
↓ (필요 시)
[미국 Origin 서버]
- 가까운 서버에서 응답하기 때문에 속도가 빨라진다
Chapter 2. CDN이 해결하는 문제
1. 지연 시간(Latency)
서버가 멀면 무조건 느리다
CDN은 물리적 거리를 줄여 속도를 개선한다
2. 트래픽 분산
CDN이 없으면
모든 요청 → 원본 서버
→ 서버 부하 증가
CDN이 있으면
요청 → 여러 CDN 서버로 분산
→ 서버 안정성이 높아진다
3. 비용 절감
Origin 서버는 트래픽 비용이 높다
CDN은 비용 절감 효과가 있다
- 캐시를 활용해 반복 요청 처리
- 원본 서버 요청 감소
4. 보안
CDN은 단순 속도 기능이 아니라
- DDoS 방어
- HTTPS 처리
- WAF 제공
→ 보안 레이어 역할도 한다
Chapter 3. CDN 전체 구조
기본 구조
[사용자]
↓
[CDN Edge 서버]
↓
[Origin 서버]
구성 요소
1. Edge Server
- 사용자와 가까운 위치
- 캐시 데이터를 저장한다
2. Origin Server
- 실제 파일이 저장된 서버다
- 예:
- S3
- 서버 디렉토리
- 공유폴더
3. Cache
- CDN에 저장된 데이터다
- 반복 요청을 빠르게 처리한다
Chapter 4. CDN 동작 원리
요청 흐름
1. 사용자가 요청한다
https://cdn.example.com/image.png
2. CDN 서버가 캐시를 확인한다
- 있으면 → 바로 응답 (Cache Hit)
- 없으면 → 원본 요청 (Cache Miss)
3. 원본 서버에서 데이터를 가져온다
4. CDN이 데이터를 캐싱한다
5. 사용자에게 응답한다
핵심
→ 처음 요청은 느리고 이후는 빠르다
Chapter 5. Cache 전략 (실무 핵심)
Cache Hit / Miss
| 상태 | 의미 |
| Cache Hit | CDN에 데이터가 있다 |
| Cache Miss | CDN에 데이터가 없다 |
TTL (Time To Live)
캐시 유지 시간이다
예시
이미지: 24시간
API: 5분
TTL이 지나면 다시 원본 서버에서 가져온다
캐시 무효화 (Invalidation)
파일을 수정했는데 CDN에 이전 데이터가 남아있는 경우
→ 캐시를 강제로 삭제한다
Chapter 6. 실무에서 가장 많이 헷갈리는 부분
이 부분이 진짜 중요하다
CDN = 저장소인가?
→ 아니다
1. 파일 저장
Origin 서버 (S3 / 서버 / 공유폴더)
→ 실제 파일이 저장된 위치다
2. CDN 연결
cdn.example.com → origin 연결
3. 사용자 접근
https://cdn.example.com/image.png
핵심 정리
- CDN은 저장하지 않는다
- CDN은 전달을 최적화한다
흔한 오해
| 오해 | 실제 |
| CDN = 업로드 서버 | 아니다 |
| URL이 CDN이면 저장도 CDN | 아니다 |
| 라이브 업로드 = CDN | 아니다 |
Chapter 7. CDN vs 공유폴더 vs URL
비교
| 항목 | CDN | 공유폴더 | URL |
| 역할 | 전달 | 저장 | 접근 |
| 데이터 저장 | 안 한다 | 한다 | 안 한다 |
| 속도 영향 | 있다 | 없다 | 없다 |
정리
- 공유폴더 / S3 = 파일 저장
- CDN = 전달
- URL = 접근 경로
Chapter 8. 실무 아키텍처 예시
이미지 업로드 구조
[관리자 업로드]
↓
[S3 저장]
↓
[CDN 연결]
↓
[사용자 접근]
실제 흐름
- 이미지 업로드 → S3 저장
- CDN이 S3를 바라봄
- 사용자 요청 → CDN
- CDN → 캐시 또는 S3
핵심
→ “이미지 URL”은 CDN일 수도 있고 아닐 수도 있다
→ 중요한 건 어디를 바라보는 URL인지다
Chapter 9. 서비스 기획자 관점
이 부분이 실무에서 진짜 중요하다
반드시 고려해야 할 것
1. 캐시 정책
- 이미지 변경 시 즉시 반영 필요?
- TTL 얼마나 설정?
2. URL 설계
cdn.domain.com/image/v1/...
→ 버전 관리 중요하다
3. 배포 전략
- 캐시 무효화 필요?
- 파일명 변경 전략?
4. 비용
- CDN 트래픽 비용
- Origin 트래픽 감소 효과
Chapter 10. 한 줄 핵심 정리
→ CDN은 저장소가 아니다
→ CDN은 전달 최적화 레이어다
→ Origin이 실제 데이터다
→ CDN은 그걸 빠르게 전달한다
마무리
CDN은 단순한 성능 개선 도구가 아니라
- 서비스 안정성
- 비용 구조
- UX
- 보안
까지 영향을 주는 핵심 인프라다
특히 서비스 기획자 입장에서는
- 캐시 전략
- URL 구조
- 배포 방식
을 이해해야 문제 없는 서비스 설계가 가능하다
'CS' 카테고리의 다른 글
| Stateless vs Stateful (0) | 2026.05.10 |
|---|---|
| CDC(Change Data Capture) (0) | 2026.01.30 |
| 데이터 바인딩(Data Binding)이란 무엇인가 (0) | 2026.01.02 |
| CORS (Cross-Origin Resource Sharing) (0) | 2025.12.09 |
| API Gateway (API 게이트웨이) (0) | 2025.11.12 |