【问题标题】:ReservedIPs for Azure VMs in a single VNet/subnet单个 VNet/子网中 Azure VM 的保留 IP
【发布时间】: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


    【解决方案1】:

    是的,您可以使用 powershell 命令为虚拟机分配静态 IP-

    get-azurevm -servicename "testservice" -name "testvm" | Set-AzureStaticVNetIP -IPAddress "10.87.96.41" | Update-AzureVM
    

    接下来要确保当实例进入停止状态时不会丢失 IP。为此,您可以使用 powershell 中的 stop azure vm 命令定义显式参数StayProvisioned-

    stop-azurevm -ServiceName "testservice" -Name "testvm" -StayProvisioned
    

    即使虚拟机停止,StayProvisioned 也不允许释放 IP。

    如果你正在寻找VM的公共IP-

    “每个虚拟机都会自动分配一个免费的公共虚拟 IP (VIP) 地址”

    为了找到公共 ip 转到 Azure 门户,然后是你的 VM 仪表板。在右侧,您会看到一个快速浏览选项卡,您可以在该选项卡下查看公共 IP。快照供您参考-

    您可以使用此公共 ip 使用 RDP 直接连接到 vm。使用 powershell,您可以使用以下命令。

    Get-AzureVM -ServiceName "testservice" -Name "testvm" | select PublicIPAddress
    

    注意 - 如果实例处于停止状态,公共 IP 将为空。要了解有关公共 IP 的更多信息,您可以阅读此内容-

    https://azure.microsoft.com/en-in/documentation/articles/virtual-networks-instance-level-public-ip/

    [已编辑]

    【讨论】:

    • 谢谢。我相信这会修复服务内的 IP,因此服务内的所有 IP 都具有静态 IP。但是您仍然无法使用 IP 从浏览器访问此 VM。我正在寻找将固定公共 IP 分配给 VM 的东西。
    • 这会将固定的私有 ip 分配给 vm。你可以使用这个ip进行rdp。
    • 但是,如果您想将保留 IP 用于现有虚拟机,那么此链接肯定会对您有所帮助-stackoverflow.com/questions/28454255/…
    • 好吧,我尝试了这个 Aatif,当我在同一个 VNet 中有一个 VM 而不是 8 个 VM 时,它会有所帮助。
    • 你分享的链接我之前访问过,谢谢:)
    猜你喜欢
    • 2019-03-01
    • 1970-01-01
    • 2014-08-13
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2015-11-02
    相关资源
    最近更新 更多