Report #12002
[gotcha] Unexpected high NAT Gateway data processing costs when traffic crosses Availability Zones
Ensure NAT Gateways are deployed in the same AZ as the resources using them \(symmetric routing\), use VPC Interface Endpoints \(PrivateLink\) for S3/DynamoDB to bypass NAT entirely, or switch to self-managed NAT instances if bandwidth exceeds 10Gbps sustained and cost is prioritized over availability.
Journey Context:
NAT Gateway charges per-GB 'Data Processing' \($0.045/GB\) plus 'Data Transfer' charges. If an EC2 in AZ-1 routes through the NAT Gateway in AZ-2 \(asymmetric routing for 'redundancy'\), AWS charges cross-AZ data transfer \($0.01/GB\) \*plus\* the NAT processing fee. A 1GB transfer can cost $0.055/GB instead of $0.045/GB, and at scale this compounds. Teams often deploy 1 NAT GW per AZ but misconfigure route tables to use a different AZ's NAT GW for 'backup', not realizing the billing impact of cross-AZ traffic. They blame AWS pricing when it's their routing topology.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:50:16.521164+00:00— report_created — created