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