Azure SQL Server - 防火墙和虚拟网络 - Azure 忽略我的虚拟网络连接

Azure SQL Server - 防火墙和虚拟网络 - Azure 忽略我的虚拟网络连接

我正在尝试通过虚拟网络连接到 Azure SQL 服务器实例。我已经设置好了,连接正常。然后我将 vnet 添加到防火墙和虚拟网络。端点状态为“已启用”,状态为“就绪”。我已将 Microsoft.sql 添加为服务端点。

但是,当我尝试通过 SSMS 连接到服务器时,它完全忽略了这一切,而是要求我允许我的个人 IP 地址。我不想为每个想要访问的用户添加一个 IP 地址,我不明白为什么 Azure 会忽略我的虚拟网络规则。这太令人恼火了。

我已经使用 SQL VM 尝试了所有这些操作,但结果更是一场灾难。

有人有什么想法吗?

f/w 规则的屏幕截图

答案1

服务端点不支持通过 VPN 连接传输到网络端点的流量,请参阅这里

要允许从您的本地机器进行访问,您有两个选择。

  1. 使用“客户端 IP 地址”部分添加本地出口点的 IP。通常大多数公司网络只有几个出口 IP,但如果您有很多出口 IP,这显然很难维护。
  2. 尝试使用 Private Link 而不是服务端点。Private Link 为 vNet 上的 SQL 数据库提供私有 IP,并且支持通过 VPN 和 Express Route 连接进行访问。您可以查看其工作原理这里

答案2

Azure VPN 目前采用分路隧道。因此,Azure SQL 的身份验证通过 VPN 运行。但实际连接仍在开放互联网上运行。

您可以向虚拟网络添加私有端点。令人沮丧的是,这将只允许虚拟网络上的任何虚拟机访问 Azure SQL Server。

但是,使用 SQL 托管实例,通过 Azure VPN 连接到 SQL 服务器实际上是可行的。不同之处在于托管实例要昂贵得多。所以我怀疑这是微软试图向人们推销更昂贵的产品。

可以理解的是,这对你帮助不大。但我们仍然可以做一些事情,这取决于你的目标。

我目前允许公司员工在家办公的设置是在虚拟网络中运行 OpenVPN VM,并让每个人都连接到该 VM。这样你就有 1 个 IP 地址可以添加到防火墙。所有客户端都将共享该地址。

OpenVPN 服务器可在 Azure 市场中找到(免费 - 您只需支付虚拟机的计算费用)。您需要从https://openvpn.net/

如果您只想向防火墙添加一个 IP 地址,那么这就足够了。

如果您的目标是通过 VPN 实现端到端的整个连接,那么我仍在努力实现这一点。我仍在努力让私有端点通过 openVPN 连接工作。

希望这可以帮助

罗伯托

相关内容