Amazon CloudFront

도은호·2025년 10월 29일
0

AWS SAA

목록 보기
44/46

CloudFront전 세계 엣지 로케이션에서 콘텐츠를 캐싱해 지연을 낮추고 트래픽 피크를 흡수하는 AWS의 CDN(Content Delivery Network) 입니다. S3/ALB/API Gateway 등 원본(Origin) 앞에 두고 보안·성능·비용을 동시에 잡습니다.


무엇을 해주나?

  • 글로벌 캐시: 정적(이미지/JS/CSS/영상) + 동적(SSR/API) 모두 가속
  • 프로토콜 최적화: HTTP/2, HTTP/3(QUIC), gzip/Brotli 압축
  • 보안: TLS, WAF 연동, AWS Shield, 서명 URL/쿠키, Origin Access Control(OAC)
  • 유연한 제어: Cache Policy / Origin Request Policy / Response Headers Policy 로 캐시 키와 원본 전달 헤더·쿠키·쿼리를 세밀 제어
  • 관측/운영: 표준/실시간 로그, 오리진 장애 시 Origin Failover, 커스텀 에러 페이지

핵심 구성요소

  • Distribution: 배포 단위(도메인 xxxx.cloudfront.net 발급)
  • Origin: S3, ALB/NLB/EC2, API Gateway, MediaPackage 등
  • Behavior: 경로별 룰(예: /api/*는 동적, /static/*은 장기 캐시)
  • OAC(Origin Access Control): S3 원본을 프라이빗으로 잠그고 CloudFront만 접근(과거 OAI의 개선판)

엣지 컴퓨팅 2종(언제 무엇?)

  • CloudFront Functions

    • 초저지연(마이크로초~ms), 뷰어 요청/응답 단계에서 경량 JS 실행
    • URL 리라이트/리다이렉트, A/B, Bot 차단, 헤더 조작 등 가벼운 논리
  • Lambda@Edge

    • 더 강력한 런타임(Node.js/Python), 오리진 요청/응답 단계까지
    • 인증/권한, SSR 프리렌더, 퍼스널라이제이션 등 복잡 로직

보안 옵션(필수 포인트)

  • OAC + S3: S3를 Public 차단, CloudFront만 서명된 요청으로 읽게 함
  • Signed URL/ Cookie: 유료 컨텐츠 토큰 기반 접근 제어
  • WAF: IP/Geo/레이트 리미트/시그니처 룰로 L7 방어
  • Geo Restriction: 국가별 차단/허용
  • Field-Level Encryption: 민감 헤더를 엣지에서 공개키로 암호화

캐시 제어(실무 핵심)

  • Cache Policy: 캐시 키 정의(쿼리/헤더/쿠키 중 무엇을 포함?)
  • Origin Request Policy: 원본에 어떤 헤더/쿠키/쿼리를 전달?
  • Response Headers Policy: 캐시·보안 헤더 일괄 추가(HSTS, CORS, CSP 등)
  • TTL 전략: min/max/default TTL + 원본의 Cache-Control/Expires
  • 무효화(Invalidation): /* 전체 무효화는 비용↑ → 버전드 경로(/app.v123/…)로 배포 권장

비용 감각

  • 전송량(리전별 단가) + 요청 수 + (옵션) 실시간 로그, 함수 실행
  • Price Class: 북미·유럽만 / 주요 지역 / 전 세계 선택해 비용 최적화
  • 캐시 적중률↑ = 원본 비용↓(S3/ALB) + 전송 거리 단축

빠른 시작(요약)

  1. Origin 준비: S3 버킷(퍼블릭 차단) 또는 ALB

  2. CloudFront Distribution 생성

    • Origin 등록(+ S3면 OAC 생성/연결, 버킷 정책 자동 적용)
    • 기본 Behavior: 정적은 장기 TTL, 동적은 짧은 TTL/캐시 키 축소
  3. 도메인 연결: Route 53에서 ALIAS → CloudFront

  4. (선택) WAF 연결, Functions/Lambda@Edge 배치

  5. 로그/실시간 로그로 캐시율·오류 모니터링


자주 쓰는 패턴

  • S3 정적 웹 + OAC + ALIAS: 안전하고 빠른 정적 사이트
  • ALB/API Gateway 앞단 캐시: API 응답 캐싱·헤더 정리로 TPS/지연 개선
  • 이미지/동영상 최적화: 엣지에서 포맷 전환(서드파티 람다/이미지 프록시) + 장기 캐시
  • Next.js/SSR 가속: 동적 경로는 짧은 TTL + 쿠키 제한, 정적 경로는 버전드 캐시

시험/면접 포인트(암기)

  • CloudFront는 CDN, ALB는 L7 로드밸런서(역할 다름)
  • S3 원본은 OAC로 잠그기(OAI보다 신형 권장)
  • Signed URL/쿠키로 유료 컨텐츠 보호
  • Cache/Origin Request/Response Headers Policy 3종 역할 구분
  • Invalidations 비용 고려 → 버전드 파일명 전략

30초 요약

  • CloudFront = 글로벌 CDN: 엣지 캐시로 성능↑·비용↓
  • OAC·WAF·서명 URL보안 강화, Functions/Lambda@Edge엣지 로직
  • 정적+동적 모두 가속하며, 정책 3종으로 캐시 키와 원본 전달을 정교하게 제어합니다.

CloudFront를 가장 많이 쓰는 대표 상황

  1. S3 정적 웹/SPA 배포
    S3를 원본으로 하고 OAC로 프라이빗 잠그고, Route 53 ALIAS로 전 세계 캐시 배포.

  2. Next.js/SSR 가속
    페이지는 짧은 TTL·쿠키 최소화, 정적 자산은 장기 캐시·버전드 경로. ISR/이미지 최적화와 궁합 좋음.

  3. API 앞단 캐싱/보안
    ALB/API Gateway를 원본으로 두고 idempotent GET 캐싱, WAF로 레이트리밋/시그니처 룰 적용.

  4. 이미지/썸네일·포맷 변환
    Lambda@Edge/Functions로 리사이즈·WebP/AVIF 전환, 경로 규칙별 TTL 분리.

  5. 동영상 스트리밍(CDN 캐시)
    HLS/DASH 세그먼트 캐싱, Signed URL/Cookie로 유료 콘텐츠 보호, 오리진 부하↓.

  6. 대용량 파일/소프트웨어 업데이트 배포
    범위 요청(range)·장기 캐시로 다운로드 가속, 서명 링크로 유출 방지.

  7. 지리 기반 제어/현지화
    Geo Restriction으로 국가별 차단/허용, 헤더로 지역 감지해 엣지에서 리다이렉트/AB 테스트.

  8. 가용성 강화(Origin Failover)
    주 오리진 장애 시 백업 오리진으로 자동 전환, 정적/동적 모두 다운타임 최소화.

profile
`•.¸¸.•´´¯`••._.• 🎀 𝒸𝓇𝒶𝓏𝓎 𝓅𝓈𝓎𝒸𝒽💞𝓅𝒶𝓉𝒽 🎀 •._.••`¯´´•.¸¸.•`

0개의 댓글