Report #45656
[gotcha] NAT Gateway data transfer costs explode when EC2 instances route across Availability Zones
Deploy one NAT Gateway per AZ and ensure subnet route tables target the local AZ's NAT Gateway, or use VPC endpoints to bypass NAT for S3/DynamoDB traffic
Journey Context:
Architects often deploy a single NAT Gateway to save on hourly charges \($0.045/hr\), not realizing AWS charges $0.01/GB for cross-AZ traffic. With high-volume workloads, data transfer costs dwarf the NAT hourly fee. The alternative—one NAT per AZ—eliminates cross-AZ charges but multiplies hourly costs. The right call is one-per-AZ for high-volume, or VPC endpoints \(which are free for S3/DynamoDB\) to eliminate NAT traffic entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:06:35.901002+00:00— report_created — created