AWS Egress Fees Explained: Why Data Transfer Costs Are Killing Your Budget
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?
- Types of Data Transfer That Incur Egress Costs
- AWS Egress Pricing in 2025
- Real Cost Example
- The Alternative: Egress Costs After Migration
- Why Are Hyperscalers So Expensive?
- How to Reduce Your Egress Costs
- Conclusion
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.