Master the hidden cost killer hiding in every cloud bill. Learn architectural patterns, CDN strategies, and vendor negotiation tactics to slash data transfer expenses across AWS, Azure, and GCP.
Cloud egress is data leaving your cloud provider's network. The "hidden tax" angle: ingress is free, egress is charged. Every GB moving outbound costs money. This applies to three scenarios:
Most organizations budget for compute and storage but underestimate egress. A typical 500TB/month data export operation costs $5,000–12,000/month in raw egress charges depending on cloud provider and routing.
Egress costs don't correlate with usage intensity. A leaky microservices architecture with heavy cross-AZ chatter can cost more than a database replication strategy. The cost depends on where data lives and where it moves to.
Cloud providers use tiered pricing models to encourage large commitments. Here's the real-world comparison:
Want independent help negotiating better terms? We rank the top advisory firms across 14 vendor categories — free matching, no commitment.
| Transfer Type | AWS | Azure | GCP |
|---|---|---|---|
| Internet Egress (0–10TB) | $0.02/GB | $0.05/GB | $0.12/GB |
| Internet Egress (10–100TB) | $0.02/GB | $0.05/GB | $0.12/GB |
| Cross-AZ (same region) | $0.01/GB | $0.01/GB | $0.01/GB |
| Cross-Region (US to EU) | $0.02/GB | $0.05/GB | $0.12/GB |
| CDN Origin Pull | $0.085/GB | $0.60/GB | $0.12/GB |
| With volume discount (500TB+) | $0.015/GB | $0.035/GB | $0.12/GB |
AWS dominates internet egress pricing — at $0.02/GB with aggressive tiering, it's 6x cheaper than GCP and 2.5x cheaper than Azure. However, Azure's egress discounts via ExpressRoute and GCP's free Cloud CDN egress create complexity in multi-cloud scenarios.
Egress charges apply to data out of compute instances, not storage retrieval. An EC2 instance pulling 1TB/month from S3 in the same region and sending it to the internet incurs $20 in egress (1TB × $0.02) plus $0 for S3 retrieval — not $20 + $0.005.
Cross-availability zone (AZ) transfer is charged at both source and destination — $0.01/GB each direction. For microservices architecture with heavy inter-service chatter, this adds up fast.
Example: 3-tier SaaS app with 100 GB/day inter-service traffic:
That's just for 100GB/day of chatter. High-frequency trading platforms and real-time analytics see 10–50x this volume. The solution: database read replicas in the same AZ, caching layer co-location, or connection pooling to reduce round trips.
Cross-region data movement is where massive bills live. Geographic distribution for redundancy and user proximity comes at a price:
Get the IT Negotiation Playbook — free
Used by 4,200+ IT directors and procurement leads. Oracle, Microsoft, SAP, Cloud — all covered.
Organizations replicating databases or syncing data to multiple regions for disaster recovery often find 40–60% of their cloud bill is pure cross-region egress. A typical enterprise with 10TB/month cross-region replication spends $200K–600K annually on egress alone.
The fix: Use CDNs, regional caches, and selective replication instead of full database replication.
CDNs charge for origin pulls (CloudFront, Azure CDN, Google Cloud CDN) but cache content at edge, eliminating repeat egress from your origin. The economics:
| Scenario | Direct Egress | CDN Egress | Winner |
|---|---|---|---|
| Video delivery, 1TB/month | $20 (AWS) | $50 (CloudFront) + cache cost | Direct |
| Video delivery, 100TB/month | $2,000 (AWS) | $4,000 (CloudFront) but 80% cached | CDN saves $1,280 |
| API responses, 10TB/month | $200 (AWS) | $400 (CloudFront) - not recommended | Direct |
| Static assets, 500TB/month | $10,000 (AWS) | $3,000 (CDN, 95% cache hit) | CDN saves $7,000 |
CDN wins on high-volume, cacheable content. Static assets, video, images, and large files benefit from CDN caching (70–95% cache hit ratios). API responses, real-time data, and personalized content don't benefit and should go direct.
Move compute to data, not data to compute. If your database lives in us-east-1, run your batch jobs, analytics, and reporting in us-east-1. If users are in EU, replicate read replicas to eu-west-1.
Deploy full application stacks in each major geographic region with read-only replicas. Cross-region replication costs less than streaming all data cross-region on every request.
Cache assets at edge. For SaaS applications, this alone reduces egress 20–40%. Cache headers (Cache-Control: max-age) are your first egress optimization.
AWS VPC endpoints for S3, DynamoDB, and third-party services (via PrivateLink) eliminate internet egress charges entirely. Cost: fixed hourly rate ($0.007–0.01/hour per endpoint) plus data processing charges, but no egress fees.
Reduce round trips. Batch database queries, API calls, and service-to-service communication. Every call has overhead; batching 100 calls into 1 reduces both latency and egress.
Route S3 and DynamoDB traffic through VPC endpoints instead of the internet. Eliminates egress charges for these services entirely. Cost: $0.007/hour per endpoint + data processing, but the egress savings (typically $5K–50K/month) pay for itself in days.
CloudFront caches at edge; Origin Shield adds a caching layer between edge and origin. For high-traffic assets (video, large files), Origin Shield prevents cache misses from hammering your origin, reducing origin egress by 30–60%.
S3 Transfer Acceleration ($0.04/GB outbound) is pricey. Instead: use CloudFront distribution with S3 origin (cheaper), or VPC endpoints for internal transfers (free with endpoint fees only).
Place EC2, Lambda, and RDS in the same region as S3 buckets. Cross-AZ within the same region costs $0.01/GB; cross-region costs $0.02+/GB. Region affinity alone saves 50%+ on S3 access.
AWS enterprise agreements include 10–25% egress discounts on data transfer. Negotiate during EDP/MACC renewal. Baseline ask: 15% discount on all egress; premium (multi-region, high-volume): 25–30%.
ExpressRoute private circuits charge $0.30/hour and offer 50% egress discount on cross-region and hybrid traffic. For >5 PB/month cross-region traffic, ExpressRoute breaks even. Typical setup: $2K–3K/month circuit cost saves $10K–30K/month on egress.
Data moving within the same region/AZ is free in Azure. This is a major advantage. Architect for region affinity: keep your app, database, and storage in the same region whenever possible.
Azure Private Endpoints for Storage, SQL, Cosmos DB, and other services eliminate public egress charges. Cost: $0.01/hour per endpoint. Saves $0.05/GB on egress — pays for itself if transferring >200 GB/month.
Pair Azure CDN (Standard) with Azure origin resources. Significantly cheaper than cross-region or cross-tenant transfers. Cache policies and aggressive TTLs reduce origin requests by 70–80%.
GCP's pricing advantage: Cloud CDN under certain conditions (low request rate, no caching fees) offers free egress. For static content and high-traffic assets, this is a game-changer. Cache hit rates of 80%+ are common.
Premium Tier (default): $0.12/GB internet egress, $0.01/GB cross-region
Standard Tier: $0.08/GB internet egress, $0.01/GB cross-region. Switch to Standard Tier for non-latency-critical workloads and save 30% on egress.
Like AWS PrivateLink, GCP's Private Service Connect routes traffic privately without internet egress charges. Available for GCP services and third-party providers.
GCP free tier includes 1 GB/month egress. Committed Use Discounts (CUDs) on compute can indirectly reduce egress by allowing better resource utilization. Target 25% discount on total committed spend.
Distributing data across AWS, Azure, and GCP multiplies egress costs. A common scenario:
Better approach: Pick one cloud provider for each workload. If AWS is primary, use AWS cross-region for disaster recovery and AWS S3 Transfer Acceleration for analytics. Limit multi-cloud to truly different use cases (e.g., AWS primary, Azure for hybrid/on-prem, GCP for BigQuery analytics) and use scheduled batch syncs instead of real-time replication.
CloudWatch publishes data transfer metrics by service. Cost Explorer breaks down egress by service, region, and direction. Create custom dashboards filtering for:
Filter by "Data Transfer" and break down by direction (Outbound). Identify top services: VMs, App Service, Storage. Cross-region transfer is labeled explicitly.
Google Cloud offers detailed cost breakdowns. Filter SKU by "Egress" and segment by region, service. Premium vs Standard Tier impact is clearly visible.
Set up monthly egress cost alerts. If egress grows >10% month-over-month, investigate: new service, traffic spike, or architecture drift. Most cost surprises stem from unmonitored egress.
Scenario: Global SaaS application serving 100K users across US, EU, and APAC regions. 500TB/month total egress (100TB US, 150TB EU, 150TB APAC, 100TB internal sync).
Baseline (no optimization):
With optimization (CDN, data locality, negotiated discounts):
Savings: $320,400/year (90% reduction) through CDN, data locality, negotiated discounts, and architectural changes.
Expand your FinOps knowledge with these complementary guides:
Our certified FinOps consultants audit your cloud infrastructure, negotiate egress discounts with AWS, Azure, and GCP, and design architectural patterns to eliminate unnecessary data transfer costs. Average client saves $2.5M annually.