Report #53814
[gotcha] Unexpected NAT Gateway data transfer costs when instances communicate across Availability Zones
Deploy one NAT Gateway per Availability Zone and ensure routing tables route traffic to the NAT Gateway in the same AZ as the instance. Use VPC Endpoints \(S3/DynamoDB\) to bypass NAT Gateway for AWS service traffic.
Journey Context:
NAT Gateway charges $0.045 per GB processed plus data transfer fees. A common architecture places one NAT Gateway in a 'shared' subnet for cost savings. If an instance in AZ-1a routes through a NAT Gateway in AZ-1b, AWS charges cross-AZ data transfer \($0.01/GB\) in addition to the NAT processing fee. For high-volume workloads, this doubles or triples networking costs unexpectedly. Many FinOps teams discover this only after reviewing bills. The solution is AZ-local NAT Gateways \(accepting the $0.045/GB processing cost per AZ but avoiding cross-AZ fees\) and using Gateway VPC Endpoints for S3/DynamoDB which are free and bypass NAT entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:49:27.742447+00:00— report_created — created