AWS Glue与Redshift连接报错:VPC S3端点验证失败求解决方案
解决Glue连接Redshift时VPC S3端点验证失败的步骤
1. 检查目标子网的路由表
错误指向的子网为subnet-0ec2f5b729f868155,先确认其路由表配置:
- 登录AWS控制台,进入VPC服务的子网页面,搜索该子网ID,查看它关联的路由表ID。
- 进入路由表页面,打开对应路由表,检查是否存在以下任一路由条目:
- 目标为
0.0.0.0/0,指向NAT网关(用于通过公网访问S3) - 目标为
com.amazonaws.<你的AWS区域>.s3,指向S3 VPC端点(vpce-开头的ID)
如果两种路由都缺失,这就是核心问题,需添加其中一种。
- 目标为
2. 配置S3 VPC网关端点(私有子网推荐)
若子网为私有子网,优先配置S3网关端点实现内网访问:
- 在VPC服务的端点页面,点击「创建端点」:
- 服务类型选择网关,搜索并选择
com.amazonaws.<你的区域>.s3 - 选择目标VPC(
vpc-0a3d73ac9fd20182f) - 关联步骤1中找到的子网路由表
- 保持默认策略(或按需限制访问),完成创建。
- 服务类型选择网关,搜索并选择
- 返回路由表页面,确认已自动添加S3前缀的路由条目,目标为新建的S3端点。
3. 配置NAT网关(公网访问S3场景)
若需通过公网访问S3,需确保子网路由指向NAT网关:
- 进入VPC服务的NAT网关页面,确认同VPC下存在状态为「可用」的NAT网关,且已绑定弹性IP。
- 打开子网关联的路由表,添加路由:
- 目标:
0.0.0.0/0 - 目标类型:选择「NAT网关」,并选中可用的NAT网关ID
- 目标:
- 确认路由表已正确关联到
subnet-0ec2f5b729f868155。
4. 校验Glue连接的子网与安全组
- 进入Glue服务的连接页面,找到测试用的Redshift连接:
- 确认连接配置中的子网为
subnet-0ec2f5b729f868155,无选错情况。 - 检查关联的安全组出站规则:需允许到S3的访问(若用VPC端点,允许访问S3端点的IP段;若用NAT,允许所有出站或S3的HTTPS端口)。
- 确认连接配置中的子网为
5. 确认Glue IAM角色权限
验证Glue使用的IAM角色包含以下必要权限:
- S3访问权限:
s3:GetObject、s3:ListBucket(按需调整范围到目标CSV桶) - Redshift访问权限:
redshift:DescribeClusters、redshift:GetClusterCredentials - VPC资源读取权限:
ec2:DescribeSubnets、ec2:DescribeSecurityGroups、ec2:DescribeVpcEndpoints
6. 重新测试连接
完成上述配置后,回到Glue连接页面,点击「测试连接」验证是否成功。
内容的提问来源于stack exchange,提问作者Ajit Jadhav
相关产品推荐
相关产品推荐

