Wring
All articlesAWS Guides

AWS Data Transfer Pricing 2026: The Hidden Cost That Doubles Your Bill

Complete guide to AWS data transfer costs in 2026. Egress starts at $0.09/GB after 100GB free. Cross-AZ costs $0.01/GB each way. Learn the free routes and how to cut transfer costs by 50-80%.

Wring Team
March 8, 2026
10 min read
AWS data transferegress costsdata transfer pricingcross-AZcross-regioncloud networking costs
Network cables and fiber optic connections representing cloud data transfer infrastructure

Data transfer is the cost that surprises everyone. You budget for EC2 instances, RDS databases, and S3 storage — then the bill shows a $2,000 line item for "data transfer out" that nobody expected. A t3.large that costs $61/month in compute can generate $450 in data transfer if it serves 5TB of content to the internet.

AWS charges for data leaving its network. Data coming in is free. Data moving between services in the same AZ is mostly free. Everything else costs money — and the pricing varies by direction, distance, and volume.

TL;DR: Data transfer IN is always free. The first 100GB OUT per month is free. Beyond that, outbound internet transfer costs $0.09/GB (up to 10TB). Cross-AZ traffic costs $0.01/GB each way. Cross-region costs $0.02/GB. The cheapest trick: route traffic through CloudFront — S3-to-CloudFront is free, and CloudFront egress is cheaper than direct.


The Complete Data Transfer Pricing Map

AWS Data Transfer Costs by RouteSource: AWS Pricing, 2026. All prices per GB.Your AWS RegionInternet (IN)FREEInternet (OUT)$0.09/GBSame AZFREECross-AZ$0.01/GBCloudFrontFREEOther Region$0.02/GBGolden rule: keep traffic in the same AZ and route egress through CloudFront

Outbound to Internet (Egress)

Monthly VolumePrice/GB
First 100 GBFree
Up to 10 TB$0.09
Next 40 TB$0.085
Next 100 TB$0.07
Over 150 TB$0.05

Internal AWS Traffic

RoutePrice/GBNotes
Same AZ, same serviceFreeEC2→EC2 via private IP
Same AZ, different serviceFreeEC2→RDS in same AZ
Cross-AZ (same region)$0.01 each direction$0.02 round-trip
Cross-region$0.02One direction
S3 → CloudFrontFreeThe best loophole
S3 → Same-region servicesFreeEC2, Lambda, etc.

Data Transfer IN

SourcePrice
Internet → AWSAlways free
Direct Connect INFree
Any source → S3 (same region)Free

(AWS Data Transfer Pricing, 2026)


Why Data Transfer Costs Surprise You

Most pricing calculators show compute and storage costs. Data transfer is calculated separately and often ignored. Here's how it compounds:

ScenarioCompute CostTransfer CostTransfer as % of Total
API serving 1TB/month$70 (m6i.large)$8154%
SaaS app, 5TB/month$70 (m6i.large)$44186%
Media streaming, 50TB/month$140 (m6i.xlarge)$4,28597%
Multi-AZ microservices, 10TB cross-AZ$350 (5 instances)$20036%

For content-heavy applications, data transfer often exceeds compute costs by 5-10x.

What we see at Wring: Data transfer costs account for 10-25% of total AWS bills for the average customer, but for media, gaming, and SaaS companies, it can reach 40-60%. It's the line item most teams don't track — and the one with the most optimization potential.


Cross-AZ Traffic: Death by a Thousand Cuts

Cross-AZ data transfer costs $0.01/GB in each direction — $0.02 round-trip. That sounds cheap until you realize how much inter-service traffic microservices generate.

The Microservices Multiplier

A typical microservices architecture with 5 services in different AZs:

Service CallPayloadCalls/DayMonthly GBMonthly Cost
API → Auth service2KB500K30 GB$0.60
API → User service5KB300K45 GB$0.90
API → Product service10KB200K60 GB$1.20
API → Order service8KB100K24 GB$0.48
API → Notification3KB400K36 GB$0.72
Total195 GB$3.90

$3.90/month seems trivial. But scale to 10x traffic (5M API calls/day) and it's $39/month. Scale to enterprise (50M calls/day) and it's $390/month — just for cross-AZ chatter between your own services.

How to Reduce Cross-AZ Costs

  1. Co-locate in the same AZ — If two services always communicate, put them in the same AZ. You lose multi-AZ resilience for that pair but save on transfer.
  2. Use AZ-aware routing — Configure your load balancer to prefer same-AZ targets. ALB supports this natively.
  3. Batch API calls — Instead of 10 small requests, send 1 batched request. Same data, 1/10th the request overhead.
  4. Use VPC endpoints — S3 and DynamoDB Gateway Endpoints are free and keep traffic off the public network.

The CloudFront Strategy: Free Transfer from S3

The single biggest data transfer optimization is routing S3 content through CloudFront:

  • S3 direct to internet: $0.09/GB (after 100GB free)
  • S3 to CloudFront: Free
  • CloudFront to internet: $0.085/GB (plus 1TB/month free)

