我已在 Azure 中成功配置了 SQL 2008 VM,添加了映射到端口 1433 的端点,并为入站流量设置了 Windows 防火墙规则以连接到 SQL 服务器。
我想要应用的下一个设置是限制可以访问 SQL 服务器的远程 IP 地址。门户中配置的 Windows Azure 端点不允许 IP 限制,因此我转到 Windows 防火墙高级设置、入站规则,并在防火墙规则的范围设置(远程 IP 地址)中添加了我办公室的 IP 地址。应用这些 IP 地址导致两个位置的访问都被拒绝(通用服务器不存在/不可用消息)。我检查了一遍又一遍,发现范围中有正确的 IP 地址。我删除了 IP 范围设置,然后就可以再次连接了。
关于为什么防火墙/SQL 服务器无法正确应用远程 IP 地址范围设置,您有什么想法吗?
答案1
目前仅支持通过 PowerShell 在端点上设置 IP ACL,不支持通过门户。如果您查看 Michael Washam 的博客文章关于此,您可以查看所有详细信息。本质上,您将执行如下操作:
$acl = New-AzureAclConfig
Set-AzureAclConfig -AddRule Permit -RemoteSubnet "w.x.y.z/24" -Order 1 -ACL $acl -Description "..."
Get-AzureVM -ServiceName myservice -Name myvm |
Set-AzureEndpoint -Name myport -Protocol tcp -PublicPort xxx -LocalPort yyy -ACL $acl |
Update-AzureVM
注意:尝试设置 ACL 时可能会出现错误。我在一些较旧的服务中看到过这种情况,因此我怀疑有一些内部更新来支持较旧部署中不存在的 ACL。只需删除并重新添加需要 ACL 的端点即可轻松修复。