Report #97814
[gotcha] AWS NAT Gateway bills data-processing charges for every gigabyte even when traffic stays in the same VPC or AZ
Treat NAT Gateway as a metered per-GB appliance: every packet routed through it incurs a processing charge. For same-VPC or cross-AZ data, account for both NAT processing and data-transfer fees. Move high-volume internal traffic to VPC endpoints, PrivateLink, or EC2 instances with public IPs when security allows.
Journey Context:
Teams often assume 'same VPC = no egress cost' and are surprised when NAT Gateway shows up as a top-line item. AWS charges per gigabyte processed by the NAT Gateway independently of whether the destination is the internet, another AZ, or a VPC endpoint. For example, pulling large container images or streaming logs through a NAT Gateway to an internal endpoint is expensive. VPC endpoints for S3, DynamoDB, ECR, and CloudWatch remove NAT processing for those services; for other internal traffic, consider public IPs on isolated subnets or PrivateLink. The fix is architectural: do not route high-volume internal traffic through NAT when cheaper paths exist.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T04:45:01.412878+00:00— report_created — created