AWS Networking Services

Amazon CloudFront · CDN

사용자 가까운 엣지 로케이션에서 콘텐츠를 전달하고 오리진을 보호합니다

CloudFront는 사용자 요청을 지연 시간이 가장 낮은 엣지 로케이션으로 보내고, 캐시에 없으면 오리진에서 가져옵니다. 엣지와 AWS 리전 사이는 AWS 백본 네트워크로 연결됩니다. 캐시 정책, 접근 제어, WAF, 엣지 함수를 배포 단위로 설정합니다.

POP(엣지 로케이션), 50개 이상 국가 100개 이상 도시
750+
리전 엣지 캐시
15
통신사 네트워크 안의 임베디드 POP
1,140+
매월 무료 인터넷 데이터 전송(종량제 상시 무료 사용량)
1 TB

Customer challenges

고객이 겪는 과제

Latency

먼 지역 사용자의 느린 응답

오리진이 한 리전에만 있으면 멀리 있는 사용자의 요청은 여러 공용 네트워크를 거쳐 오리진까지 가야 합니다. 이미지, 스크립트, 영상처럼 반복 요청되는 콘텐츠도 매번 오리진에서 받아 페이지 로딩과 재생 시작이 늦어집니다.

Peak load

트래픽 피크 때 오리진 부하와 비용

신규 출시, 라이브 이벤트, 패치 배포 때 요청이 오리진으로 몰립니다. 피크에 맞춰 서버와 대역폭을 미리 늘려 두어야 하고, 평소에는 그 용량이 남습니다.

Exposure

인터넷에 직접 노출된 오리진

사용자가 오리진에 직접 접속하면 DDoS나 웹 공격도 오리진에 바로 도달합니다. 공격을 오리진 앞에서 거르려면 지역마다 보안 장비와 규칙을 따로 운영해야 합니다.

Benefits

왜 CloudFront를 쓰나요

Performance

지연 시간 감소

요청은 지연 시간이 가장 낮은 엣지 로케이션으로 라우팅되고, 캐시에 있으면 바로 응답합니다. 캐시에 없더라도 AWS 백본을 거쳐 오리진에 연결되어 거치는 네트워크 수가 줄어듭니다.

Offload

오리진 부하와 비용 감소

캐시 적중이 늘수록 오리진으로 가는 요청이 줄어듭니다. S3, ELB, API Gateway 같은 AWS 오리진에서 CloudFront로 가져오는 데이터 전송은 무료입니다.

Security

엣지에서 먼저 막는 보안

AWS WAF, AWS Shield, TLS, 서명된 URL/쿠키, 지역 제한을 엣지에서 적용합니다. OAC와 VPC 오리진으로 오리진을 CloudFront 뒤에 숨길 수 있습니다.

How it works

동작 방식

배포 하나에 오리진, 캐시 동작, 정책을 정의하면 CloudFront가 설정(콘텐츠가 아님)을 모든 엣지 로케이션에 배포합니다.

  1. 요청 흐름 — 엣지 로케이션 → 리전 엣지 캐시 → 오리진

    DNS가 요청을 가장 적합한 POP로 보내고, 캐시에 없으면 POP는 보통 가까운 리전 엣지 캐시를 확인한 뒤 오리진에 요청합니다. PUT, POST, PATCH, OPTIONS, DELETE 같은 프록시 메서드와 동적 요청은 리전 엣지 캐시를 거치지 않고 오리진으로 바로 갑니다.

  2. 캐시 키와 정책

    캐시 정책은 캐시 키에 넣을 헤더, 쿠키, 쿼리 문자열과 TTL을 정합니다. 오리진 요청 정책은 캐시 키에는 넣지 않고 오리진에만 전달할 값을 정하므로, 두 정책을 분리해 캐시 적중률을 유지합니다.

  3. 캐시 동작

    캐시 동작은 경로 패턴별로 어떤 오리진과 정책을 쓸지 정합니다. 기본 TTL은 24시간이고 최솟값은 0초입니다.

  4. 엣지 보안

    AWS WAF 웹 ACL을 배포에 연결해 요청이 오리진에 닿기 전에 차단합니다. S3는 OAC로, ALB·NLB·EC2는 VPC 오리진으로 CloudFront를 거쳐서만 접근하도록 제한합니다.

