从Azure虚拟机连接到SQL Azure -内部IP或公共VIP



我有一个SQL Azure数据库和Azure虚拟机与一个应用程序连接到数据库。

  • 它们位于相同的数据中心和相同的Azure下订阅。

  • 我将虚拟机的公共虚拟IP添加到列表中管理界面的服务器配置页面允许的IP地址门户。

  • Windows Azure服务在"允许的服务"中标记为"是"部分。

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

我犹豫在允许的IP规则中使用内部IP。不应该SQLAzure在连接期间看到虚拟机的公共IP吗?

呼叫是通过内部网络进行的,因此实际上从未离开数据中心。为什么不像下面这样添加一个规则,只允许内部调用,在Azure数据库上打开以下IP范围:

10.0.0.0 to 10.0.0.255

在上面的情况下,你不需要担心你的虚拟机上的瞬态IP

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

特别是这些powershell cmdlet:

  • new - sqlazurefirewallrule -添加一个新的SqlAzure防火墙规则服务器。
  • Get-SqlAzureFirewallRules -返回指定的Sql Azure服务器。
  • Remove-SqlAzureFirewallRule -删除现有的Sql Azure fireall规则。
Sql Azure Cmdlets

最新更新