Report #42027
[gotcha] Unexpected high AWS data transfer costs with single NAT Gateway
Deploy one NAT Gateway per Availability Zone and configure route tables to use the local AZ NAT Gateway, avoiding cross-AZ data transfer charges
Journey Context:
A single NAT Gateway in AZ-1 serving instances in AZ-2 creates a hidden cost: traffic leaves the instance \(AZ-2\), crosses to the NAT Gateway \(AZ-1\) incurring $0.01/GB cross-AZ charge, then exits to the internet incurring NAT processing \($0.045/GB\) and data egress. The return path incurs another cross-AZ charge. At scale, this $0.02/GB overhead overshadows the $32/month NAT Gateway cost. Deploying one per AZ eliminates cross-AZ transfer, and route tables must explicitly target the NAT Gateway in the same AZ to prevent asymmetric routing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T01:00:54.164870+00:00— report_created — created