Key features

주요 기능

Cache policy · Origin request policy

캐시 키 구성과 TTL, 압축 객체 캐싱을 캐시 정책으로 관리합니다. 오리진에만 필요한 헤더, 쿠키, 쿼리 문자열은 오리진 요청 정책으로 따로 전달합니다. 두 정책 모두 AWS 관리형 정책을 제공합니다.

자세히 보기 →

Origin Access Control (OAC)

S3 오리진에 서명된 요청을 보내 버킷을 CloudFront로만 열어 둡니다. 모든 리전의 버킷, SSE-KMS, PUT·DELETE 요청을 지원하며 기존 OAI 대신 OAC 사용을 권장합니다.

자세히 보기 →

CloudFront Functions · Lambda@Edge

CloudFront Functions는 캐시 키 정규화, 헤더 조작, URL 재작성, JWT 검증 같은 가벼운 작업을 뷰어 단계에서 처리합니다. 네트워크 호출, 외부 라이브러리, 요청 본문 접근이 필요하면 Lambda@Edge를 씁니다.

자세히 보기 →

Origin Shield

리전 엣지 캐시 앞에 캐시 계층을 하나 더 두어 같은 객체 요청을 모아 오리진에 보냅니다. 오리진과 지연 시간이 가장 낮은 리전을 골라 오리진별로 켜며, 별도 요금이 붙습니다.

자세히 보기 →

Continuous deployment

스테이징 배포와 지속적 배포 정책으로 실제 트래픽 일부를 새 설정에 보내 검증합니다. 문제가 없으면 기본 배포로 승격합니다.

자세히 보기 →

AWS WAF 통합

콘솔의 원클릭 보호는 웹 ACL을 만들고 OWASP Top 10 등 일반 위협 방어 규칙을 배포에 연결합니다. 직접 만든 웹 ACL을 연결할 수도 있습니다.

자세히 보기 →

Mutual TLS (viewer · origin) 신규 2025-11

뷰어 mTLS는 엣지에서 클라이언트 X.509 인증서를 트러스트 스토어로 검증하며 Required, Optional, Passthrough 모드를 지원합니다. 2026년 2월부터 오리진 mTLS로 오리진이 자기 배포의 요청만 받도록 할 수 있습니다.

자세히 보기 →

Cache tag invalidation

오리진이 응답 헤더로 붙인 태그를 기준으로 경로와 상관없이 관련 객체를 한 번에 무효화합니다. 배포에 CacheTagConfig를 설정해야 하며 객체당 태그는 최대 50개입니다.

자세히 보기 →

Lambda Web Functions origin 신규 2026-10

AWS Lambda Web Functions를 CloudFront 오리진으로 설정해 웹 애플리케이션을 엣지 네트워크로 전달합니다. OAC를 적용하면 Lambda Web Function은 CloudFront를 통해서만 접근할 수 있고, 기존 인증 흐름도 그대로 동작합니다. 추가 비용은 없습니다.

자세히 보기 →

Compare

CloudFront Functions vs Lambda@Edge

항목CloudFront FunctionsLambda@Edge
언어JavaScript (ECMAScript 5.1 호환)Node.js, Python
이벤트뷰어 요청, 뷰어 응답뷰어 요청/응답, 오리진 요청/응답
규모초당 수백만 요청까지리전당 초당 10,000 요청까지
실행 시간1ms 미만최대 30초
최대 메모리2 MB128 MB(뷰어), 10,240 MB(오리진)
코드 크기10 KB50 MB
네트워크 · 파일 시스템 · 요청 본문지원하지 않음지원
KeyValueStore지원 (JavaScript runtime 2.0)지원하지 않음
위치·디바이스 데이터지원오리진 이벤트에서만 지원

