awsnetworkingcost-optimizationdata-transfer

Cross-AZ vs cross-region data transfer cost: the two hidden network taxes

Traffic between availability zones costs about $0.01 per GB each way, while traffic between regions runs roughly $0.02 per GB or more. Both are easy to trigger accidentally and both compound at scale. Here is how the two taxes differ and how to avoid them.

The C3X Team··6 min read

Quick answer

AWS charges for data crossing availability zone and region boundaries. Cross-AZ traffic costs about $0.01 per GB in each direction, so a round trip between two zones is about $0.02 per GB. Cross-region traffic costs more, roughly $0.02 per GB and up depending on the regions, and internet egress is higher still at about $0.09 per GB. Both taxes trigger silently when an application talks to a database, cache, or service in a different zone or region. The defense: keep chatty components in the same availability zone and region wherever redundancy allows, because co-location is nearly free while every boundary crossing bills per GB.

Two of the most common surprise line items on an AWS bill are inter-AZ and inter-region data transfer. Both are per-GB charges that appear whenever traffic crosses a boundary, and both are easy to trigger without realizing it, because the code looks the same whether the database is in the same zone or the next one. The rates differ, and so do the ways you avoid them.

The two rates side by side

Traffic typeApproximate rateCommon trigger
Same AZ, private IPFreeCo-located resources
Cross-AZ~$0.01/GB each directionApp and database in different zones
Cross-region~$0.02/GB and upReplication, multi-region designs
Internet egress~$0.09/GBServing users, external APIs

Traffic within a single availability zone over private IPs is free. Cross the zone boundary and you pay about $0.01 per GB in each direction, so a request-and-response round trip costs roughly $0.02 per GB total. Cross the region boundary and the rate rises to about $0.02 per GB and up, depending on the source and destination regions. Internet egress is the most expensive at about $0.09 per GB for the first tier.

How cross-AZ charges sneak in

Cross-AZ cost is the quieter of the two because AWS encourages spreading resources across zones for resilience, and that resilience has a traffic cost. An application server in zone A querying a database in zone B pays cross-AZ both ways on every query. A Kafka or Cassandra cluster replicating across three zones pays cross-AZ on all replication traffic. At a terabyte a day of cross-AZ chatter, the $0.02 per GB round trip is about $600 a month for traffic that stayed inside one region. Theinter-AZ transfer guide covers this in depth.

How cross-region charges add up

Cross-region cost usually comes from deliberate architecture: replicating a database to a second region for disaster recovery, serving a multi-region application, or copying data between regions. Because the rate is higher and the volumes in replication can be large, cross-region transfer can become a major line item. A multi-region active-active design pays cross-region on every synchronization, which is whymulti-region designs carry a real ongoing tax on top of the duplicated infrastructure.

Cutting both taxes

For cross-AZ, co-locate chatty components in the same zone where your redundancy model allows, use zone-aware clients that prefer same-zone endpoints, and be deliberate about which traffic truly needs to cross zones for resilience. For cross-region, minimize the data replicated, compress it, and question whether the second region's benefit justifies the ongoing transfer cost. Both are among theunexpected charges that compound silently, and both respond to the same principle: keep data close to the compute that uses it.

Because these charges depend on architecture, they are best caught at design time when you can still change where components sit. Price your topology against the resource catalog so the cross-AZ and cross-region transfer is a known number before the traffic starts flowing.

FAQ

How much does cross-AZ data transfer cost?

About $0.01 per GB in each direction, so a request-and-response round trip between two availability zones costs roughly $0.02 per GB total. It triggers whenever an application talks to a database, cache, or service in a different zone. At a terabyte a day of cross-AZ traffic, that is about $600 a month for data that never left the region.

How much does cross-region data transfer cost?

Roughly $0.02 per GB and up, depending on the source and destination regions, which is more than cross-AZ. It usually comes from deliberate architecture like database replication to a second region for disaster recovery or serving a multi-region application. Because replication volumes can be large and the rate is higher, cross-region transfer can become a major bill line.

Is data transfer within an availability zone free?

Yes, traffic between resources in the same availability zone over private IP addresses is free. This is why co-locating chatty components in the same zone is the cheapest option: same-zone private traffic costs nothing, while every crossing of a zone or region boundary bills per GB. Using public IPs even within a zone, however, incurs charges, so use private addressing.

Why is cross-AZ cost easy to miss?

Because AWS encourages spreading resources across zones for resilience, and the code looks identical whether the database is in the same zone or the next one. An app querying a database in another zone pays cross-AZ on every round trip silently. Clustered systems replicating across zones pay it on all replication traffic. The charge accumulates without any obvious signal until it appears on the bill.

How do I reduce data transfer costs across zones and regions?

For cross-AZ, co-locate chatty components in the same zone where redundancy allows, use zone-aware clients that prefer same-zone endpoints, and be deliberate about which traffic truly needs to cross zones. For cross-region, minimize and compress replicated data and question whether the second region's benefit justifies the ongoing transfer cost. The principle for both is keeping data close to the compute that uses it.

How does C3X help with data transfer cost?

C3X prices your topology from Terraform before you deploy, so cross-AZ and cross-region data transfer implications are visible in the pull request. Because these charges depend on where components sit, catching them at design time lets you co-locate chatty resources and reconsider multi-region replication before the per-GB traffic starts flowing and compounds on the monthly bill.

What to do next

Catch cross-AZ and cross-region transfer cost before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.