【问题标题】:How to dissociate a static public IP+network interface from a VM in Azure?如何将静态公共 IP + 网络接口与 Azure 中的 VM 分离?
【发布时间】:2020-09-07 20:26:48
【问题描述】:

如何在 MS Azure 中使用 terraform 将静态公共 IP/网络接口或两者与 VM 分离,并将其附加到另一个 VM,就像弹性 IP 一样在 AWS 中?

如果 azure terraform 不起作用,azure CLI 也是可行的。

我只能找到一种使用 azure CLI 分离 IP 的方法,但由于错误 - NicInUse,无法将其附加到新 VM。

 az network nic ip-config update \
 --name ipconfigmyVM \
 --resource-group myResourceGroup \
 --nic-name myVMVMNic \
 --remove PublicIpAddress

【问题讨论】:

    标签: azure terraform terraform-provider-azure


    【解决方案1】:

    在您按照问题中的上述命令分离公共 IP 地址后,您可以将此取消关联的公共 IP 地址附加到新网卡(没有公共 IP 地址)。由于 Nic 冲突错误,您可以验证您是否尝试附加正在与另一个 NIC 一起使用的公共 IP 地址。

     az network nic ip-config update \
     --name ipconfigmyVM \
     --resource-group myResourceGroup \
     --nic-name myVMVMNic \
     --public-ip-address existingPublicIpAddress
    

    请注意,当您将新公共 IP 附加到旧 Azure Nic 时,新公共 IP 地址应与 NIC 具有相同的区域。如果资源不在同一个资源组中,您可以使用公共 IP 地址的资源 ID。

    --public-ip-address "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/publicIPAddresses/test-pip"
    

    使用 Terraform,您可以通过在 resource "azurerm_network_interface" 中使用 public_ip_address_id 将公共 IP 地址与此 NIC 关联。

    【讨论】:

    • 我的要求是从旧 VM 重用相同的 NIC+公共 IP 并将其附加到新 VM。我认为这在 Azure 中是不可行的。
    • 在 Azure 中,NIC 和公共 Ip 是两个独立的资源。您不能直接重复使用同一个 NIC,但可以直接轻松地重复使用公共 IP 地址。附加 NIC 时,需要先停止 VM,然后附加该 NIC。
    • 你的意思是我可以直接从另一个具有静态公共IP的VM附加一个新VM而不附加NIC?
    • 事实上,当你有一个新部署的虚拟机,它必须有网卡但不需要有公共 IP 地址。所以你可以把旧的公共 IP 地址移到新的。
    猜你喜欢
    • 1970-01-01
    • 2014-09-10
    • 2021-05-02
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    相关资源
    最近更新 更多