AWS VPC data transfer cost: estimate cross-AZ, cross-region, and egress
VPC data transfer costs often show up as "small" per-GB rates that become large at scale. The hard part is not the math - it is identifying how much traffic crosses pricing boundaries (AZ, region, and internet).
Step 1: Map the traffic boundary (draw the path)
Start with one real request path and draw it end-to-end: client -> edge/CDN -> load balancer -> services -> databases -> third parties. Mark every place traffic crosses AZs, regions, or the public internet.
- Cross-AZ: service calls between instances in different AZs (often accidental)
- Cross-region: replication, multi-region reads, active-active patterns, failover tests
- Internet egress: responses to users/customers/partners and downloads
- NAT paths: private subnets reaching public endpoints or AWS services through NAT (often avoidable with endpoints)
Step 2: Estimate GB/month (pick the best method you can)
Method A: From billing exports (best for budgets)
- In CUR/Cost Explorer, group by usage type and identify transfer-related line items.
- Break down by account and region so "one noisy VPC" does not hide.
Method B: From VPC Flow Logs (best for boundaries)
- Roll up bytes by source/destination and map them to AZ and region boundaries.
- Use flow logs to validate whether a suspected cross-AZ path is real (and how big it is).
Method C: From throughput charts (good first pass)
- Convert Mbps to GB/month with Units Converter.
- Apply a boundary share (for example, "30% of service traffic crosses AZ") and test sensitivity with low/medium/high scenarios.
Step 3: Price the right path
Once you have GB/month per boundary, use a calculator with an effective $/GB for your situation (cross-AZ, cross-region, egress).
Worked estimate template (copy/paste)
- Cross-AZ GB/month = GB/month service-to-service calls that cross AZ
- Cross-region GB/month = replication GB/month + cross-region reads GB/month
- Internet egress GB/month = bytes delivered to users/partners (separate CDN bandwidth from origin egress)
- Total transfer cost = (cross-AZ cost) + (cross-region cost) + (egress cost)
Common pitfalls
- Assuming "same region means free". Many billed paths are within a region (especially cross-AZ).
- Accidental cross-AZ traffic caused by load balancer routing and uneven capacity.
- Sending AWS-service traffic through NAT when a VPC endpoint would keep the path private (and may reduce cost).
- Double-counting CDN bandwidth and origin egress as the same GB.
- Unit errors: Mbps vs MB/s and GB vs GiB (use the Units Converter if needed).
How to validate the estimate
- After one billing cycle, reconcile transfer usage types against your modeled GB/month boundaries.
- Spot-check one suspected path with flow logs to confirm the magnitude and direction.
- Re-run the estimate after major changes (new region, new CDN, new replication, new endpoints).
Related tools and guides
VPC data transfer calculator Cross-AZ transfer cost NAT vs VPC endpoints (cost) Network transfer costs
Sources
Related guides
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.
AWS cross-AZ data transfer cost: causes and estimate steps
A practical guide to AWS cross-AZ data transfer costs: common causes (load balancers, databases, Kubernetes), how to estimate GB crossing zones, and how to reduce it safely.
AWS network cost guide: NAT, VPC endpoints, PrivateLink, and data transfer (what to model)
A practical AWS network cost hub: how to model NAT Gateway, VPC endpoints/PrivateLink, and cross-AZ/cross-region data transfer. Includes formulas, break-even workflow, and a troubleshooting checklist.
VPC endpoints cost optimization: reduce endpoint-hours and avoid transfer pitfalls
A practical playbook to reduce VPC interface endpoint costs: consolidate endpoints, right-size AZ coverage, reduce endpoint GB processed, and avoid cross-AZ transfer pitfalls.
API Gateway pricing: what to model (requests + transfer)
A practical API Gateway pricing checklist: request charges, data transfer, and the add-ons that can show up on the bill.
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.
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.
FAQ
What creates VPC data transfer costs?
Cross-AZ traffic, cross-region traffic, and internet egress are the most common drivers. Many architectures generate unexpected east-west traffic (service calls, replication, cache fill).
How can I estimate GB/month reliably?
Use billing exports, VPC Flow Logs, or service metrics where possible. If you only have throughput charts, convert Mbps to GB/month and sanity-check the share that crosses pricing boundaries.
What's a high-leverage way to reduce transfer spend?
Reduce accidental cross-AZ traffic (placement and routing), keep data locality where possible, and avoid sending AWS-service traffic through NAT by using VPC endpoints when it makes sense.
Why is transfer so hard to budget?
Because the bill depends on the path. The same application can be cheap or expensive depending on where traffic crosses AZ, region, and internet boundaries.
Last updated: 2026-02-07