Report #17315
[gotcha] Unexpected data transfer charges when using NAT Gateway in different AZ than EC2 instance
Deploy one NAT Gateway per AZ where you have resources, and use route tables to ensure instances use the NAT Gateway in their own AZ.
Journey Context:
NAT Gateway pricing includes hourly charge, data processing charge \($0.045/GB\), and data transfer charges. The gotcha is that if an EC2 instance in AZ-1 sends traffic to a NAT Gateway in AZ-2 \(e.g., to save money by using only one NAT Gateway for the VPC\), AWS charges cross-AZ data transfer fees \(typically $0.01/GB\) in addition to the NAT processing and egress fees. For high-volume traffic, this 1¢/GB adds up significantly. Many cost-optimization guides incorrectly suggest one NAT Gateway for multi-AZ VPCs, ignoring this cross-AZ charge. The fix is deploying NAT Gateways in each AZ and ensuring routing keeps traffic within the AZ.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T04:57:46.723614+00:00— report_created — created