Azure sql database 从Azure VM连接到SQL Azure-内部IP或公共VIP

Azure sql database 从Azure VM连接到SQL Azure-内部IP或公共VIP,azure-sql-database,azure-virtual-machine,Azure Sql Database,Azure Virtual Machine,我有一个SQL Azure数据库和Azure虚拟机,其中一个应用程序连接到该数据库 它们位于同一数据中心和同一Azure下 订阅 我将虚拟机的公共虚拟IP添加到 “管理”的“服务器配置”页面中允许的IP地址 门户网站 Windows Azure服务在“允许的服务”中标记为“是” 节 尝试连接时,我收到异常:“不允许IP地址为“x.x.x.x”的客户端访问服务器。”,其中x.x.x.x是VM的内部IP。我对在允许的IP规则中使用内部IP犹豫不决。SQL Azure在连接期间不应该看到VM的公共

我有一个SQL Azure数据库和Azure虚拟机,其中一个应用程序连接到该数据库

  • 它们位于同一数据中心和同一Azure下 订阅

  • 我将虚拟机的公共虚拟IP添加到 “管理”的“服务器配置”页面中允许的IP地址 门户网站

  • Windows Azure服务在“允许的服务”中标记为“是” 节

尝试连接时,我收到异常:“不允许IP地址为“x.x.x.x”的客户端访问服务器。”,其中x.x.x.x是VM的内部IP。我对在允许的IP规则中使用内部IP犹豫不决。SQL Azure在连接期间不应该看到VM的公共IP吗

我对在允许的IP规则中使用内部IP犹豫不决。SQL不应该吗 Azure是否在连接期间看到VM的公共IP

这些电话是通过内部网络进行的,因此永远不会离开数据中心。为什么不添加如下规则,通过打开Azure数据库上的以下IP范围仅允许内部调用:

10.0.0.0 to 10.0.0.255

在上述情况下,您不需要担心VM上的临时IP。

也许可以尝试查看azure cmdlet,它允许您通过脚本管理防火墙规则。您可以添加一个启动作业,以使用新的IP更新特定规则,如果vm更改为迁移或重新启动,则可以使用新的IP更新特定规则

具体而言,这些powershell cmdlet:

  • 新建SqlAzureFirewallRule-将新的Sql Azure防火墙规则添加到 服务器
  • 获取SqlAzureFirewallRules-返回的防火墙规则 指定的Sql Azure服务器
  • 删除SqlAzureFirewallRule- 删除现有的Sql Azure fireall规则

这是否意味着数据中心内的任何其他虚拟机(包括其他租户)都可以连接到数据库?TVIP代表虚拟IP,是外部、公共和计量的。DIP是内部、专用和负载平衡的。Azure提供了一个API来发现您的DIP–不要假设您知道它们,因为它们是动态IP。Azure不会让您看到系统内部的其他下降。参考: