Report #40668
[gotcha] Unexpected high data transfer costs with NAT Gateway \(data processing fees\)
Migrate S3 and DynamoDB traffic to Gateway VPC Endpoints \(free\) and other AWS service traffic to Interface VPC Endpoints \(PrivateLink\) to bypass NAT Gateway entirely; for non-AWS destinations, consider NAT instances for predictable cost.
Journey Context:
NAT Gateway has a hidden 'data processing' charge \(~$0.045/GB in us-east-1\) in addition to the hourly rate and standard data transfer out charges. This fee applies to every GB traversing the NAT Gateway, including traffic to other AWS services like S3 or DynamoDB if accessed over the internet gateway. A common architecture places private subnets with NAT for 'security', then sees massive bills from high S3 throughput, not realizing the $0.045/GB 'tax' applies. The fix is not to 'optimize' the NAT but to bypass it: S3 and DynamoDB support Gateway VPC Endpoints \(route-table based, free\), which keep traffic on the AWS backbone without NAT. For other services \(ECR, SNS, etc.\), Interface Endpoints \(PrivateLink\) incur hourly costs but remove the per-GB processing fee and improve security. NAT instances \(self-managed HA\) avoid processing fees but add operational risk.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:44:03.152689+00:00— report_created — created