Open Calculator

CloudFront vs Cloudflare CDN vs Bunny.net: Regional Bandwidth Pricing and Per-Request Fee Audits

Published May 20, 2026 · Updated October 04, 2026 · CDN Rate Card & Edge Routing Audit

Selecting a Content Delivery Network (CDN) requires evaluating three distinct cost dimensions: regional per-gigabyte data transfer rates, per-10,000 HTTPS request surcharges, and origin cache-miss peering agreements. While Amazon CloudFront integrates natively with AWS S3 and AWS Shield, its public list pricing for bandwidth and HTTPS requests is 4x to 8x higher than specialist networks like Bunny.net or zero-egress architectures built on Cloudflare CDN + R2.

This specification dissects the regional rate cards across all three providers, models how object payload size shifts the ratio between bandwidth cost and request cost, and outlines architectural routing constraints.

Global Regional Bandwidth Pricing Matrix ($/GB List Rates)

Unlike Cloudflare (which bundles unmetered CDN edge bandwidth for standard web assets and R2-backed storage), Amazon CloudFront and Bunny.net bill per gigabyte based on the geographic edge Point of Presence (PoP) serving the end user:

Geographic Edge Territory CloudFront (1st 10TB) CloudFront (Next 40TB) Bunny.net Standard Bunny.net Volume Tier Cloudflare (R2 Origin)
North America (US / CA) $0.085 / GB $0.080 / GB $0.010 / GB $0.005 / GB $0.000 / GB
Europe & UK (EU) $0.085 / GB $0.080 / GB $0.010 / GB $0.005 / GB $0.000 / GB
Asia-Pacific & Oceania $0.114 / GB $0.098 / GB $0.030 / GB $0.005 / GB $0.000 / GB
South America (LATAM) $0.110 / GB $0.105 / GB $0.045 / GB $0.005 / GB $0.000 / GB
Middle East & Africa $0.110 / GB $0.100 / GB $0.060 / GB $0.005 / GB $0.000 / GB
India (Mumbai / Chennai) $0.109 / GB $0.085 / GB $0.030 / GB $0.005 / GB $0.000 / GB

Note on CloudFront Free Tier: AWS CloudFront provides a permanent monthly free tier of 1 TB (1,000 GB) of data transfer out and 10,000,000 HTTP/HTTPS requests per AWS account. Once monthly traffic exceeds 1 TB, standard regional bracket pricing applies unless you negotiate a private 12-month CloudFront Security Savings Bundle or Enterprise Commit (>100 TB/mo).

The Hidden Tax: Per-10,000 HTTPS Request Surcharges

Capacity planners frequently model CDN costs using gigabyte volume alone while ignoring HTTPS Request Fees. Amazon CloudFront charges between $0.0100 and $0.0220 per 10,000 HTTPS `GET`/`HEAD` requests ($1.00 to $2.20 per million requests) depending on the region.

When delivering small payloads—such as 4 KB JSON API responses, tile maps, web fonts, or HLS `.m3u8` playlist manifests—the per-request fee on CloudFront exceeds the bandwidth fee:

// Request Cost vs. Bandwidth Cost for 1 Billion 5 KB JSON Responses (5.0 TB Total)
Total Monthly Requests: 1,000,000,000 (1 Billion HTTPS GETs)
Total Monthly Bandwidth: 5,000 GB (5.0 TB)
CloudFront Bandwidth Charge (4,000 GB Paid × $0.085): $340.00
CloudFront HTTPS Request Charge (990M × $1.00/1M): $990.00 (74.4% of total bill!)
CloudFront Total Monthly Invoice: $1,330.00 ($0.266/GB effective)
Bunny.net Total Invoice (Zero Per-Request Fees): $50.00 (5,000 GB × $0.010/GB)

Bunny.net and Cloudflare CDN (on standard cached edge hits) do not bill per-10,000 HTTPS request surcharges on static cached edge responses. Only uncached Worker invocations or R2 origin reads incur request metering.

