What the issue is
When instances in private subnets access S3 through a NAT gateway instead of an S3 gateway endpoint, you pay network processing charges that may not be necessary.
This usually happens because the initial VPC design worked and nobody revisited the route once traffic patterns matured.
- Private subnet workloads pulling or pushing large S3 data volumes
- Legacy VPC setups without endpoint standards
- Teams that see NAT spend but do not know which traffic pattern causes it