For a website serving 10TB/month from S3:

MethodCost
Direct from S3100GB free + 9,900GB × $0.09 = $891
Via CloudFront1TB free + 9TB × $0.085 = $765
Savings$126/month (14%)

Plus CloudFront delivers faster (CDN caching at edge locations) and reduces S3 request costs since CloudFront caches responses.

For smaller volumes (under 10TB), the savings are even more dramatic because of CloudFront's 1TB free tier:

VolumeDirect S3Via CloudFrontSavings
500 GB$36Free (under 1TB)100%
1 TB$81Free100%
2 TB$171$8550%
5 TB$441$34023%

NAT Gateway: The Silent Drainer

NAT Gateway is one of the most expensive networking components on AWS. It lets private subnet resources access the internet:

ComponentPrice
NAT Gateway per hour$0.045 (~$32.40/month)
Data processing$0.045/GB

That $0.045/GB processing fee adds up fast. A NAT Gateway processing 1TB/month costs $45 in processing alone — plus the $32 hourly charge = $77/month for one NAT Gateway.

Most companies run 2-3 NAT Gateways (one per AZ). At 1TB/month each, that's $231/month just for NAT.

NAT Gateway Alternatives

  • VPC Endpoints (Gateway): Free for S3 and DynamoDB. Route traffic directly without NAT.
  • VPC Endpoints (Interface): $0.01/hr + $0.01/GB. Cheaper than NAT for specific services.
  • NAT Instance: Run a t3.nano as a NAT instance ($3.80/month). Less reliable but 95% cheaper for low-volume traffic.

The S3 VPC Endpoint quick win: Adding a free S3 Gateway Endpoint to your VPC immediately removes all S3 traffic from your NAT Gateway. If your applications download data from S3 through NAT (common in containerized apps pulling config/assets), this single change can cut NAT processing costs by 30-70%.


Direct Connect vs. Internet Transfer

For companies moving large volumes of data regularly, AWS Direct Connect provides dedicated network connections:

ConnectionPort Fee/MonthData Transfer/GB
Internet (egress)$0.09
Direct Connect (1Gbps)$0.30/hr (~$219/mo)$0.02
Direct Connect (10Gbps)$2.25/hr (~$1,642/mo)$0.02

The break-even point: at roughly 5TB/month of egress, Direct Connect 1Gbps becomes cheaper than internet transfer. At 10TB+, the savings are substantial.

Monthly VolumeInternet CostDirect Connect CostSavings
5 TB$441$219 + $100 = $319$122 (28%)
20 TB$1,700$219 + $400 = $619$1,081 (64%)
100 TB$7,000$219 + $2,000 = $2,219$4,781 (68%)

Frequently Asked Questions

Is data transfer into AWS free?

Yes, always. All data transfer into AWS from the internet is free, regardless of volume. Data transfer into S3, EC2, RDS, and all other services from the internet costs $0. This applies globally across all regions.

How much does cross-region data transfer cost?

$0.02/GB for data transfer between AWS regions. This applies to all services — EC2, S3, RDS replication, etc. Cross-region replication for S3 costs $0.02/GB for the transfer plus the destination storage costs. There's no free tier for cross-region traffic.

What's the cheapest way to transfer large amounts of data out of AWS?

For regular egress over 5TB/month, AWS Direct Connect at $0.02/GB is the cheapest option. For one-time large transfers, AWS Snowball ($300 per device, 80TB capacity) costs effectively $0.00375/GB — the cheapest per-GB rate available. For smaller volumes, CloudFront's 1TB free tier is the easiest win.

Does data transfer between EC2 and S3 cost money?

In the same region, no — EC2 to S3 and S3 to EC2 transfers are free. Cross-region transfers cost $0.02/GB. Always keep your compute and storage in the same region. Add an S3 Gateway Endpoint to your VPC to ensure traffic stays on the AWS network.

How do I track my data transfer costs?

Enable AWS Cost Explorer and filter by "Data Transfer" usage type. Enable VPC Flow Logs to see traffic patterns between services. Use AWS Cost and Usage Report for granular per-service, per-AZ transfer breakdown. Tag your resources so you can attribute transfer costs to specific teams or applications.


Stop Leaking Money on Data Transfer

Data transfer is the most under-optimized cost on AWS. Most teams don't even know how much they spend on it. Here's your action plan:

  1. Check Cost Explorer — Filter by "Data Transfer" to see your current spend
  2. Add S3 Gateway Endpoint — Free, 5-minute setup, immediate NAT savings
  3. Put CloudFront in front of S3 — Free S3→CloudFront + 1TB free egress
  4. Audit NAT Gateways — Check processing volume, consider VPC endpoints
  5. Co-locate services — Same-AZ is free, cross-AZ costs $0.02 round-trip
  6. Use Wring to find all transfer waste — we map your traffic patterns and find savings