azureegressnetworkingdata-transfercost-optimization

Azure egress bandwidth cost: first 100 GB free, then it adds up

Azure egress is free for the first 100 GB/month, then tiered ~$0.087/GB; ingress is free. Here's the egress map, the patterns that drive the bill, and how a CDN and region co-location cut it.

The C3X Team··6 min read

Quick answer

Azure egress: first 100 GB/month free, then tiered ~$0.087/GB (first 10 TB) for internet egress, dropping at scale. Ingress is free; inter-region and some inter-zone traffic cost extra. The bill grows with internet serving, cross-region replication, and chatty cross-region/zone services. Cut it with a CDN, region co-location, and disciplined replication.

Like every cloud, Azure charges for data going out, not coming in — and like every cloud, that asymmetry is where the surprise bills come from. Egress doesn't attach to a single resource; it's a function of how your traffic moves, which is exactly why it hides until the invoice.

The egress map

  • Ingress: free.
  • Internet egress: first 100 GB/month free, then tiered ~$0.087/GB (first 10 TB), lower at higher volumes.
  • Inter-region: per-GB charge for data moving between Azure regions.
  • Availability zones: some inter-zone traffic is billed depending on configuration.

The patterns that drive it

  1. Internet serving without a CDN. Every byte served directly from a VM, storage account, or load balancer to users pays internet egress — the same object downloaded a million times pays a million times.
  2. Cross-region replication. Geo-redundant storage and DR copies move real volume between regions continuously.
  3. Chatty cross-region/zone services. Services split across regions or zones pay per-GB on internal calls — see VNet peering cost for the sideways-traffic version.

How to cut it

  • CDN for internet content. Cache at the edge so repeat reads don't re-egress from origin — see Front Door vs CDN.
  • Co-locate chatty services in one region; reserve cross-region for traffic that must span regions.
  • Right-size replication. Replicate only what needs geographic redundancy, not everything by default.

This is Azure's version of AWS data transfer and GCP egress — same shape, Azure's rates and free allowance.

FAQ

How much does Azure egress bandwidth cost?

The first 100 GB/month of internet egress is free, then it's tiered — roughly $0.087/GB for the first 10 TB, dropping at higher volumes — for most regions. Ingress is always free. Inter-region and some inter-zone traffic carry their own per-GB charges on top.

Is data transfer into Azure free?

Yes, ingress (inbound data) is free. You pay for egress: data leaving Azure to the internet, and data moving between regions (and in some cases between availability zones). The asymmetry is why content- and data-heavy workloads watch egress, not ingress.

Why is my Azure bandwidth bill high?

Usually serving large volumes to the internet without a CDN, cross-region replication moving data continuously, or chatty services spread across regions or zones. The internet-egress tier and inter-region charges add up when you move a lot of data outward or sideways.

How do I reduce Azure egress costs?

Put a CDN (Azure CDN or Front Door) in front of internet-facing content so cached responses don't re-egress from origin, keep chatty services in the same region, use private endpoints where they avoid charged hops, and limit cross-region replication to data that genuinely needs geographic redundancy.

Does a CDN reduce egress cost?

For content-heavy workloads, yes. Serving cached content from CDN edge nodes means repeated reads don't pay full origin egress each time, and CDN egress is often priced comparably or lower. The higher your cache hit ratio, the more origin egress you avoid.

How does C3X account for egress cost?

Egress is usage-driven, so C3X models it from expected GB in c3x-usage.yml and prices the resources that generate it (VMs, load balancers, storage), helping you attribute bandwidth to the architecture behind it.

What to do next

Egress tracks how data moves, so attribute it to the architecture and model the volume. C3X prices the resources behind your traffic — VMs, load balancers, storage — and takes egress volume from c3x-usage.yml, so a bandwidth-heavy design shows its cost before it ships. The quickstart runs it in minutes.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.