AWS cross-AZ data transfer cost: causes and estimate steps
Cross-AZ data transfer costs appear when bytes move between Availability Zones inside a region. The cost is easy to model once you know GB/month crossing zones, but the hard part is identifying what causes the cross-AZ traffic in your architecture.
Quick cross-AZ estimate
- Total GB/month: service traffic at the boundary.
- Cross-AZ share: percent of traffic crossing zones.
- Cost: GB/month x cross-AZ rate.
Common causes of cross-AZ transfer
- Load balancers: traffic enters one AZ and is forwarded to targets in another (cross-zone patterns).
- Databases: multi-AZ replication and client connections crossing AZ boundaries.
- Kubernetes: pods in AZ A calling services/endpoints in AZ B (uneven scheduling or service topology).
- NAT gateways: workloads in one AZ using a NAT gateway in another can create cross-AZ bytes.
- Shared services: centralized logging, proxies, or caches in a single AZ serving multi-AZ workloads.
How to estimate cross-AZ GB/month
- Start from traffic volume: total GB delivered/processed for the service boundary (API, LB, service mesh).
- Estimate cross-AZ fraction: what percent of traffic crosses zones (0% if perfectly zone-local, often 5-20% in practice).
- Cross-AZ GB/month ~= total GB/month x cross-AZ fraction.
Where to get the inputs (practical)
- VPC Flow Logs: measure bytes between subnets/ENIs tagged by AZ.
- Load balancer metrics: identify uneven target distribution and cross-zone behavior windows.
- Kubernetes topology: compare client pod AZ vs endpoint AZ distributions.
If you cannot measure yet, use a conservative range (for example 10-30%) and validate later with flow logs.
How to reduce cross-AZ cost safely
- Keep traffic zone-local: ensure targets/endpoints are evenly spread across AZs and clients prefer same-AZ targets.
- Avoid centralized single-AZ dependencies: caches, proxies, and NAT should be deployed per AZ where possible.
- Validate LB and client behavior: confirm routing policies actually keep traffic local under load and during scale events.
- Watch failure modes: some cross-AZ traffic is the "safety cost" during partial AZ failures; optimize without reducing resilience.
Validation checklist
- Measure cross-AZ GB/day from flow logs for at least 7 days.
- Confirm cross-AZ fraction during deploys and scale events (often worse than steady state).
- After changes, validate both cost reduction and resilience behavior during AZ degradation.
Sources
- EC2 data transfer pricing: aws.amazon.com/ec2/pricing/on-demand
- VPC Flow Logs: docs.aws.amazon.com
Related guides
ECS vs EKS cost: a practical checklist (compute, overhead, and add-ons)
Compare ECS vs EKS cost with a consistent checklist: compute model, platform overhead, scaling behavior, and the line items that often dominate (load balancers, logs, data transfer).
EKS pricing: what to include in a realistic cost estimate
A practical EKS pricing checklist: nodes, control plane, load balancers, storage, logs/metrics, and data transfer — with calculators to estimate each part.
API Gateway vs ALB vs CloudFront cost: what to compare (requests, transfer, add-ons)
A practical cost comparison of API Gateway, Application Load Balancer (ALB), and CloudFront. Compare request pricing, data transfer, caching impact, WAF, logs, and the hidden line items that change the answer.
AWS VPC data transfer cost: estimate cross-AZ, cross-region, and egress
A practical guide to AWS VPC data transfer costs: where transfer happens in real architectures, how to estimate GB/month, and how to avoid surprises.
S3 data transfer costs: egress, cross-region access, and common surprises
A practical guide to S3 data transfer costs: what counts as egress, how cross-region access shows up on bills, and how to estimate GB/month from your traffic patterns.
Aurora Serverless v2 pricing: how to estimate ACUs and avoid surprise bills
A practical way to estimate Aurora Serverless v2 costs: ACU-hours, storage GB-month, backups/retention, and how to model peaks so your estimate survives real traffic.
Related calculators
Data Egress Cost Calculator
Estimate monthly egress spend from GB transferred and $/GB pricing.
API Response Size Transfer Calculator
Estimate monthly transfer from request volume and average response size.
VPC Data Transfer Cost Calculator
Estimate data transfer spend from GB/month and $/GB assumptions.
Cross-region Transfer Cost Calculator
Estimate monthly cross-region transfer cost from GB transferred and $/GB pricing.
Kubernetes Cost Calculator
Estimate cluster cost by sizing nodes from requests and pricing them.
Kubernetes Node Cost Calculator
Estimate cluster monthly cost from node count and per-node hourly pricing.
FAQ
Why do teams get surprised by cross-AZ charges?
Because cross-AZ traffic is often accidental: uneven load balancing, cross-zone connections, and services talking across zones by default.
What is the key input for estimating cross-AZ cost?
GB/month that crosses Availability Zones. Once you have that, you apply the per-GB rate for your region and the relevant traffic boundary.
Last updated: 2026-02-07