VPC内AWS Glue连接RDS SQL Server用于爬虫失败,如何配置?
解决AWS Glue连接RDS SQL Server失败的配置要点
针对你遇到的Glue连接测试失败问题,结合已有的环境配置,可从以下核心方向排查和调整:
1. Glue连接的VPC与子网配置
- 确保Glue连接关联RDS实例所在的VPC,选择的子网必须具备出站访问AWS Secrets Manager的能力:
- 若使用公有子网:子网路由表需指向Internet网关,且子网关联的安全组允许出站HTTPS(443)流量到Secrets Manager服务地址。
- 若使用私有子网:需配置NAT网关(子网路由表指向NAT网关),或创建Secrets Manager的VPC网关端点,让Glue资源能直接访问Secrets Manager获取凭证。
2. 安全组双向规则配置
- Glue连接绑定的安全组:
- 出站规则需允许TCP 1433流量到RDS实例的安全组(或RDS实例的私有IP段)。
- 出站规则需允许HTTPS(443)流量,用于访问Secrets Manager。
- RDS实例的安全组:
- 确认入站规则允许TCP 1433流量来自Glue连接绑定的安全组(即使当前配置为允许所有IP,缩小范围到Glue安全组也能避免潜在规则冲突)。
3. Glue连接参数校验
- 连接类型选择
Microsoft SQL Server,填写正确的RDS实例端点(无需携带端口,单独在端口栏输入1433)。 - 数据库名称需与你能成功连接的目标数据库名称完全一致(注意SQL Server的大小写敏感性取决于实例配置,严格匹配可避免问题)。
- 身份验证方式选择AWS Secrets Manager,并指定存储RDS凭证的密钥ARN,确保该密钥包含
username和password两个必填字段(Glue依赖这两个键提取登录信息)。
4. Glue服务角色权限补充
- 确保Glue使用的服务角色具备以下关键权限:
secretsmanager:GetSecretValue:允许读取Secrets Manager中的凭证。ec2:CreateNetworkInterface、ec2:DescribeNetworkInterfaces、ec2:DeleteNetworkInterface:Glue需要创建临时弹性网络接口(ENI)来访问VPC内的RDS实例。- 基础Glue服务权限:可通过附加
AWSGlueServiceRole托管策略获取,确保能操作Glue数据目录等资源。
5. 额外排查项
- 确认RDS实例状态为可用,无维护或重启中的情况。
- 检查RDS参数组,确保已启用TCP/IP连接(SQL Server默认启用,但若有修改需确认)。
- 若使用VPC端点,端点的安全组需允许Glue连接安全组的HTTPS(443)入站流量。
内容的提问来源于stack exchange,提问作者qvt
相关产品推荐
相关产品推荐

