Azure应用移入VNet后无法连接带私有端点的第三方SQL Azure数据库
解决方案:SaaS应用访问带Private Endpoint的Azure SQL数据库
问题核心
当客户的Azure SQL数据库配置了Private Endpoint后,数据库域名只会解析为privatelink别名,SaaS应用所在VNet的默认DNS无法将该别名解析为公网IP,导致连接失败;同时我们需要保留固定出站IP的要求,不能禁用VNet的出站路由。
一、SaaS侧自有VNet单一修改方案(推荐)
- 配置自定义DNS转发
在你的VNet中调整DNS设置,让客户SQL域名的查询走Azure公共DNS,绕过私有解析:- 登录Azure门户,找到你的SaaS应用所在VNet,进入DNS服务器配置页。
- 将默认的「Azure提供的DNS」改为自定义DNS,填入
168.63.129.16(如果已有其他DNS服务器,把这个地址放在列表最前面)。 - 保存配置后,在VNet内的虚拟机上执行
nslookup <客户SQL域名>,确认能解析到公网IP而非privatelink地址。
- 备注:这个修改是全局的,对所有客户的SQL域名生效,不需要为每个客户单独配置。
二、给客户的操作指引(当SaaS侧无法修改时)
如果你的VNet无法调整DNS,可让客户执行以下操作:
- 启用SQL数据库的公共访问
客户登录Azure门户,进入其SQL数据库的网络设置:- 开启「公共网络访问」,选择「选定的网络」。
- 将你的SaaS应用固定IP加入防火墙白名单。
- 勾选「允许Azure服务和资源访问此服务器」(作为补充验证,核心还是IP白名单)。
- Private DNS区域添加例外记录
客户如果想保留Private Endpoint给内部使用,同时允许你的SaaS访问:- 找到对应
privatelink.database.windows.net的Private DNS区域。 - 添加一条A记录,主机名填SQL数据库的前缀(比如
xyz对应xyz.database.windows.net),值填该SQL的公网IP(客户可以在公网环境用nslookup获取)。
- 找到对应
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

