Report #101061
[gotcha] Outbound traffic to S3 or DynamoDB in the same AWS region incurs unexpected NAT Gateway charges even though data transfer is free
Use gateway VPC endpoints for S3 and DynamoDB, and Interface VPC endpoints \(AWS PrivateLink\) for other supported services, so traffic stays inside the VPC and bypasses the NAT gateway. Remember NAT gateway bills per gigabyte processed regardless of source or destination, plus hourly and cross-AZ data-transfer fees.
Journey Context:
NAT gateway pricing has two components: hourly and data processing per GB. Many teams know about data-transfer-out-to-internet fees but miss that NAT gateway also charges for processing traffic to regional AWS services such as S3, even when the S3 transfer itself would be free. The AWS pricing example explicitly shows a 1 GB file to S3 via NAT gateway costing a $0.045 data-processing fee, and notes that a gateway VPC endpoint would avoid that charge. The same applies to any intra-region service reached over public IP. Routing tables matter: without a VPC endpoint, the default route \(0.0.0.0/0\) to NAT gateway captures the traffic. For high-volume workloads, endpoint costs are usually far lower than NAT processing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T04:54:52.963530+00:00— report_created — created