如何从AWS Glue访问Azure SQL数据库?连接故障排查求助
解决AWS Glue访问Azure SQL数据库的VPC配置指南
我来帮你梳理下跨云场景下,AWS Glue访问Azure SQL数据库时,VPC层面需要调整的关键配置,以及其他容易忽略的检查点——毕竟跨云连接的坑不少,咱们一步步来:
AWS Glue侧的VPC出站配置
首先得确保Glue所在的VPC能正常出站到Azure SQL的公网端点:
- 检查Glue使用的安全组出站规则:找到Glue作业/爬虫关联的安全组,添加一条出站规则:类型选
TCP,端口范围填1433(Azure SQL默认端口),目标填写Azure SQL数据库服务器的公网IP地址(或者该服务器FQDN对应的IP段)。如果不确定IP,可以用nslookup在本地解析Azure SQL的FQDN得到。 - 确认子网路由表的公网访问能力:如果Glue部署在公有子网,路由表需要有一条指向互联网网关(IGW)的路由;如果是私有子网,必须配置NAT网关,并且路由表里有指向NAT网关的路由,这样私有子网内的Glue才能通过NAT网关访问公网资源。
Azure SQL侧的入站防火墙配置
Azure这边得允许来自AWS Glue的流量:
- 登录Azure门户,进入你的SQL数据库服务器,打开「防火墙和虚拟网络」设置。
- 添加AWS侧的公网出口IP到防火墙白名单:这个IP是Glue所在VPC的NAT网关公网IP(私有子网场景),或者公有子网关联的弹性IP(公有子网场景)。添加时可以直接输入IP地址,备注清楚是AWS Glue的访问IP。
- 确认公共端点状态:确保Azure SQL服务器的「允许公共网络访问」设置为「选定的网络」或者「所有网络」(测试环境可临时选所有网络排查问题,生产环境建议选选定的网络)。
其他关键检查项
除了VPC和防火墙,这些点也容易导致连接失败:
- Glue连接配置验证:在AWS Glue控制台创建连接时,选择「Azure SQL Database」类型,准确填写服务器FQDN、数据库名称、认证用户名和密码,并且关联到刚才配置好的VPC子网和安全组。创建后可以点击「测试连接」快速验证。
- 网络连通性测试:在Glue所在VPC的EC2实例上,用命令
telnet <azure-sql-fqdn> 1433或者nc -zv <azure-sql-fqdn> 1433测试端口连通性。如果EC2能通但Glue不行,大概率是Glue的IAM角色权限不足(比如缺少glue:*相关权限),或者连接配置有误。 - DNS解析检查:在EC2实例上执行
nslookup <azure-sql-fqdn>,确认能正确解析到Azure SQL的公网IP。如果解析失败,需要检查VPC的DNS设置(默认用AWS DNS一般没问题,要是自定义了DNS服务器得确保能解析公网域名)。
内容的提问来源于stack exchange,提问作者kannandreams
相关产品推荐
相关产品推荐

