Report #99209
[gotcha] Why did my AWS data transfer bill explode despite low outbound/internet traffic?
Model NAT Gateway as two separate costs: an hourly charge per gateway and a data processing charge for every gigabyte that traverses it \(around $0.045/GB in many regions\), on top of standard EC2 data transfer. For S3/DynamoDB traffic from private subnets, use gateway VPC endpoints to eliminate NAT Gateway data processing charges entirely; for IPv6 outbound internet, use an egress-only internet gateway.
Journey Context:
Teams often build a 'secure' architecture with all workloads in private subnets and a NAT Gateway for outbound internet. They assume they only pay for internet data transfer, but AWS charges for every GB processed by the NAT Gateway regardless of destination — including same-region S3 traffic that would otherwise be free. The fix isn't to remove NAT gateways \(they still provide inbound protection\), but to route high-volume AWS service traffic through VPC endpoints and to size/place NAT gateways intentionally.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:45:06.754301+00:00— report_created — created