Data egress charges are what a cloud provider bills you to send data out of one of its boundaries, most expensively to the public internet. The reason leaving costs so much is structural: providers make it free or cheap to bring data in and to store it, then price the exit. That asymmetry is deliberate, and understanding it is the first step to not being surprised by it.
This explainer is part of our complete guide to cloud storage and data cost optimization, the cluster pillar it links up to. Where this article explains why egress charges exist and how to read them, the companion how to reduce data egress waste is the hands-on method for cutting them under our See, Cut, Lock, Run approach.
Bringing data into a cloud typically costs nothing, which makes adoption frictionless. Getting it out, or moving it between regions, is metered per gigabyte. The cost of leaving is the cost the architecture quietly pushes onto you later, and it is the mechanism behind data gravity.
What counts as egress
Egress is not one charge but several, depending on the boundary the data crosses. Traffic that leaves to the public internet is typically the most expensive per gigabyte. Traffic between regions of the same provider is charged but usually less. Traffic between availability zones within a region is often charged at a smaller per-gigabyte rate, and because it is high volume it adds up fast. Traffic within a single zone is usually free. Knowing which boundary each flow crosses is the whole game, because the same gigabyte can cost very different amounts depending on where it goes.
Why providers price it this way
Three forces shape egress pricing. First, real cost: moving data out to the internet uses transit and peering capacity the provider pays for, while keeping it internal does not. Second, lock-in economics: cheap ingress and storage with metered egress make it inexpensive to accumulate data in a cloud and comparatively expensive to move it elsewhere, which discourages leaving. Third, this creates data gravity, where applications and analytics are drawn to wherever the data already sits because moving the data is the costly part. We unpack that dynamic in the hidden cost of data gravity.
Surprised by an egress bill?
Our cloud cost audit attributes every network charge to its source, shows exactly which boundaries your data crosses, and quantifies what each flow costs. On the performance model, you pay only from realized savings. No savings, no fee.
Book a cloud cost audit →Where the surprises come from
Egress bills shock teams because the charges are invisible until they appear. A microservice that calls a database in another zone for every request generates cross-zone egress on a per-call basis that nobody modeled. A backup or analytics job replicating data to another region runs quietly until the monthly report lands. A popular download served straight from object storage to the internet pays origin egress on every hit because nothing caches it. None of these is a mistake exactly; each is an architecture choice whose network cost was never priced in. Cross-region transfer specifically is covered in reducing inter-region data transfer costs.
How to read and model your egress
Pull the network section of your cost and usage report and separate it by type: internet, cross-region, cross-zone. Then attribute the largest buckets to source workloads using flow logs. Once you know which flows dominate, you can model the effect of a change before making it, whether that is co-locating services, adding a CDN, or compressing payloads. The detailed cutting playbook follows in how to reduce data egress waste.
| Boundary crossed | Relative cost | Common driver |
|---|---|---|
| To the public internet | Highest per GB | Downloads, API responses, media |
| Between regions | High | Replication, DR, cross-region analytics |
| Between zones in a region | Lower per GB, high volume | Chatty services split across zones |
| Within one zone | Usually free | Co-located services |
The cost relationships above reflect how AWS, Azure, GCP and OCI structure egress pricing as of May 2026. Specific per-gigabyte rates, free-tier allowances, and recent reductions vary by provider and change; verify current numbers on each provider's pricing pages before modeling.
Egress and the multicloud question
Egress pricing is the quiet tax on multicloud and hybrid designs. The moment a workload in one provider reads data sitting in another, every byte crosses an internet-egress boundary at the most expensive rate, and analytics that join data across clouds pay it repeatedly. This is why a multicloud strategy that looks clean on an architecture diagram can carry a network bill nobody budgeted for, a dynamic we cover in cross-cloud data transfer: the multicloud tax. It is also worth noting that several providers have reduced or waived egress fees for customers leaving entirely, under regulatory pressure, but those waivers apply to full exits, not to the ongoing cross-cloud traffic of a running multicloud estate. When you design across clouds, place compute next to the data it reads most, and treat any flow that crosses a provider boundary as a line item to justify rather than a free convenience.
The Cloud Storage and Egress Cost Playbook includes the boundary-mapping worksheet and the flow-log queries we use to attribute egress to its source. It is the downloadable companion to this explainer.
A quick worked example
Numbers make the asymmetry concrete. Imagine a service that returns ten gigabytes of data to the internet for every customer, with a hundred thousand customers a month: a petabyte of internet egress that bills at the highest per-gigabyte rate. Now suppose half of those responses are identical static content. Put a CDN in front and serve that half from cache, and you have removed five hundred terabytes of origin egress, replaced by cheaper edge delivery, for the cost of a cache. Separately, a backend that calls a database in another availability zone twice per request adds cross-zone egress on every single call; co-locating the two in one zone removes that line entirely. Neither change touches the product, yet both move the bill, and the only reason they were not made earlier is that nobody had attributed the egress to its cause. That attribution is the whole point of reading the network line by boundary, and the practical version is in how to reduce data egress waste.
The short version
Egress is the metered cost of moving data across a cloud boundary, priced highest to the internet and structured to make leaving expensive. It surprises teams because the charges are per-flow and invisible until billed. Read your network line by boundary, attribute the big flows, and you turn a surprise into a managed number. When you want it mapped and cut across the estate, that is what our rightsizing and waste elimination service delivers.