AWS

AWS 클라우드 따라잡기 14장

CloudFront와 엣지 — 글로벌 콘텐츠 전송(CDN)

이번 장은 CloudFront를 다룬다.

AWS 14장 개념도

CloudFront는 AWS의 CDN(Content Delivery Network)이다.

전 세계 사용자에게 콘텐츠를 빠르게 전달하는 것이 목적이다.

이 장의 목표는 다음과 같다.

  • CDN이 왜 필요한지 이해한다.
  • 엣지 로케이션과 캐싱을 안다.
  • CloudFront로 보안과 성능을 함께 얻는다.

1. CDN이 필요한 이유

서버가 서울에 있고 사용자가 미국에 있다면, 요청이 태평양을 왕복해야 한다.

거리가 멀수록 지연이 커진다.

CDN은 전 세계에 흩어진 캐시 서버(엣지)에 콘텐츠를 복제해 둔다.

사용자는 가장 가까운 엣지에서 콘텐츠를 받으므로 훨씬 빠르다.

2. 엣지 로케이션과 캐싱

엣지 로케이션(Edge Location)은 CloudFront의 캐시 서버가 있는 지점이다.

전 세계 수백 곳에 있으며, 리전보다 훨씬 촘촘하다.

동작은 이렇다.

  1. 사용자가 콘텐츠를 요청한다.
  2. 가까운 엣지에 캐시가 있으면(cache hit) 즉시 준다.
  3. 없으면(cache miss) 원본(오리진)에서 가져와 캐시하고 전달한다.

이후 같은 요청은 엣지가 바로 응답하므로 오리진 부하가 크게 줄어든다.

3. 오리진과 OAC

오리진(Origin)은 원본 콘텐츠가 있는 곳이다. S3 버킷이나 ALB가 흔하다.

S3를 오리진으로 쓸 때는 OAC(Origin Access Control)를 쓴다.

  • S3 버킷을 직접 공개하지 않는다.
  • 오직 CloudFront만 S3에 접근하도록 제한한다.
  • 사용자는 CloudFront를 통해서만 콘텐츠를 받는다.

5장에서 본 "S3 + CloudFront" 조합이 바로 이것이다.

4. 보안과 성능 기능

CloudFront는 단순 캐시를 넘어선다.

  • HTTPS: 무료 인증서(ACM)로 암호화 전송.
  • WAF 연동: 웹 공격을 엣지에서 차단.
  • Shield: DDoS 방어.
  • Lambda@Edge / CloudFront Functions: 엣지에서 요청을 가공(리다이렉트, 헤더 조작 등).

정적 파일뿐 아니라 동적 API도 CloudFront 뒤에 두면 지연과 보안이 개선된다.

정리

  • CloudFront는 엣지에 콘텐츠를 캐시해 전 세계에 빠르게 전달한다.
  • cache hit면 엣지가 즉시 응답해 오리진 부하가 준다.
  • S3 오리진은 OAC로 CloudFront만 접근하게 막는다.
  • HTTPS·WAF·Shield·엣지 함수로 보안과 성능을 함께 얻는다.

다음 장에서는 VPC를 넘어선 네트워킹 심화 주제를 다룬다.

댓글 0