【发布时间】:2015-12-17 04:04:14
【问题描述】:
我有 8 个 VM(基于 Linux)在 Azure 上运行一个 VNet。如果我有两个虚拟机在同一个端口上运行服务,它会显示我的机器状态或显示一些特定于虚拟机的常见细节。比如说
VM-1 在 8080 端口上运行服务,并且相同的服务已部署在运行在同一端口 8080 上的 VM-2 上。要访问在端口 8080 上运行的服务,我将通过以下方式在 VM-1 上打开一个端口终点。我可以使用 servicename.webapp.net:8080 通过 VM-1 从 Web 浏览器访问 8080。但是如果我想检查 VM-2 的状态,我无法打开 VM-2 上的 8080 端口。可能是因为端口是在服务级别而不是 VM 级别打开的。有没有办法可以在 VM 级别打开端口并使用 VM-x:port?
我认为可能有用的另一种方法是:将 staticIP/ReservedIP 分配给每个 VM 并在单个计算机上打开端口应该是可能的,而不是在 VNet/服务级别打开端口。一旦启动并运行,是否可以为所有 8 台机器分配静态/保留 IP?而且我们还需要确保所有八台机器在重启后保持相同的IP。
我尝试了关注博客https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-reserved-public-ip/ 并尝试了以下命令:
$image = Get-AzureVMImage|?{$_.ImageName -like "*AMI-20150919-849187*"}
New-AzureVMConfig -Name StaticIPVMCOnfig -InstanceSize Small -ImageName $image.ImageName
-CurrentStorageAccountName "myStorageACName"
| Add-AzureProvisioningConfig -Linux -LinuxUser root -Password MyP@ssword!
| New-AzureVM -ServiceName myCloudServiceName -ReservedIPName MyReservedIP
-Location "West Europe"
我仍然看到新 VM 启动时使用与 VNet 中其他 VM 相同的 VIP。我不确定我是否遗漏了什么。
在没有静态/保留IP CMDlet 的情况下创建的附加屏幕截图。另一个是从 PowerShell 创建的。两者共享同一个 VIP。
PS:我故意保留公共 VIP 以表明它们是相同的。 (我已关闭,不再使用此服务)。
谢谢, 乙肝
【问题讨论】:
标签: linux azure networking azure-virtual-machine azure-powershell