Live pricingverified 2026-04
AWS · breakeven analysisUpdated 2026-04

CloudFront vs S3 direct egress: breakeven math

CloudFront undercuts direct S3 egress at every tier in North America and Europe, but the gap is only about 5 to 28 percent depending on volume. Below 1 TB / month, CloudFront is functionally free because of the always-free tier. Above 1 PB / month, the gap widens because CloudFront has deeper volume discounts.

Sources: CloudFront pricing and EC2 data transfer, verified 2026-04.

[01]Side-by-side by volume (North America / Europe traffic)

All numbers assume traffic served entirely from North America or Europe edges (cheapest tier). For mixed-region serving, see CloudFront per-region pricing.

Monthly volumeCloudFrontS3 directWinner
100 GB$0$0Tie (both free tier)
500 GB$0$36.00CloudFront
1 TB$0$83.70CloudFront
5 TB$348.16$450.56CloudFront (-23%)
10 TB$783.36$911.36CloudFront (-14%)
50 TB$4,178.69$4,402.94CloudFront (-5%)
100 TB$7,209.49$8,072.94CloudFront (-11%)
500 TB$22,815.74$28,322.94CloudFront (-19%)
1 PB$38,809.60$54,122.94CloudFront (-28%)

Excludes request fees. CloudFront request fees ($0.01 / 10K HTTPS in NA/EU) add minimal cost for typical serving. S3 GET fees are $0.0004 per 1K and similarly small.

[02]When CloudFront does NOT pay off

CloudFront is not always the right answer. Four scenarios where direct S3 wins:

Single-region serving

If 95 percent of your traffic is one country, an S3 bucket in that country's region is often faster and cheaper than CloudFront. Egress from S3 to in-region users is the same headline rate ($0.09/GB), but cache lookup costs and request fees disappear.

Low cache hit ratio

Below 60 percent cache hit ratio, CloudFront still has to pull from origin on most requests. You pay CloudFront egress to user AND the origin pull from S3 (free if same account, but if your origin is EC2 or different-account S3, you pay twice).

API-heavy workloads

For APIs returning JSON under 5 KB at high RPS, the $0.01 per 10K HTTPS request fee scales faster than data transfer. A 10K RPS API generates ~$2,592 / month in request fees alone on CloudFront.

Africa / India / South America heavy

CloudFront edge pricing in Africa ($0.140/GB), India ($0.109/GB), and South America ($0.110/GB) exceeds S3 us-east-1 egress ($0.09/GB). For users in those regions, regional S3 buckets can be cheaper than CloudFront.

[03]Worked example: a 50 TB / month video platform

A video platform serving 50 TB / month, all to North American users, with 80 percent cache hit ratio on CloudFront.

Line item
Volume
Cost
Option A: S3 direct, first 10 TB @ $0.09/GB
10 TB
$921.60
S3 direct, next 40 TB @ $0.085/GB
40 TB
$3,481.60
Option A subtotal
50 TB
$4,403.20
Option B: CloudFront, first 10 TB @ $0.085/GB (post-free-tier 1 TB)
9 TB
$783.36
CloudFront, next 40 TB @ $0.080/GB
40 TB
$3,276.80
CloudFront request fees (~50M @ $0.01 / 10K)
50M
$50.00
S3 origin pull (20% of volume, free if same account)
10 TB
$0.00
Option B subtotal
50 TB
$4,110.16
CloudFront saving
$293.04

CloudFront saves 6.7 percent here. Add multi-region serving or larger volumes and the gap grows.

[04]Frequently asked

Q.01

Is CloudFront always cheaper than S3 direct egress?

No. CloudFront is cheaper than S3 direct in North America and Europe at all volumes above the 1 TB free tier, but only marginally so until you cross about 10 TB per month. For workloads serving primarily India, SE Asia, South America, or Africa, CloudFront can be 30 to 50 percent more expensive per GB than S3 direct from us-east-1, because CloudFront prices by edge region. Use a regional split to decide.

Q.02

What is the breakeven volume between CloudFront and S3?

For purely North America or Europe traffic, the breakeven is the 1 TB free tier itself: above 1 TB / month CloudFront is always cheaper because the per-GB rate is $0.005 less. Below 1 TB / month CloudFront is free (within the always-free tier) while S3 charges $0.09 per GB above its 100 GB always-free allowance. The hard breakeven only flips for high-cost edge regions like India or Africa where CloudFront edge pricing exceeds S3 us-east-1 direct egress.

Q.03

Is S3 to CloudFront origin pull free?

Yes, when the S3 bucket and CloudFront distribution are in the same AWS account, data transfer from S3 to CloudFront origin is free. You pay only the CloudFront edge egress charge to the end user. Across accounts, S3 to CloudFront becomes a normal cross-account data transfer and incurs standard S3 egress pricing. Keep the origin in the same account to avoid this.

Q.04

When does CloudFront not pay off?

CloudFront does not pay off for low-RPS internal traffic (no caching benefit), for traffic served almost entirely to one country where you could put an S3 bucket in that country directly, or for very high-RPS API traffic where the per-10K request fees stack faster than the per-GB savings. Also, CloudFront is not cheaper when the cache hit ratio is below about 60 percent, because origin pulls still happen and you pay both layers.

Updated 2 May 2026