Report #103007
[gotcha] NAT Gateway charges per gigabyte processed and cross-AZ traffic adds separate data-transfer cost
Place NAT Gateways in the same AZ as the workloads using them. For S3 and DynamoDB traffic, use gateway VPC endpoints to bypass the NAT Gateway entirely and eliminate both data-processing and cross-AZ data-transfer charges.
Journey Context:
Teams see the NAT Gateway hourly rate and assume data to AWS services is free because S3 and DynamoDB do not charge for same-region data transfer. The surprise is that AWS also bills for every gigabyte processed by the NAT Gateway, plus cross-AZ data transfer between the NAT Gateway and the instance. A 1 GB upload to S3 can incur a processing charge even when the data transfer itself is free. Gateway VPC endpoints route traffic privately without NAT; otherwise, co-locating the NAT Gateway with the subnets avoids the cross-AZ penalty.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-10T04:51:44.484530+00:00— report_created — created