AWS Glue测试连接成功但笔记本JDBC连PostgreSQL RDS失败
排查AWS Glue Notebook连接PostgreSQL RDS超时的问题
以下是几个关键排查方向:
1. 确认Glue Notebook会话的VPC网络配置
启动Notebook会话时,必须在高级选项中开启VPC访问,并指定与RDS完全一致的:
- VPC
- 子网(需选择至少两个私有子网,Glue要求多子网配置)
- 安全组(关联到RDS的那个安全组)
如果会话未配置VPC,Glue Notebook的执行环境会处于公网环境,无法访问VPC内的RDS实例。
2. 验证安全组的入站规则细节
虽然你配置了安全组允许自身TCP入站,仍需确认:
- 入站规则的协议端口范围是否明确包含PostgreSQL的5432端口(或确实是
0-65535覆盖所有TCP端口) - 规则的源是否是RDS关联的安全组ID(而非名称,避免名称变更导致的匹配错误)
- Glue Notebook会话创建的弹性网络接口(ENI)是否属于该安全组(可在EC2控制台的ENI列表中,通过Glue角色名称过滤查看)
3. 检查RDS实例的网络访问配置
- 确认RDS的公有可访问性设置为
否:如果开启公网访问,Glue Notebook可能尝试走公网连接,但安全组未开放公网入站,导致超时。VPC内访问RDS应使用内网域名,无需公网访问。 - 验证RDS的子网组包含的子网,与Glue Notebook选择的子网属于同一个VPC且状态正常。
4. 确认JDBC连接字符串的正确性
- 确保使用RDS的内网端点(而非公网端点),内网端点格式为
xxxxxx.cpk4quoi6dws.eu-north-1.rds.amazonaws.com,在VPC内访问时延迟更低且更稳定。 - 检查数据库名称
db是否正确,以及用户名密码无拼写错误。
5. 排查Glue版本与驱动兼容性
- 对于Glue 2.0及以下版本,默认未包含PostgreSQL JDBC驱动,需手动上传驱动至S3并在会话配置中指定路径;Glue 3.0及以上版本默认包含驱动,可跳过此步骤。
内容的提问来源于stack exchange,提问作者LucG
相关产品推荐
相关产品推荐

