我有一个Azure云服务mywebapp.cloudapp.net,它由两个Azure VM组成 - mywebappvm1和mywebappvm2。两个虚拟机都在同一个可用性集中,并且具有相同的DNS名称。
我还为Cloud Service分配了一个区域保留IP地址,以便我可以为我们的客户提供应用程序使用的保证IP地址。
部分应用使用私有后台进程,目前只在其中一个虚拟机上运行。我希望能够通过mywebappvm2在mywebappvm1上运行的TCP连接到该进程。我可以在mywebappvm1上使用公共IP和端点,但我不希望后台服务可以公开访问。
我目前正在使用私人IP地址,但这样安全吗?如果重启,每个虚拟机的私有IP是否会发生变化?我无法通过简单的方法来修复每个虚拟机的私有IP - 这似乎是您可以使用VNET做的事情,但我无法找到有关如何使用云服务和可用性组。
是否有另一种方法可以在可用性集中的多个负载平衡虚拟机上运行Web应用程序,从而使这更容易?
答案 0 :(得分:2)
您所做的绝对安全,实际上是推荐的最佳做法。您不应该转到公共IP地址以便在虚拟机之间进行通信。
将虚拟机组织到虚拟网络和子网中也是一种推荐的最佳做法。
This excellent blog post介绍了如何为虚拟机使用静态IP地址,因此您始终可以100%确保mywebappvm1
总是获得XXX.XXX.XXX.XXX
IP地址,而您mywebappvm2
总是YYY.YYY.YYY.YYY
获取{{1}} IP地址。
请注意,如果您不使用分配给VM的静态IP地址,则可以保证VM的IP地址可能会发生变化。
答案 1 :(得分:0)
无论重新启动,更新或交换,webRole VM实例的IP在部署的生命周期内都不会更改。仅当您删除部署详细here
时,才会发布IP