Back to Blog|Migration

AWS Egress Fees Explained: Why Data Transfer Costs Are Killing Your Budget

December 31, 2025
Timo WevelsiepTimo Wevelsiep

One of the biggest hidden costs in AWS is egress fees — charges for data leaving AWS infrastructure. These costs are notoriously difficult to predict and can quickly spiral out of control, especially for data-intensive applications.

In this article, we break down what AWS egress fees are, how they're calculated, and most importantly: how you can reduce them by up to 99% by migrating to self-hosted infrastructure.

Table of Contents

What Are AWS Egress Costs?

Egress refers to outbound data transfer — any data leaving AWS to reach users, other cloud providers, or on-premises systems. Think of it as a data exit toll: every time your data crosses a boundary, you pay for it.

The tricky part? These boundaries aren't always obvious:

  • Serving a website from EC2 to users? Egress.
  • Pulling data from S3 to your local machine? Egress.
  • Replicating data to another AWS region? Egress.
  • Even transferring between Availability Zones in the same region? Also egress.

While ingress (data coming into AWS) is free, egress is metered and billed — and it adds up fast.

Types of Data Transfer That Incur Egress Costs

Transfer Type When It Applies Cost Range
To the Internet EC2, S3, or any service serving data to end users ~$0.09/GB
Cross-AZ Data moving between Availability Zones in the same region ~$0.01/GB per direction
Cross-Region Data replication or transfer between AWS regions $0.02–$0.09/GB
NAT Gateway Outbound traffic routed through NAT Per hour + per GB
VPC Peering / Transit Gateway Data between VPCs Per GB processed

AWS Egress Pricing in 2025

AWS uses tiered pricing for data transfer. The more you transfer, the lower the per-GB rate — but the total cost still grows significantly:

Monthly Volume Price per GB
First 100 GB Free
100 GB – 10 TB $0.09
10 TB – 50 TB $0.085
50 TB – 150 TB $0.07
Over 150 TB $0.05

New in 2025: AWS increased the free tier from 1 GB to 100 GB per month. While this helps small projects, it barely makes a dent for production workloads.

Real Cost Example

Let's calculate the egress cost for a typical SaaS application transferring 50 TB per month to users:

First 100 GB:     Free
Next 10 TB:       10,000 GB × $0.09  = $900
Next 40 TB:       40,000 GB × $0.085 = $3,400
─────────────────────────────────────────────
Total:                                 $4,300/month

That's $51,600 per year — just for data leaving your servers.

The Alternative: Egress Costs After Migration

Here's where it gets interesting. When you migrate from AWS to self-hosted or European cloud infrastructure, egress pricing looks completely different:

Provider Free Tier Price After 50 TB/month Cost
AWS 100 GB $0.09/GB ~$4,300
Azure 100 GB $0.087/GB ~$4,200
GCP 200 GB $0.085/GB ~$4,100
Hetzner 20 TB €1/TB ~€30
IONOS 2 TB €0.025–0.03/GB ~€1,240
OVHcloud Unlimited Free €0

The difference is staggering:

  • AWS: ~$4,300/month
  • Hetzner: ~€30/month
  • OVHcloud: €0/month

That's a 99%+ reduction in data transfer costs.

Why Are Hyperscalers So Expensive?

The major cloud providers (AWS, Azure, GCP) use egress fees as a form of vendor lock-in. Once your data is in their cloud, getting it out is expensive. This discourages migration and keeps customers tied to their ecosystem.

European providers like Hetzner, IONOS, and OVHcloud take a different approach — they include generous or unlimited bandwidth, making data transfer essentially free.

How to Reduce Your Egress Costs

Option 1: Optimize Within AWS

  • Use CloudFront CDN to cache and serve content from edge locations
  • Keep data transfers within the same Availability Zone where possible
  • Use VPC Endpoints to avoid NAT Gateway charges
  • Compress data before transfer

These optimizations help, but they're band-aids on a fundamental pricing problem.

Option 2: Migrate to Self-Hosted Infrastructure

The most effective way to eliminate egress costs is to leave the hyperscalers entirely. With managed Proxmox infrastructure on European hosting providers:

  • 20 TB+ included bandwidth (Hetzner)
  • Unlimited traffic (OVHcloud)
  • Predictable monthly costs — no surprise bills
  • No vendor lock-in — your data, your infrastructure

Conclusion

AWS egress fees are one of the biggest hidden costs in cloud computing. For data-intensive applications, these charges can represent a significant portion of your total cloud spend.

The solution? Migrate to self-hosted infrastructure where egress is either free or costs a fraction of what AWS charges.

At OutaCloud, we help companies exit AWS, Azure, and GCP — migrating their workloads to managed Proxmox infrastructure with predictable costs and no egress surprises.

50 TB/month on AWS: ~$4,300 50 TB/month on Hetzner: ~€30

The math speaks for itself.

Cloud Migration Service

Break free from the cloud cost trap - up to 90% savings.

Free Assessment
Migration Strategy
Lift & Shift Execution
Managed Hosting
AWS Egress Fees Explained: Why Data Transfer Costs Are Killing Your Budget | OutaCloud Blog