Report #16930
[gotcha] Unexpected high NAT Gateway 'Data Processing' charges exceeding data transfer costs in multi-AZ VPCs
Deploy one NAT Gateway per Availability Zone and configure each subnet's route table to route 0.0.0.0/0 to the NAT Gateway in the same AZ; never route traffic from an instance in one AZ through a NAT Gateway in a different AZ.
Journey Context:
NAT Gateway bills $0.045 per GB 'Data Processing' fee for each GB processed, independent of data transfer charges. When an instance in AZ-1 routes through a NAT Gateway in AZ-2 \(common when teams deploy a single NAT to 'save money'\), AWS charges: \(1\) Cross-AZ data transfer \($0.01/GB\), \(2\) NAT Data Processing fee in the source AZ, and \(3\) potential double-charging if return traffic is also mismatched. A single NAT in a 3-AZ setup processing 10TB/month saves ~$70 in hourly costs but incurs ~$450\+ in processing fees. The correct pattern is '1 NAT per AZ with AZ-specific route tables'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:57:51.905535+00:00— report_created — created