跨区域VPC/Peering访问S3延迟优化:伦敦EC2访问澳洲S3高延迟问题咨询
跨区域S3低延迟内部访问解决方案
问题根因
你当前遇到的延迟差问题核心原因是:已配置的跨区域VPC Peering流量走AWS私有骨干网,所以跨区EC2 ping延迟极低;但S3请求默认解析到ap-southeast-2区域的公网S3端点,请求全程走公网WAN,没有复用Peering的骨干网链路,因此产生了过高的访问延迟。
可行配置方案
以下所有方案均不需要修改现有生产S3桶的原有配置、权限规则,不会对现有线上业务造成任何影响
方案1:复用现有VPC Peering实现S3内部访问(无额外成本)
操作步骤:- 在澳大利亚区域(ap-southeast-2)的对等VPC中创建S3网关端点,关联该VPC的路由表,开启
ap-southeast-2区域S3流量的内部转发 - 在伦敦区域EC2所属VPC的路由表中,添加
ap-southeast-2区域S3公网CIDR段的路由规则,下一跳指向已有的跨区域VPC Peering连接 - 伦敦EC2的S3Client保持
RegionEndpoint为ApSouthEast2即可,不需要修改桶访问路径;也可显式指定Endpoint为s3.ap-southeast-2.amazonaws.com强制走内部解析 - 验证链路:在伦敦EC2上执行
nslookup s3.ap-southeast-2.amazonaws.com,确认返回的IP属于AWS内部S3网段而非公网IP即可
该方案所有改动仅在两个VPC的网络配置侧,完全不涉及S3桶侧调整,配置完成后10KB小文件拉取耗时可降至200ms以内。
- 在澳大利亚区域(ap-southeast-2)的对等VPC中创建S3网关端点,关联该VPC的路由表,开启
方案2:使用S3多区域接入点(MRAP)实现更低延迟访问
操作步骤:- 为澳大利亚区域的现有S3桶创建多区域接入点,接入点覆盖伦敦、澳大利亚两个区域即可
- 在伦敦区域EC2所属VPC中创建S3接口端点,关联到刚刚创建的多区域接入点
- 修改伦敦EC2的S3Client配置,将请求目标指向多区域接入点的端点地址
该方案不需要依赖现有VPC Peering资源,请求全程走AWS全球骨干网,延迟比方案1低15%左右,仅需要给S3桶新增接入点关联,原有公网访问、权限配置完全保留不受影响。
配置后验证
可以通过AWS CLI执行测试命令验证优化效果:aws s3 cp s3://<你的桶名>/<10KB测试文件> ./ --region ap-southeast-2 --debug
查看debug日志中的请求IP,确认没有走公网IP,同时统计拉取耗时即可。
内容的提问来源于stack exchange,提问作者The_Chud
相关产品推荐
相关产品推荐

