What are cloud egress fees, and why do they differ so much?

Cloud egress fees are what a provider charges for data leaving its network, mainly to the internet, but also between regions and, on some clouds, between availability zones. They differ because providers use three different pricing models: AWS, Google Cloud and Azure meter every gigabyte, Hetzner includes a large monthly allowance with each server, and OVHcloud includes outbound traffic in most of its regions. As of 14 November 2026, sending 10 TB a month to the internet costs about $891 from AWS Frankfurt and nothing extra on a Hetzner or OVHcloud server in Europe.

What counts as egress

Traffic Typical treatment
Internet to your servers (ingress) Free at all major providers
Your servers to the internet Billed per GB on hyperscalers, included up to an allowance or unmetered elsewhere
Between regions of the same provider Billed per GB on hyperscalers
Between availability zones in one region Billed per GB on AWS and Google Cloud
Within one zone over private addresses Usually free
To your own data center over a private interconnect Billed per GB, usually at a lower rate than internet egress

Responses count too. Every API response, web page, image, backup copy and database replica that leaves the network is egress. For Kubernetes, cross-zone Pod traffic, NAT gateways and load balancers add their own charges, covered in what network costs Kubernetes adds to a cloud bill.

Three pricing models

Metered per GB. AWS charges $0.09 per GB for the first 10 TB a month from Frankfurt, falling to $0.05 per GB above 150 TB, with the first 100 GB a month free across the account (EC2 pricing). Inter-region transfer from Frankfurt to other AWS regions costs $0.02 per GB. Azure charges $0.087 per GB for the next 10 TB from Europe after 100 GB free, or $0.08 per GB with routing over the public internet (Azure bandwidth pricing). Google Cloud bills internet egress per GiB in Premium and Standard tiers, varying by source and destination, and charges $0.01 per GiB for traffic between zones in the same region (network pricing).

Included allowance. Hetzner Cloud includes at least 20 TB of outbound traffic a month with every server in its EU locations, and bills €1.00 per TB beyond that. US servers include 1 TB to 8 TB and Singapore servers 0.5 TB to 8 TB, depending on the server type; Singapore overage costs €7.40 per TB. Inbound traffic and traffic between Hetzner servers in the same network zone are free (Hetzner billing FAQ).

Included in the instance price. OVHcloud includes outbound public traffic in the price of Public Cloud instances in all regions except Asia-Pacific (Singapore, Sydney and Mumbai), where each project gets 1 TB a month before per-GB billing (OVHcloud prices). Instances have bandwidth caps per size instead of a per-GB meter.

What 10 TB a month costs

Prices as of 14 November 2026, for 10 TB (10,000 GB) of internet egress from one region in Europe, before taxes:

Provider Model Cost for 10 TB
AWS, Frankfurt $0.09 per GB after 100 GB free about $891
Azure, Europe, Microsoft network $0.087 per GB after 100 GB free about $861
Azure, Europe, internet routing $0.08 per GB after 100 GB free about $792
Hetzner Cloud, EU, one server 20 TB included €0
OVHcloud Public Cloud, Europe Included €0

The gap explains why traffic-heavy services, such as video, downloads, public APIs and backups, are often the first workloads teams move to providers with included traffic. Bandwidth is not unlimited there either: OVHcloud caps throughput per instance, and Hetzner’s product pages state that hosts share a 10 Gbit/s uplink with no bandwidth guarantee per server.

Exit fees and the EU Data Act

Egress is also the cost of leaving a provider, because moving data out is billed as egress. In 2024, two hyperscalers began waiving it for customers who leave. Google Cloud announced free data transfer for customers migrating off in January 2024. AWS followed in March 2024: you request it through AWS Support, must move all your data off AWS, and, outside the EU, have 180 days to complete the move. Both programs cover a full exit, not partial or ongoing transfers.

In the EU, the Data Act goes further and phases out switching charges, including egress tied to a switch, from 12 January 2027. Day-to-day egress stays billable. The details are in what the EU Data Act changes for switching cloud providers.

How to reduce egress fees

  • Cache at the edge. A CDN serves repeated requests from its own network, so the origin sends each object once instead of once per user. CDN pricing has its own per-GB rates, so compare them with origin egress.
  • Compress responses. gzip or Brotli on text, and modern image formats, cut bytes on every response.
  • Keep chatty services together. Place services that exchange a lot of data in the same zone and region, and use topology-aware routing in Kubernetes to keep traffic local.
  • Move bulk data once. Replicate datasets or backups to another provider on a schedule instead of streaming them continuously.
  • Use private interconnects for large, steady flows between a cloud and your data center, where per-GB rates are lower than internet egress.
  • Put traffic-heavy tiers on included-traffic providers. Serving downloads or media from a provider with bundled traffic, while keeping managed services on a hyperscaler, is a common split. Watch the boundary: data leaving the hyperscaler for the other provider is still billed as egress.

The Hetzner vs AWS comparison works through such a split, and how to avoid cloud vendor lock-in covers egress as one of the costs of moving.

Egress on Cloudfleet clusters

With Cloudfleet Kubernetes Engine (CFKE), one cluster can run nodes on AWS, Google Cloud and Hetzner through Fleets, and each provider bills its own traffic at its own rates. Placing traffic-heavy workloads on Hetzner nodes and the rest elsewhere is a scheduling decision rather than a migration.

On this page