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

AWS Glue运行ETL作业调用getDynamicFrame报S3连接超时如何解决

AWS Glue连接S3超时问题排查修复

核心报错信息如下:

An error occurred while calling o95.getDynamicFrame. Unable to execute HTTP request: Connect to mybucketname.s3.ap-southeast-1.amazonaws.com:443 [mybucketname.s3.ap-southeast-1.amazonaws.com/ip] failed: connect timed out

这个报错出现在Glue读取S3数据生成DynamicFrame的阶段,本质是Glue作业的运行节点和目标S3存储桶443端口无法建立TCP连接,按以下优先级从高到低排查即可:

1. 优先排查Glue作业关联的VPC网络配置(90%以上故障出自这里)

绝大多数场景是用户为了让Glue访问同VPC下的Redshift集群,给Glue作业绑定了自定义VPC连接,但没给VPC子网配置访问S3的通路:

  • 走内网访问S3(推荐方案,无公网流量费用):给Glue作业所在子网关联的路由表添加S3服务路由,目标选择ap-southeast-1区域对应的S3前缀列表,下一跳绑定S3网关终端节点。注意终端节点的访问策略必须放通目标存储桶的访问权限,不要在策略里做不必要的拦截。
  • 走公网访问S3:确认Glue作业所在的是私有子网,且子网路由表绑定了配置公网IP的NAT网关——Glue的VPC运行节点默认不会自动分配公网IP,直接把节点放在公有子网也没法直接访问公网,必须走NAT。
  • 检查安全组规则:Glue作业关联的安全组必须放通443端口的出站流量,不需要限定过于严格的目标地址段,至少要覆盖S3的服务网段。
  • 检查网络ACL:对应子网的网络ACL需要双向放通443端口、以及1024-65535的临时端口流量,避免ACL在无状态层面丢弃连接数据包。

2. 校验S3侧配置与权限

  • 确认Glue作业绑定的IAM角色拥有目标存储桶的s3:ListBucket、s3:GetObject权限;如果存储桶用了KMS自定义密钥加密,还要给角色附加对应KMS密钥的kms:Decrypt权限。
  • 确认存储桶确实部署在ap-southeast-1区域,桶名拼写正确,不存在跨区域访问被内网策略拦截的问题。
  • 检查存储桶桶策略,没有拒绝Glue作业所在VPC/出口IP段的访问规则,也没有强制要求特殊访问端点导致连接被拦截。

3. 校验Glue作业本身配置

  • 开启Glue作业的CloudWatch连续日志,查看作业运行节点的详细日志,确认是所有运行节点都报超时,还是个别节点网络异常。
  • 核对Glue VPC连接配置,确认选中的子网、安全组和你之前做网络配置的资源一致,没有误选到无S3通路的子网。
  • 快速定位方法:临时创建一个不绑定任何VPC的Glue测试作业,用相同IAM角色读取同一个S3路径,如果测试作业能正常读取,可100%确认故障出在自定义VPC的网络配置上,回到第一部分逐项核对即可。

4. 低频故障排查

  • 如果VPC内自定义了DNS服务器,在同VPC同子网下创建一台测试EC2,执行nslookup mybucketname.s3.ap-southeast-1.amazonaws.com确认域名解析结果正确,没有把S3域名解析到无效IP;同时执行telnet mybucketname.s3.ap-southeast-1.amazonaws.com 443验证端口连通性。
  • 开启VPC流日志,筛选Glue作业对应的弹性网卡流量,查看443端口的连接是被路由丢弃、还是被安全组/ACL拒绝,快速定位拦截点。
  • 如果存储桶配置了IP白名单,确认白名单已包含Glue作业访问S3的出口IP段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:48:22