Use cases

사용 사례

Reference architecture

레퍼런스 아키텍처

정적 사이트 — S3 + OAC

사용자 요청이 CloudFront를 거쳐 S3 bucket으로 가는 정적 웹사이트 흐름
AWS 문서의 보안 정적 웹사이트 예시입니다. 그림에는 표기되지 않았지만 문서의 구성은 OAC로 S3 접근을 제한합니다. 출처: AWS 공식 문서

S3 버킷을 비공개로 두고 OAC로 CloudFront만 버킷에 접근하게 합니다. 콘솔에서 권장 오리진 설정을 고르면 OAC와 버킷 정책이 자동으로 설정되고, 생성 단계에서 AWS WAF 보호를 켤 수 있습니다. S3 웹사이트 엔드포인트는 OAC를 쓸 수 없으므로 REST 엔드포인트를 오리진으로 씁니다.

자세히 보기 →

동적 애플리케이션 — 프라이빗 서브넷의 ALB + VPC 오리진 + WAF

CloudFront가 VPC origin으로 두 리전의 private subnet ALB와 EC2에 연결하는 구성
같은 VPC 오리진 구성(CloudFront → VPC 오리진 → 프라이빗 서브넷의 ALB)을 두 리전에 적용한 AWS 블로그 예시입니다. WAF는 그림에 없습니다. 출처: AWS 공식 블로그

ALB를 프라이빗 서브넷에 두고 VPC 오리진으로 연결해 CloudFront를 유일한 진입점으로 만듭니다. 오리진 보안 그룹은 CloudFront 관리형 접두사 목록이나 CloudFront-VPCOrigins-Service-SG에서 오는 트래픽만 허용합니다. 배포에 WAF 웹 ACL을 연결해 엣지에서 요청을 거릅니다.

자세히 보기 →

Customer stories

고객 사례

PBS

미디어 · 방송

PBS Interactive는 스트리밍 영상 대부분을 CloudFront로 전달하며, iPhone·iPad 앱용 모바일 영상도 CloudFront로 제공합니다.

사례 보기

JioSaavn

음악 스트리밍

인도 음악 스트리밍 서비스 JioSaavn은 CloudFront로 전 세계 고객에게 음악과 영상을 매일 15 PB 전달합니다.

사례 보기

Supercell

모바일 게임

Supercell은 CloudFront, ElastiCache, API Gateway, Lambda로 동적 웹 콘텐츠를 전 세계에 전달하고, 엣지 로케이션을 활용해 지연 시간을 줄입니다.

사례 보기

Pricing

비용 항목

배포별로 종량제 또는 고정 요금제를 선택합니다. 종량제는 데이터 전송량과 요청 수 중심으로 과금하고, 고정 요금제는 CDN·WAF·DDoS 방어·Route 53 DNS 등을 묶어 월 고정 요금으로 과금하며 초과 요금이 없습니다.

인터넷 데이터 전송 (DTO)
엣지에서 뷰어로 나가는 데이터를 지역별 구간 요금으로 과금합니다. AWS 오리진에서 CloudFront로 가져오는 전송은 무료입니다.
origin 방향 데이터 전송
POST, PUT 등 CloudFront에서 오리진으로 보내는 데이터를 지역별로 과금합니다.
HTTP/HTTPS 요청
요청 수를 지역별로 과금합니다.
부가 기능
무효화(매월 첫 1,000개 경로·태그 이후), 실시간 로그, CloudFront Functions, KeyValueStore, Lambda@Edge, Origin Shield, 필드 수준 암호화, 전용 IP SSL, Anycast 고정 IP, 배포 테넌트는 기능별로 따로 과금합니다.
상시 무료 사용량
매월 인터넷 데이터 전송 1 TB, HTTP/HTTPS 요청 1,000만 건, CloudFront Functions 호출 200만 건, KeyValueStore 읽기 200만 건, 배포 테넌트 10개가 무료입니다.
Flat-rate pricing plan
Free, Pro, Business, Premium 플랜이 있고 플랜마다 요청 수·데이터 전송 사용량 기준과 S3 스토리지 크레딧이 정해져 있습니다. 사용량 기준은 하드 리밋이 아니며 초과 요금은 없습니다. WAF가 차단한 요청과 DDoS 공격 트래픽은 사용량에 포함되지 않습니다.
CloudFront Security Savings Bundle
1년 기간 월 사용 금액을 약정하면 최대 30%를 절감하며, 약정 금액의 10%까지 AWS WAF 사용이 포함됩니다.

