Data egress cost optimization: the tax on moving data out
Egress, data leaving a cloud to the internet or across regions, is billed per GB and is one of the most underestimated cloud costs. Architecture, caching, and keeping traffic in-region cut it. Here is how.
Quick answer
Egress, data leaving a cloud to the internet or crossing regions, is billed per GB (roughly $0.08 to $0.12/GB to the internet, less cross-region) and is a commonly underestimated cost. The levers: keep traffic in-region (same-region transfer is often free or cheap), put a CDN in front of high-volume content so it serves from cache instead of origin egress, colocate services that talk to each other, and avoid unnecessary cross-region and cross-cloud data movement. Ingress is almost always free; egress is the tax.
Cloud providers charge little or nothing to move data in (ingress) but bill per gigabyte to move data out (egress), to the internet, across regions, or between clouds. Because egress is easy to overlook in design and scales with traffic, it is one of the most commonly underestimated cloud costs. Optimizing it is mostly architectural: move less data out, and keep what you move cheap.
What egress costs
| Transfer | Typical cost |
|---|---|
| Internet egress | ~$0.08 to $0.12/GB (tiered down at volume) |
| Cross-region | Lower per-GB, but adds up |
| Same-region, same-AZ | Often free or minimal |
| Ingress | Almost always free |
Internet egress runs roughly $0.08 to $0.12 per gigabyte, tiering down at high volume. Cross-region transfer is cheaper per gigabyte but still meaningful at scale, and even cross-AZ traffic within a region can be billed. Same-region same-AZ traffic is often free, and ingress is almost always free. So the cost is in data leaving, and where it goes.
The big levers
A CDN in front of high-volume content (images, video, downloads, static assets) serves from edge cache, so most requests never hit origin egress, often the single biggest egress saving, and CDN egress is typically cheaper than direct cloud egress. Keeping services that talk to each other in the same region and AZ avoids cross-region and cross-AZ transfer. Avoiding cross-cloud architectures (data moving between providers is egress on both sides) matters too.
More egress optimizations
Compress data before transfer (less volume, less egress), cache aggressively so the same data is not sent repeatedly, batch and deduplicate transfers, and keep chatty inter-service traffic in-region. For replication and backups, weigh cross-region egress against the resilience it buys, the multi-region tradeoff. Use provider private links and peering where they price traffic below public egress.
Designing for low egress
Egress is best optimized in architecture, not after the fact: put a CDN in front of anything high-volume, colocate communicating services in-region, minimize cross-region and cross-cloud data movement, and compress and cache. Because ingress is free and egress is the tax, design data to flow in and stay put, moving out only what must, through the cheapest path (CDN, private links). Track egress as its own line, since it hides inside network cost and is easy to miss until it is large.
FAQ
What is data egress cost?
The per-GB charge for moving data out of a cloud, to the internet (roughly $0.08 to $0.12/GB, tiering down at volume), across regions (cheaper per GB but meaningful at scale), or between clouds. Ingress (data in) is almost always free, so egress is the tax on data leaving. It is one of the most commonly underestimated cloud costs.
How do I reduce data egress cost?
Keep traffic in-region (same-region same-AZ transfer is often free), put a CDN in front of high-volume content so it serves from cache instead of origin egress (often the biggest saving), colocate services that talk to each other, avoid unnecessary cross-region and cross-cloud movement, and compress and cache so the same data is not sent repeatedly.
Why is egress a commonly underestimated cost?
Because it is easy to overlook in design, scales invisibly with traffic, and hides inside general network cost. Ingress is free, so teams focus on compute and storage and miss that data leaving is billed per gigabyte. At scale, a high-traffic application serving content directly from origin can rack up large egress before anyone tracks it.
Does a CDN reduce egress cost?
Yes, often the most. A CDN in front of high-volume content (images, video, downloads, static assets) serves most requests from edge cache, so they never hit origin egress, and CDN egress is typically cheaper per gigabyte than direct cloud egress. For content-heavy applications, fronting origin with a CDN is usually the single biggest egress saving.
Is cross-region transfer cheaper than internet egress?
Per gigabyte, usually yes, cross-region transfer is cheaper than internet egress, but it still adds up at scale and even cross-AZ traffic within a region can be billed. Same-region same-AZ traffic is often free. So keeping communicating services colocated in one region and AZ avoids these charges entirely where possible.
Does C3X estimate egress cost?
Egress cost is driven by data-transfer volume and topology, which are usage inputs. C3X prices the surrounding infrastructure (CDN, load balancers, cross-region resources), and you model your egress volume and paths to estimate the transfer charges and compare architectures that reduce them.
What to do next
Model your data-transfer cost before you architect. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.