Amazon CloudFront cost is driven mostly by data transfer out and origin fetches on cache misses. Two levers move it: set the right price class so you stop serving from the most expensive edge locations, and raise the cache hit ratio so fewer requests reach the origin. Use Price Class 100 or 200 when your audience is in North America and Europe, set proper Cache-Control headers, and forward only the cache-key fields that change the response. Serving an AWS origin through CloudFront avoids origin egress charges entirely. CloudFront also has a perpetual free tier of 1 TB out and 10 million requests per month.
Last updated: June 2026 · Written by Morten Andersen and reviewed by Fredrik Filipsson · See, Cut, Lock, Run method
Amazon CloudFront is a content delivery network that caches content at edge locations close to users, and its bill is built almost entirely from two things: the data it transfers out to viewers and the requests it serves. Both can be reduced without degrading the experience, because most of the spend is structural rather than necessary: serving from edge locations you do not need, and fetching from the origin more often than the content requires. This guide walks the two highest-leverage moves, price class and cache hit ratio, then the supporting steps. It is part of our complete guide to AWS cost optimization, the cluster pillar it links up to.
What is a CloudFront price class and which should I pick?
A CloudFront price class is a setting that limits which edge locations serve your content, so you avoid the higher per-GB rates of the most expensive Regions. CloudFront prices data transfer differently by geography, and by default a distribution uses every edge location worldwide, which is the most expensive option. The three classes are a direct cost-versus-reach trade. Pick the smallest class that still covers where your users actually are, which you can read from the CloudFront cache statistics and your own analytics. Confirm the current per-GB rates per Region on the CloudFront pricing page, since they differ widely by geography.
| Price class | Edge locations used | Pick when |
|---|---|---|
| Price Class All | Every location worldwide | Truly global audience needing lowest latency everywhere |
| Price Class 200 | Most locations, excludes the most expensive (e.g. South America, parts of Asia Pacific) | Broad audience but few users in the priciest Regions |
| Price Class 100 | North America and Europe only, the cheapest set | Audience concentrated in North America and Europe |
The verdict: match the price class to your real audience map. Users outside the chosen class are still served, just routed to a location inside it, so the only cost of choosing too small a class is slightly higher latency for a minority, not broken delivery.
How does cache hit ratio affect CloudFront cost?
A higher cache hit ratio is usually the single largest CloudFront saving, because every cache miss costs more than a hit. When a request hits the edge cache, CloudFront serves it directly; when it misses, CloudFront fetches from your origin, which adds origin compute and origin-to-edge data transfer on top of the viewer transfer. Raising the hit ratio shrinks the expensive part of the path. The levers are practical: set Cache-Control max-age headers long enough that objects stay cacheable, normalize the cache key by forwarding only the headers, cookies, and query strings that genuinely change the response, and use a managed or custom cache policy rather than forwarding everything. This is the same discipline covered for the request layer in our sibling guide on API Gateway REST vs HTTP cost.
How do I cut CloudFront cost, step by step?
Follow these five steps in order; the early ones make the later measurements meaningful.
- Measure current cost and cache hit ratio. In the CloudFront console open the cache statistics report, and in Cost Explorer record the split between data transfer out and request charges. Expected result: a baseline hit ratio and a clear view of where the spend sits.
- Choose the right price class. If your audience is concentrated in North America and Europe, set the distribution to Price Class 100, or 200 for broader reach. Expected result: traffic stops being served from the most expensive edge locations.
- Raise the cache hit ratio. Set sensible Cache-Control max-age values, attach a cache policy that forwards only cache-key fields that affect the response, and remove needless query-string and cookie forwarding. Expected result: fewer origin fetches and a higher hit ratio.
- Cut origin egress. Enable origin compression with Brotli or Gzip so misses fetch smaller objects, and serve AWS origins through CloudFront so origin-to-edge transfer is not billed as internet egress. Expected result: lower per-miss cost and no origin egress charge.
- Verify and re-measure. After a week, re-check the hit ratio and cost split, and adjust TTLs or the price class if the audience map shifted. Expected result: a confirmed, durable reduction.
CDN bill rising faster than your traffic?
Our AWS cost audit reads your CloudFront cache statistics, right-sizes the price class to your real audience, and tunes cache keys and TTLs to lift the hit ratio, proven against a clean baseline. On the performance model, you pay only from realized savings. No savings, no fee.
Book a cloud cost audit →What about origin egress and the free tier?
Origin egress is often the hidden half of a CDN bill, and CloudFront removes most of it. Data transfer from an AWS origin such as Amazon S3 or an Application Load Balancer to CloudFront is not billed as egress, so serving through CloudFront is frequently cheaper than serving directly from the origin, which is why the cache hit ratio and origin choice matter together. CloudFront also includes a perpetual free tier of one terabyte of data transfer out and ten million HTTP and HTTPS requests per month that does not expire after the first year. For the wider picture of moving data out of AWS economically, see our work on cloud storage and data cost optimization.
The AWS Cost Optimization Field Guide includes the CDN audit checklist we use to set the price class and tune cache keys before touching anything else.
Frequently asked questions
What is a CloudFront price class?
A CloudFront price class limits which edge locations serve your content so you avoid the higher per-GB rates of the most expensive Regions. Price Class All uses every edge location, Price Class 200 excludes the most expensive locations such as South America, and Price Class 100 serves only from North America and Europe, the cheapest set.
How does cache hit ratio affect CloudFront cost?
A higher cache hit ratio means more requests are served from the edge cache and fewer reach your origin, which cuts both origin compute and the data transfer from origin to edge. Raising the hit ratio is usually the single largest CloudFront saving because it reduces the most expensive part of the path.
Does CloudFront have a free tier?
Yes. The AWS Free Tier for CloudFront includes one terabyte of data transfer out and ten million HTTP and HTTPS requests per month, and it does not expire after 12 months. Verify the current allowance on the AWS pricing page.
Is data transfer from S3 to CloudFront billed?
No. Data transfer from an AWS origin such as Amazon S3 or an Application Load Balancer to CloudFront is not billed as egress. You pay only for CloudFront data transfer out to viewers, which is why serving through CloudFront is often cheaper than serving directly from the origin.
The short version
CloudFront cost is data transfer out plus origin fetches. Set the price class to your real audience, raise the cache hit ratio with proper Cache-Control headers and lean cache keys, compress at the origin, and serve AWS origins through CloudFront so origin egress is free. Measure, change, and re-measure, and use the perpetual 1 TB free tier. When you want the price class and cache keys tuned to your traffic and the CDN bill proven down, that is part of what our AWS cost optimization service delivers.
Cloud pricing and service behavior change frequently. Verify the specifics in this guide against the providers’ own current documentation and the FinOps Foundation: AWS pricing ↗, AWS documentation ↗ and FinOps Foundation Framework ↗. This article also reflects Cloud Cost Room’s hands-on, vendor-neutral engagement experience.