Latency
먼 지역 사용자의 느린 응답
오리진이 한 리전에만 있으면 멀리 있는 사용자의 요청은 여러 공용 네트워크를 거쳐 오리진까지 가야 합니다. 이미지, 스크립트, 영상처럼 반복 요청되는 콘텐츠도 매번 오리진에서 받아 페이지 로딩과 재생 시작이 늦어집니다.
Amazon CloudFront · CDN
CloudFront는 사용자 요청을 지연 시간이 가장 낮은 엣지 로케이션으로 보내고, 캐시에 없으면 오리진에서 가져옵니다. 엣지와 AWS 리전 사이는 AWS 백본 네트워크로 연결됩니다. 캐시 정책, 접근 제어, WAF, 엣지 함수를 배포 단위로 설정합니다.
Customer challenges
Latency
오리진이 한 리전에만 있으면 멀리 있는 사용자의 요청은 여러 공용 네트워크를 거쳐 오리진까지 가야 합니다. 이미지, 스크립트, 영상처럼 반복 요청되는 콘텐츠도 매번 오리진에서 받아 페이지 로딩과 재생 시작이 늦어집니다.
Peak load
신규 출시, 라이브 이벤트, 패치 배포 때 요청이 오리진으로 몰립니다. 피크에 맞춰 서버와 대역폭을 미리 늘려 두어야 하고, 평소에는 그 용량이 남습니다.
Exposure
사용자가 오리진에 직접 접속하면 DDoS나 웹 공격도 오리진에 바로 도달합니다. 공격을 오리진 앞에서 거르려면 지역마다 보안 장비와 규칙을 따로 운영해야 합니다.
Benefits
Performance
요청은 지연 시간이 가장 낮은 엣지 로케이션으로 라우팅되고, 캐시에 있으면 바로 응답합니다. 캐시에 없더라도 AWS 백본을 거쳐 오리진에 연결되어 거치는 네트워크 수가 줄어듭니다.
Offload
캐시 적중이 늘수록 오리진으로 가는 요청이 줄어듭니다. S3, ELB, API Gateway 같은 AWS 오리진에서 CloudFront로 가져오는 데이터 전송은 무료입니다.
Security
AWS WAF, AWS Shield, TLS, 서명된 URL/쿠키, 지역 제한을 엣지에서 적용합니다. OAC와 VPC 오리진으로 오리진을 CloudFront 뒤에 숨길 수 있습니다.
How it works
배포 하나에 오리진, 캐시 동작, 정책을 정의하면 CloudFront가 설정(콘텐츠가 아님)을 모든 엣지 로케이션에 배포합니다.
DNS가 요청을 가장 적합한 POP로 보내고, 캐시에 없으면 POP는 보통 가까운 리전 엣지 캐시를 확인한 뒤 오리진에 요청합니다. PUT, POST, PATCH, OPTIONS, DELETE 같은 프록시 메서드와 동적 요청은 리전 엣지 캐시를 거치지 않고 오리진으로 바로 갑니다.
캐시 정책은 캐시 키에 넣을 헤더, 쿠키, 쿼리 문자열과 TTL을 정합니다. 오리진 요청 정책은 캐시 키에는 넣지 않고 오리진에만 전달할 값을 정하므로, 두 정책을 분리해 캐시 적중률을 유지합니다.
캐시 동작은 경로 패턴별로 어떤 오리진과 정책을 쓸지 정합니다. 기본 TTL은 24시간이고 최솟값은 0초입니다.
AWS WAF 웹 ACL을 배포에 연결해 요청이 오리진에 닿기 전에 차단합니다. S3는 OAC로, ALB·NLB·EC2는 VPC 오리진으로 CloudFront를 거쳐서만 접근하도록 제한합니다.
Key features
캐시 키 구성과 TTL, 압축 객체 캐싱을 캐시 정책으로 관리합니다. 오리진에만 필요한 헤더, 쿠키, 쿼리 문자열은 오리진 요청 정책으로 따로 전달합니다. 두 정책 모두 AWS 관리형 정책을 제공합니다.
자세히 보기 →S3 오리진에 서명된 요청을 보내 버킷을 CloudFront로만 열어 둡니다. 모든 리전의 버킷, SSE-KMS, PUT·DELETE 요청을 지원하며 기존 OAI 대신 OAC 사용을 권장합니다.
자세히 보기 →CloudFront Functions는 캐시 키 정규화, 헤더 조작, URL 재작성, JWT 검증 같은 가벼운 작업을 뷰어 단계에서 처리합니다. 네트워크 호출, 외부 라이브러리, 요청 본문 접근이 필요하면 Lambda@Edge를 씁니다.
자세히 보기 →리전 엣지 캐시 앞에 캐시 계층을 하나 더 두어 같은 객체 요청을 모아 오리진에 보냅니다. 오리진과 지연 시간이 가장 낮은 리전을 골라 오리진별로 켜며, 별도 요금이 붙습니다.
자세히 보기 →스테이징 배포와 지속적 배포 정책으로 실제 트래픽 일부를 새 설정에 보내 검증합니다. 문제가 없으면 기본 배포로 승격합니다.
자세히 보기 →콘솔의 원클릭 보호는 웹 ACL을 만들고 OWASP Top 10 등 일반 위협 방어 규칙을 배포에 연결합니다. 직접 만든 웹 ACL을 연결할 수도 있습니다.
자세히 보기 →뷰어 mTLS는 엣지에서 클라이언트 X.509 인증서를 트러스트 스토어로 검증하며 Required, Optional, Passthrough 모드를 지원합니다. 2026년 2월부터 오리진 mTLS로 오리진이 자기 배포의 요청만 받도록 할 수 있습니다.
자세히 보기 →오리진이 응답 헤더로 붙인 태그를 기준으로 경로와 상관없이 관련 객체를 한 번에 무효화합니다. 배포에 CacheTagConfig를 설정해야 하며 객체당 태그는 최대 50개입니다.
자세히 보기 →AWS Lambda Web Functions를 CloudFront 오리진으로 설정해 웹 애플리케이션을 엣지 네트워크로 전달합니다. OAC를 적용하면 Lambda Web Function은 CloudFront를 통해서만 접근할 수 있고, 기존 인증 흐름도 그대로 동작합니다. 추가 비용은 없습니다.
자세히 보기 →Compare
| 항목 | CloudFront Functions | Lambda@Edge |
|---|---|---|
| 언어 | JavaScript (ECMAScript 5.1 호환) | Node.js, Python |
| 이벤트 | 뷰어 요청, 뷰어 응답 | 뷰어 요청/응답, 오리진 요청/응답 |
| 규모 | 초당 수백만 요청까지 | 리전당 초당 10,000 요청까지 |
| 실행 시간 | 1ms 미만 | 최대 30초 |
| 최대 메모리 | 2 MB | 128 MB(뷰어), 10,240 MB(오리진) |
| 코드 크기 | 10 KB | 50 MB |
| 네트워크 · 파일 시스템 · 요청 본문 | 지원하지 않음 | 지원 |
| KeyValueStore | 지원 (JavaScript runtime 2.0) | 지원하지 않음 |
| 위치·디바이스 데이터 | 지원 | 오리진 이벤트에서만 지원 |
Use cases
이미지, CSS, JavaScript 같은 정적 콘텐츠를 S3에 두고 CloudFront로 전 세계에 전달합니다. OAC로 버킷 직접 접근을 막습니다.
AWS 문서에서 보기 ↗캐시하지 않는 동적 요청과 API 호출도 엣지에서 TLS를 종료하고 AWS 글로벌 네트워크로 오리진까지 전달합니다. gRPC와 WebSocket을 지원합니다.
AWS 제품 페이지에서 보기 ↗MPEG DASH, Apple HLS, CMAF 등으로 패키징한 영상을 HTTP 오리진에서 받아 전달합니다. AWS Elemental MediaConvert, MediaPackage 같은 AWS Media Services와 함께 씁니다.
AWS 문서에서 보기 ↗대용량 설치 파일, 게임 패치, IoT 기기의 OTA 업데이트를 엣지 캐시에서 내려보내 배포 시점의 오리진 부하를 줄입니다.
AWS 제품 페이지에서 보기 ↗Reference architecture
S3 버킷을 비공개로 두고 OAC로 CloudFront만 버킷에 접근하게 합니다. 콘솔에서 권장 오리진 설정을 고르면 OAC와 버킷 정책이 자동으로 설정되고, 생성 단계에서 AWS WAF 보호를 켤 수 있습니다. S3 웹사이트 엔드포인트는 OAC를 쓸 수 없으므로 REST 엔드포인트를 오리진으로 씁니다.
자세히 보기 →
ALB를 프라이빗 서브넷에 두고 VPC 오리진으로 연결해 CloudFront를 유일한 진입점으로 만듭니다. 오리진 보안 그룹은 CloudFront 관리형 접두사 목록이나 CloudFront-VPCOrigins-Service-SG에서 오는 트래픽만 허용합니다. 배포에 WAF 웹 ACL을 연결해 엣지에서 요청을 거릅니다.
자세히 보기 →Customer stories
미디어 · 방송
PBS Interactive는 스트리밍 영상 대부분을 CloudFront로 전달하며, iPhone·iPad 앱용 모바일 영상도 CloudFront로 제공합니다.
사례 보기음악 스트리밍
인도 음악 스트리밍 서비스 JioSaavn은 CloudFront로 전 세계 고객에게 음악과 영상을 매일 15 PB 전달합니다.
사례 보기모바일 게임
Supercell은 CloudFront, ElastiCache, API Gateway, Lambda로 동적 웹 콘텐츠를 전 세계에 전달하고, 엣지 로케이션을 활용해 지연 시간을 줄입니다.
사례 보기Pricing
배포별로 종량제 또는 고정 요금제를 선택합니다. 종량제는 데이터 전송량과 요청 수 중심으로 과금하고, 고정 요금제는 CDN·WAF·DDoS 방어·Route 53 DNS 등을 묶어 월 고정 요금으로 과금하며 초과 요금이 없습니다.
What's new
VPC 오리진을 듀얼 스택으로 구성하면 CloudFront에서 프라이빗 서브넷의 ALB, NLB, EC2까지 엔드투엔드 IPv6 전달이 가능합니다. 오리진을 퍼블릭으로 노출하지 않고도 IPv6 아키텍처 및 규제 요건을 충족할 수 있습니다.
Lambda Web Functions를 CloudFront 오리진으로 설정하면 엣지에서 TLS 종료, 캐싱, 사용자 지정 도메인을 적용할 수 있습니다. OAC로 Lambda Web Function에 대한 직접 접근을 차단하고 WAF를 연결할 수 있으며, 추가 비용은 없습니다.
뷰어 mTLS는 엣지에서 클라이언트 X.509 인증서를 트러스트 스토어로 검증하며 Required, Optional, Passthrough 모드를 지원합니다. 2026년 2월부터 오리진 mTLS로 오리진이 자기 배포의 요청만 받도록 할 수 있습니다.
Getting started
S3는 OAC, ALB·NLB·EC2는 VPC 오리진을 우선 검토해 오리진을 직접 노출하지 않습니다. VPC 오리진은 gRPC와 Lambda@Edge 오리진 트리거를 지원하지 않으니 요구 사항과 맞는지 확인합니다.
정적 경로와 API 경로를 캐시 동작으로 나누고 각각 캐시 정책과 오리진 요청 정책을 붙입니다. 캐시 키에는 꼭 필요한 값만 넣어 캐시 적중률을 높입니다.
AWS WAF 웹 ACL, HTTPS 강제, 지역 제한, 서명된 URL/쿠키 필요 여부를 정합니다. 클라이언트 인증이 필요하면 뷰어 mTLS를 검토합니다.
헤더·URL 처리 같은 가벼운 작업은 CloudFront Functions, 외부 호출이 필요하면 Lambda@Edge를 씁니다. 여러 지역 사용자가 같은 오리진을 많이 호출하면 Origin Shield를 검토합니다.
설정 변경은 지속적 배포로 일부 트래픽에서 먼저 검증합니다. 사용량 패턴에 따라 종량제와 고정 요금제 중 하나를 고르며, 고정 요금제는 지속적 배포와 실시간 로그를 지원하지 않습니다.
Next steps
S3 버킷과 OAC를 쓰는 표준 배포를 콘솔에서 만들어 보고 동작을 확인합니다.
CDN, WAF, DDoS 방어, Route 53 DNS를 묶은 Free, Pro, Business, Premium 플랜과 사용량 기준을 확인하고, 미지원 기능이 요구 사항에 있는지 봅니다.
지역별 데이터 전송량과 요청 수를 넣어 월 비용을 추정하고 고정 요금제와 비교합니다.
트래픽이 많은 도메인 하나에 배포를 붙여 캐시 적중률, 응답 시간, 오리진 요청 수 변화를 측정합니다. 측정 결과로 캐시 동작과 정책을 조정합니다.
Resources
이 페이지는 아래 AWS 공식 자료를 바탕으로 정리했습니다. 마지막 갱신 2026-10-17.