You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未关联VPC的AWS中国区Lambda访问海外S3超时排查求助

可能遗漏的配置/检查要点
  • AWS中国区与全球区的物理隔离限制
    AWS中国区(北京/宁夏区域)和AWS全球区域属于完全物理隔离的环境,默认情况下中国区Lambda无法直接访问全球区域的S3服务。即便持有有效会话令牌,也必须通过合规的网络通道(如AWS Direct Connect中国区服务、合规VPN)打通跨区域网络,否则必然出现连接超时。

  • S3客户端的区域与端点配置验证
    确保访问全球区S3的客户端(sourceClient)明确指定了目标区域(eu-central-1),避免SDK在中国区环境下默认使用中国区端点:

    val sourceClient = AmazonS3ClientBuilder.standard()
        .withRegion(Regions.EU_CENTRAL_1)
        .withCredentials(STSAssumeRoleSessionCredentialsProvider(...)) // 传入带会话令牌的凭证
        .build()
    

    同时确认客户端使用Signature Version 4签名(全球区S3的默认要求),避免强制使用旧版本签名导致请求被拒绝。

  • 会话令牌的权限与信任关系复核
    重新检查生成会话令牌的STS角色:

    • 权限策略是否明确包含目标S3桶的s3:GetObject操作权限;
    • 角色信任关系是否允许AWS中国区的Lambda执行角色(ARN格式为arn:aws-cn:iam::账号ID:role/角色名)扮演该角色;
    • 会话令牌的有效期是否覆盖Lambda的最长执行时间(900秒),防止执行过程中令牌过期。
  • Lambda临时文件路径配置
    Lambda执行环境仅/tmp目录具备可写权限,File.createTempFile()默认可能尝试在非可写路径创建文件,建议显式指定/tmp目录:

    val bufferedS3Object: File = File.createTempFile(objKey, "", File("/tmp"))
    

    虽然当前错误是连接超时,但该问题可能在后续步骤引发异常,建议提前修正。

  • 出站网络规则限制检查
    若你的AWS中国区账号配置了出站代理、AWS Shield规则或其他网络防火墙策略,需确认这些规则允许Lambda访问S3 eu-central-1区域的端点(端口443)。

内容的提问来源于stack exchange,提问作者nymvno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 06:06:28