What's new

최근 업데이트

  • VPC 오리진에서 듀얼 스택(IPv6) 지원

    VPC 오리진을 듀얼 스택으로 구성하면 CloudFront에서 프라이빗 서브넷의 ALB, NLB, EC2까지 엔드투엔드 IPv6 전달이 가능합니다. 오리진을 퍼블릭으로 노출하지 않고도 IPv6 아키텍처 및 규제 요건을 충족할 수 있습니다.

  • AWS Lambda Web Functions를 CloudFront 오리진으로 지원

    Lambda Web Functions를 CloudFront 오리진으로 설정하면 엣지에서 TLS 종료, 캐싱, 사용자 지정 도메인을 적용할 수 있습니다. OAC로 Lambda Web Function에 대한 직접 접근을 차단하고 WAF를 연결할 수 있으며, 추가 비용은 없습니다.

  • Mutual TLS (viewer · origin)

    뷰어 mTLS는 엣지에서 클라이언트 X.509 인증서를 트러스트 스토어로 검증하며 Required, Optional, Passthrough 모드를 지원합니다. 2026년 2월부터 오리진 mTLS로 오리진이 자기 배포의 요청만 받도록 할 수 있습니다.

Getting started

시작하기

  1. 오리진과 접근 경로 정하기

    S3는 OAC, ALB·NLB·EC2는 VPC 오리진을 우선 검토해 오리진을 직접 노출하지 않습니다. VPC 오리진은 gRPC와 Lambda@Edge 오리진 트리거를 지원하지 않으니 요구 사항과 맞는지 확인합니다.

  2. 캐시 동작과 정책 나누기

    정적 경로와 API 경로를 캐시 동작으로 나누고 각각 캐시 정책과 오리진 요청 정책을 붙입니다. 캐시 키에는 꼭 필요한 값만 넣어 캐시 적중률을 높입니다.

  3. 엣지 보안 적용

    AWS WAF 웹 ACL, HTTPS 강제, 지역 제한, 서명된 URL/쿠키 필요 여부를 정합니다. 클라이언트 인증이 필요하면 뷰어 mTLS를 검토합니다.

  4. 엣지 로직과 오리진 보호 계층 선택

    헤더·URL 처리 같은 가벼운 작업은 CloudFront Functions, 외부 호출이 필요하면 Lambda@Edge를 씁니다. 여러 지역 사용자가 같은 오리진을 많이 호출하면 Origin Shield를 검토합니다.

  5. 배포·운영과 요금 모델 정하기

    설정 변경은 지속적 배포로 일부 트래픽에서 먼저 검증합니다. 사용량 패턴에 따라 종량제와 고정 요금제 중 하나를 고르며, 고정 요금제는 지속적 배포와 실시간 로그를 지원하지 않습니다.

Next steps

다음 단계

고정 요금제 검토

CDN, WAF, DDoS 방어, Route 53 DNS를 묶은 Free, Pro, Business, Premium 플랜과 사용량 기준을 확인하고, 미지원 기능이 요구 사항에 있는지 봅니다.

대표 서비스 하나로 PoC 진행

트래픽이 많은 도메인 하나에 배포를 붙여 캐시 적중률, 응답 시간, 오리진 요청 수 변화를 측정합니다. 측정 결과로 캐시 동작과 정책을 조정합니다.

Resources

참고 자료

이 페이지는 아래 AWS 공식 자료를 바탕으로 정리했습니다. 마지막 갱신 2026-10-17.