You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL配置ADF私有端点后白名单VNet虚拟机无法连接问题排查

配置问题根因

你遇到的冲突核心是DNS解析规则被Private Endpoint修改,和SQL数据库本身的网络访问开关配置无关:

  • 当你为Azure SQL Database创建任意Private Endpoint后,Azure默认DNS服务会自动将SQL Server的FQDN(格式如xxx.database.windows.net)的解析结果从原先的公共IP,重定向到Private Endpoint对应的私有IP
  • 你当前的虚拟机使用的是Azure默认DNS,访问SQL时会解析到私有IP,而非你预期的公共IP,因此你原先配置的公共端点IP/VNet防火墙规则完全不会生效
  • 如果你为SQL创建的Private Endpoint所在的VNet,和虚拟机所在VNet没有做对等连接、且你也没有给虚拟机所在子网开放访问SQL Private Endpoint的权限,就会出现虚拟机连接失败的问题
可行解决方案

你可以根据自己的安全要求任选一种实现ADF和虚拟机同时访问SQL的需求:

方案1:修改虚拟机所在VNet的DNS解析规则,强制SQL FQDN解析为公共IP

  • 在虚拟机所在VNet的自定义DNS配置中,新增一条DNS记录,将你的SQL Server FQDN指向其公共IP
  • 或者在每台需要通过公共端点访问SQL的虚拟机本地hosts文件中,添加解析记录:[SQL公共IP] [你的SQL Server FQDN]
  • 该方案不需要修改现有网络架构,改完后虚拟机走公共端点访问SQL、ADF走私有端点访问SQL,两者互不影响

方案2:打通虚拟机到SQL Private Endpoint的网络链路

  • 为虚拟机所在VNet和SQL Private Endpoint所在VNet配置VNet对等连接
  • 在SQL Private Endpoint的网络安全组中,允许虚拟机所在子网的IP段访问1433端口
  • 该方案下虚拟机和ADF都走私有链路访问SQL,安全性更高,不需要保留SQL的公共端点防火墙规则

方案3:为ADF使用托管VNet + 托管私有端点

  • 不用在你自己的VNet中创建SQL的Private Endpoint,而是在ADF的托管VNet中创建指向SQL的托管私有端点
  • 此时SQL的FQDN解析仅在ADF托管VNet内部被重定向为私有IP,不会影响你自有VNet中虚拟机的DNS解析结果,虚拟机依然可以通过公共端点正常访问SQL
  • 该方案是微软官方推荐的ADF访问受限Azure资源的最优方案,不需要修改你现有VNet的任何配置

内容的提问来源于stack exchange,提问作者AngiSen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:45:02