CloudFront is the one AWS service that can actually lower your bill. Transfer data from S3 directly to the internet and you pay $0.09/GB. Route the same data through CloudFront and you pay $0.085/GB — with the first 1TB free every month. CloudFront is cheaper than not using a CDN.
Most teams think of CloudFront as a performance tool. It is — but it's also a cost optimization tool. The S3-to-CloudFront transfer is free, CloudFront's per-GB egress is cheaper than direct, and cached responses reduce origin requests. For content-heavy applications, switching to CloudFront saves 15-50% on data transfer.
TL;DR: CloudFront's always-free tier includes 1TB data transfer out, 10M HTTP/HTTPS requests, and 2M CloudFront Functions invocations per month. Beyond the free tier, data transfer costs $0.085/GB in North America (cheaper than S3 direct at $0.09/GB). S3-to-CloudFront origin transfer is free. The Security Savings Bundle saves up to 30% with a monthly spend commitment.
CloudFront Pricing Components
CloudFront has four cost components: data transfer out, HTTP requests, functions (optional), and origin transfer.
Data Transfer Out to Internet
Pricing varies by edge location region:
| Region | First 10TB/month | Next 40TB | Next 100TB | Over 150TB |
|---|---|---|---|---|
| North America | $0.085 | $0.080 | $0.060 | $0.025 |
| Europe | $0.085 | $0.080 | $0.060 | $0.025 |
| South America | $0.110 | $0.090 | $0.080 | $0.060 |
| Japan | $0.114 | $0.089 | $0.086 | $0.060 |
| Australia | $0.114 | $0.098 | $0.094 | $0.080 |
| India | $0.109 | $0.085 | $0.082 | $0.052 |
HTTP/HTTPS Request Pricing
| Region | HTTP Requests (per 10,000) | HTTPS Requests (per 10,000) |
|---|---|---|
| North America / Europe | $0.0100 | $0.0100 |
| South America | $0.0220 | $0.0220 |
| Japan | $0.0120 | $0.0140 |
| Australia | $0.0125 | $0.0140 |
| India | $0.0090 | $0.0100 |
At $0.01/10K requests, 100 million HTTPS requests cost $100/month. Request costs are often overlooked but can exceed data transfer costs for small-payload APIs.
Origin Transfer
| Route | Price |
|---|---|
| S3 → CloudFront | Free |
| EC2/ALB → CloudFront | Standard data transfer rates |
| Custom origin → CloudFront | Standard data transfer rates |
This is the key cost advantage: S3 to CloudFront is always free. Other origins (EC2, ALB, on-premises) still pay standard data transfer for origin fetches, but CloudFront caching reduces the number of origin requests.
(AWS CloudFront Pricing, 2026)
The Free Tier (Always Free)
CloudFront's free tier is substantial and permanent — not a 12-month trial:
| Resource | Free Monthly Amount |
|---|---|
| Data transfer out | 1 TB |
| HTTP/HTTPS requests | 10,000,000 |
| CloudFront Functions | 2,000,000 invocations |
| CloudFront KeyValueStore reads | 10,000,000 |
1TB of free egress covers most small-to-medium websites. A site serving 100KB average page weight gets ~10 million page views free per month. Combined with the 10 million free requests, many sites pay $0 for CloudFront.
CloudFront vs Direct S3: The Cost Comparison
| Volume | Direct S3 Cost | Via CloudFront | Savings |
|---|---|---|---|
| 500 GB | $36 | Free (under 1TB) | 100% |
| 1 TB | $81 | Free | 100% |
| 2 TB | $171 | $85 | 50% |
| 5 TB | $441 | $340 | 23% |
| 10 TB | $891 | $765 | 14% |
| 50 TB | $4,285 | $3,385 | 21% |
The math is clear: There is no volume at which direct S3 egress is cheaper than CloudFront for public content. At small volumes (under 1TB), CloudFront is free. At large volumes, CloudFront's per-GB rate is lower. If you're serving content from S3 to the internet without CloudFront, you're overpaying — no exceptions.
CloudFront Functions vs Lambda@Edge
CloudFront offers two edge compute options at very different price points:
| Feature | CloudFront Functions | Lambda@Edge |
|---|---|---|
| Price per invocation | $0.10/million | $0.60/million |
| Compute charge | Included | $0.00000625125/128MB-ms |
| Max execution time | 1ms | 5-30 seconds |
| Memory | 2MB | 128-10,240MB |
| Network access | No | Yes |
| Best for | Header manipulation, URL rewrites, A/B testing | Auth, API calls, image transforms |
CloudFront Functions are 6x cheaper per invocation and suitable for simple, fast transformations. Lambda@Edge is for anything that needs network access, heavier compute, or runs longer than 1ms.
Cost Example: URL Rewriting at Scale
100 million requests/month with URL rewriting:
| Option | Monthly Cost |
|---|---|
| CloudFront Functions | $10 |
| Lambda@Edge | $60 + compute |
For simple operations, always use CloudFront Functions.
Origin Shield: Reduce Origin Load
Origin Shield adds a centralized caching layer between edge locations and your origin. It reduces origin requests when multiple edge locations request the same content.
| Component | Price |
|---|---|
| Origin Shield requests | $0.0090/10K incremental requests (US/EU) |
For a site with 50 edge locations requesting the same object, without Origin Shield your origin gets 50 requests. With Origin Shield, it gets 1. The savings on origin compute and data transfer often exceed the Origin Shield cost.
When Origin Shield pays for itself:
- You have a global audience hitting many edge locations
- Your origin compute is expensive (large EC2/ALB)
- You serve a "long tail" of content that isn't cached everywhere
CloudFront Security Savings Bundle
The Security Savings Bundle lets you commit to a monthly CloudFront spend in exchange for up to 30% savings on data transfer and a free AWS WAF allowance:
| Commitment | Savings | Includes |
|---|---|---|
| $100+/month | Up to 30% on CloudFront | Free WAF allowance up to the committed amount |
This is essentially a "Savings Plan" for CloudFront. If you spend $500/month on CloudFront consistently, committing $500/month saves you ~$150/month plus gives you $500/month of WAF protection for free.
The WAF angle is underrated: The Security Savings Bundle includes WAF credits equal to your commitment. AWS WAF normally costs $5/web ACL + $1/rule + $0.60/million requests. If you need WAF anyway, the Savings Bundle effectively gives you free WAF — making the true CloudFront discount closer to 40-50%.
Real-World Cost Examples
Small Business Website (10K visits/day)
| Component | Usage | Monthly Cost |
|---|---|---|
| Data transfer | 50 GB | Free (under 1TB) |
| HTTPS requests | 1.5M | Free (under 10M) |
| CloudFront Functions | 1.5M | Free (under 2M) |
| Total | $0 |
SaaS Application (100K users)
| Component | Usage | Monthly Cost |
|---|---|---|
| Data transfer | 3 TB | $170 |
| HTTPS requests | 150M | $150 |
| Lambda@Edge | 10M invocations | $6 |
| Origin Shield | 50M requests | $45 |
| Total | $371 |
With Security Savings Bundle ($371/month commitment): ~$260/month + free WAF.
Media/Streaming Platform (1M users)
| Component | Usage | Monthly Cost |
|---|---|---|
| Data transfer | 50 TB | $3,385 |
| HTTPS requests | 500M | $500 |
| Origin Shield | 200M requests | $180 |
| Total | $4,065 |
With Security Savings Bundle: ~$2,846/month + free WAF.
Frequently Asked Questions
Is CloudFront free?
Partially, yes — and permanently. The always-free tier includes 1TB data transfer out, 10M requests, and 2M CloudFront Functions invocations per month. This covers most small-to-medium websites entirely. Beyond the free tier, you pay per GB and per request.
Is CloudFront cheaper than S3 direct?
Yes, always. S3 charges $0.09/GB for internet egress. CloudFront charges $0.085/GB with 1TB free. S3-to-CloudFront transfer is free. There is no scenario where direct S3 serving is cheaper for public content.
How does CloudFront pricing compare to Cloudflare?
Cloudflare offers unlimited bandwidth on all paid plans ($20+/month for Pro), while CloudFront charges per GB. For high-bandwidth sites (10TB+), Cloudflare is significantly cheaper. However, CloudFront integrates natively with AWS services, offers the free S3 origin transfer, and has better integration with AWS WAF and Shield. For AWS-heavy architectures, CloudFront's integration often outweighs Cloudflare's bandwidth advantage.
Should I use CloudFront Functions or Lambda@Edge?
Use CloudFront Functions for simple, sub-millisecond operations: header manipulation, URL rewrites, redirects, A/B testing. Use Lambda@Edge when you need network access, longer execution time, or more memory — like authentication, dynamic image resizing, or API calls. CloudFront Functions are 6x cheaper.
Does CloudFront charge for origin requests?
CloudFront doesn't charge for data transfer from S3 origins. But you still pay for S3 GET/PUT request costs and for data transfer from non-S3 origins (EC2, ALB, custom). Origin Shield can reduce origin requests significantly for content-heavy sites.
Optimize Your CDN Spend
CloudFront is one of the few AWS services that saves you money just by using it. If you're serving any content from S3 to the internet, put CloudFront in front — it's cheaper at every volume:
- Enable CloudFront for S3 — Free origin transfer + 1TB free egress + cheaper per-GB rate
- Use CloudFront Functions — 6x cheaper than Lambda@Edge for simple operations
- Enable Origin Shield — Reduce expensive origin requests for global audiences
- Commit with Security Savings Bundle — 30% off + free WAF
- Optimize cache policies — Higher cache hit ratio = fewer origin requests = lower costs
- Use Wring to find CloudFront savings — we identify unprotected S3 buckets and suboptimal CDN configurations