CloudFront Price Classes & Latency Trade-Offs

To prevent unexpected billing spikes from traffic in South America, Australia, Japan, and India, CloudFront allows architects to restrict which edge PoPs are active via three **Price Classes**:

  • `PriceClass_100` (North America & Europe Only): Restricts edge delivery strictly to PoPs in the US, Canada, Mexico, UK, and Europe ($0.085/GB). However, if a user in Tokyo or Sydney requests an asset, DNS routes their TCP/TLS handshake across the Pacific Ocean to a US-West PoP (Seattle/San Jose), adding 110ms to 165ms of round-trip latency.
  • `PriceClass_200` (Excludes South America & Australia/NZ): Includes North America, Europe, Asia, Middle East, and Africa while excluding the highest-cost PoPs in Brazil and Australia.
  • `PriceClass_All` (Global Anycast Edge): Uses all 600+ CloudFront PoPs worldwide for lowest latency at maximum regional list prices.

Cloudflare Service-Specific Terms & The R2 Origin Exemption

A critical compliance rule for infrastructure architects is Cloudflare's **Service-Specific Terms for CDN**. Historically, using a free or $20 Pro Cloudflare zone to proxy terabytes of raw video `.mp4`/`.ts` chunks, software `.iso` images, or S3-hosted binaries from an external AWS/Hetzner origin violated Cloudflare's acceptable use policy unless the customer purchased Cloudflare Stream, R2, or an Enterprise CDN contract.

The R2 Architectural Solution: Under Cloudflare's current terms, when you store your video segments, game binaries, or AI model weights inside a **Cloudflare R2 bucket** attached to a custom domain on your Cloudflare zone, 100% of outbound CDN bandwidth is contractually permitted and billed at **$0.00/GB egress**, regardless of whether the files are video, audio, or binary archives.

Inspecting Edge PoP Routing & Cache Telemetry Headers

Each CDN exposes proprietary diagnostic headers that allow engineers to audit which physical edge PoP served a byte-range request and whether an Origin Shield tier was traversed. Below are actual response headers captured from our Nuremberg (`eu-central`) test node across all three networks:

# 1. Amazon CloudFront (Frankfurt PoP FRA56-P7)
x-cache: Hit from cloudfront
x-amz-cf-pop: FRA56-P7
x-amz-cf-id: 8mK1vP_9qL2wX...==

# 2. Bunny.net CDN (Frankfurt Edge Node DE-FRA-1124)
cdn-pullzone: 948120
cdn- requestcountrycode: DE
cdn-cachedat: 10/02/2026 14:19:08
cdn-edgestorageid: 1124
cdn-status: 200
cdn-cache: HIT

# 3. Cloudflare CDN + R2 Custom Domain (Frankfurt PoP FRA)
cf-cache-status: HIT
cf-ray: 8cc41908ae12d391-FRA
age: 19408

Multi-Workload TCO Decision Matrix (100 TB Monthly Global Mix)

Assuming a global traffic distribution (60% NA/EU, 25% APAC, 15% LATAM/MEA) delivering 100 TB/month with 500M HTTPS requests and 20 TB of origin storage:

Cost Component AWS S3 + CloudFront Backblaze B2 + Bunny CDN Cloudflare R2 + CDN
20 TB Origin Storage $460.00 $120.00 $300.00
Origin-to-CDN Egress $0.00 (Waived) $0.00 (Bandwidth Alliance) $0.00 (Native)
100 TB Global CDN Edge Egress $8,420.00 $2,025.00 ($500 Volume) $0.00
500M HTTPS Request Fees $545.00 $20.00 (Origin misses only) $18.00 (Origin misses only)
Total Monthly Run-Rate $9,425.00 / mo $2,165.00 / mo $318.00 / mo

Model Video Streaming HLS & DASH Bitrate Ladders Next

Calculate exact GB-per-viewer-hour consumption, CMAF segment sizing, and transcoding storage overhead.

Video Streaming Guide →