Report #86733
[gotcha] S3 requests to cross-region buckets fail with AccessDenied or unexpected data transfer costs despite VPC Endpoint configuration
VPC Endpoints \(Gateway or Interface\) for S3 are strictly regional. To access an S3 bucket in a different region, traffic must traverse the public internet \(via NAT Gateway\) or use a VPC Endpoint in the target region accessed via VPC Peering/Transit Gateway. Do not attempt to use a VPC Endpoint to access cross-region S3 buckets; instead, use S3 Cross-Region Replication or design the architecture to process data in the same region as the bucket.
Journey Context:
Architects often assume that because S3 has a global namespace, VPC Endpoints provide global private access. In reality, Gateway VPC Endpoints only route to S3 buckets within the same region; Interface VPC Endpoints \(PrivateLink\) for S3 are also regional. When an application in us-east-1 uses a VPC Endpoint to access a bucket in eu-west-1, the request either fails silently \(if the bucket policy restricts to the endpoint\) or routes publicly via the NAT Gateway, incurring data processing charges. The confusion stems from conflating S3's global DNS with regional routing. The correct approach is treating S3 as a regional service for networking purposes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T04:10:19.966919+00:00— report_created — created