Are cloud data transfers free? The rules that decide
Some cloud data transfers are free (inbound, same-AZ private traffic) and some are expensive (egress to the internet, cross-region, cross-AZ). Knowing which is which is essential to avoiding surprise bills. Here is the map.
Quick answer
Some cloud data transfers are free and some are not, and the difference is direction and boundary. Inbound data (into the cloud) is generally free. Data transfer out to the internet (egress) is charged per GB and is the most common surprise. Cross-region transfer is charged. Cross-availability-zone transfer within a region is charged (a small per-GB rate each way on AWS). Same-AZ traffic over private IPs is typically free. So the rule of thumb: bringing data in is free, sending it out or across boundaries costs money, and the further and more public the destination, the more it costs.
Cloud data transfer pricing feels arbitrary until you learn the underlying rule: providers charge based on direction (in vs out) and boundary crossed (same zone, across zones, across regions, out to the internet). Get that map straight and the surprises mostly disappear. Some transfers really are free; others are among the most commonly under-estimated costs on the bill.
The free transfers
Inbound data transfer, data flowing into the cloud from the internet, is generally free across major providers, because they want your data in their platform. Traffic between resources in the same availability zone using private IP addresses is typically free too. And many providers do not charge for transfer between their services within the same region in certain paths. So a lot of internal, same-zone, private traffic costs nothing.
The transfers that cost money
| Transfer | Charged? |
|---|---|
| Inbound from internet | Free |
| Same-AZ, private IP | Usually free |
| Cross-AZ within a region | Charged, small per-GB each way |
| Cross-region | Charged per GB |
| Out to the internet (egress) | Charged per GB, the main cost |
Data transfer out to the internet is the headline cost: charged per GB, tiered down at very high volume, and easy to underestimate for a high-traffic app or a media-heavy service. Cross-region transfer (replicating data between regions) is charged and adds up forcross-region replication. Cross-AZ transfer within a region carries a small per-GB charge each direction, which surprises people running multi-AZ architectures with lots of inter-zone chatter.
Why cross-AZ traffic surprises people
The cross-AZ charge is the sneakiest, because good architecture spreads workloads across availability zones for resilience, which then generates inter-zone traffic that bills per GB each way. A chatty microservices setup or a database replicating across zones can accrue meaningful cross-AZ cost without anyone noticing, since it is internal traffic that never leaves the region. Keeping tightly-coupled, high-traffic components in the same AZ where resilience allows reduces this.
How to keep transfer cost down
Keep chatty traffic within a single AZ where resilience permits, use private endpoints and same-region service paths to avoid egress, put a CDN in front of internet-facing content so cached bytes are cheaper than repeated origin egress, and be deliberate about cross-region replication (it is a real per-GB cost, not free redundancy). The mental model is simple: data in is free, data out and across boundaries costs money, and egress to the public internet is the line item to watch most closely.
FAQ
Which cloud data transfers are free?
Inbound data transfer (into the cloud from the internet) is generally free, since providers want your data on their platform. Traffic between resources in the same availability zone over private IP addresses is typically free. Many same-region service-to-service paths are also free. So internal, same-zone, private traffic usually costs nothing; it is sending data out or across boundaries that costs money.
Is data transfer out of the cloud expensive?
Data transfer out to the internet (egress) is charged per GB and is the most commonly underestimated cost on the bill. Rates tier down at very high volume but add up fast for high-traffic apps and media-heavy services. It is the headline data transfer cost, which is why fronting internet-facing content with a CDN, so cached bytes replace repeated origin egress, is a standard cost-saving move.
Does cross-AZ data transfer cost money on AWS?
Yes. Transfer between availability zones within a region carries a small per-GB charge in each direction on AWS. This surprises people because spreading workloads across AZs for resilience generates inter-zone traffic that bills per GB, even though it never leaves the region. Chatty microservices or cross-AZ database replication can accrue meaningful cost, so keeping tightly-coupled high-traffic components in one AZ where resilience allows helps.
Is data transfer between regions free?
No. Cross-region data transfer is charged per GB, which matters for cross-region replication, multi-region architectures, and moving datasets between regions. It is real per-GB cost, not free redundancy, so cross-region replication should be a deliberate decision. Within a single region, same-AZ private traffic is usually free while cross-AZ traffic carries a small charge.
How do I reduce cloud data transfer costs?
Keep chatty traffic within a single availability zone where resilience permits, use private endpoints and same-region service paths to avoid internet egress, put a CDN in front of internet-facing content so cached bytes replace repeated origin egress, and treat cross-region replication as a deliberate cost rather than free redundancy. The rule of thumb: data in is free, data out and across boundaries costs money.
Does C3X account for data transfer cost?
C3X prices infrastructure from Terraform before deploy, focusing on the resources you define. Data transfer is usage-driven and depends on runtime traffic patterns, so exact egress is hard to predict from Terraform alone, but C3X helps you see the resources (NAT gateways, load balancers, cross-region setups) whose configuration drives transfer cost, so you can reason about it before deploy rather than after the bill.
What to do next
Understand the cost drivers in your infrastructure before you deploy. C3X prices your Terraform against a live resource catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.