我有两台用于数据库和应用程序服务器的虚拟机,我希望应用程序服务器和只有应用程序服务器连接到数据库服务器。
这些都在同一个vnet。 我试图通过保护端点来做到这一点。
使用Azure,我可以看到,如果closures虚拟机,他们将获得新的IP地址,因此我无法在数据库服务器的ACL列表中硬编码应用程序服务器的公共IP地址。 如果我把一个像10.2.0.0/16这样的vnet范围放在acl中,那么我需要我的应用程序服务器数据库连接string使用本地地址,但数据库的本地地址在closures时将会改变。
我能看到的唯一select是build立一个DNS服务器。 有另一种方法吗?
我可能会将dnsangular色添加到我的应用服务器。 这似乎是一个普遍的情况,人们处理这个问题的通常方式是什么?
编辑:我发现如何使用nslookup获得FQDN。 这parsing到10.xxx地址,所以我可以在连接string中使用它。
您可以保留公共和私有IP地址,以避免更改。
私有IP示例:
Get-AzureVM -ServiceName MyCloudService -Name MyVM | Set-AzureStaticVNetIP -IPAddress 10.10.0.7 | Update-AzureVM
公共IP示例:
New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US" Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName MyCloudService
关于NSG与ACL,NSG总是更好的控制和可pipe理性。 通常,我们正在谈论几个虚拟机,想象一下,如果您必须始终添加/删除ACL规则。 在NSG中,您可以为单个VM,组甚至整个子网定义入站和出站规则。
如果您只有几台虚拟机可以pipe理,那么只需使用ACL即可。 默认情况下,ACL将允许0.0.0.0用于打开的端点。 只要你添加一个条目到列表中,它就会变成白名单,所以你可以添加你的应用服务器IP来让它连接到你的数据库。
参考文献
保留的IP概述
如何设置静态内部专用IP
什么是端点访问控制列表(ACL)?
什么是networking安全组(NSG)?