如何从 Azure 中的 VM 分离静态 public IP+网络接口?

How to dissociate a static public IP+network interface from a VM in Azure?

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

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

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

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

按照上面的命令在你的问题中分离一个 public IP 地址后,你可以将这个分离的 Public IP 地址附加到一个新的 nic(没有 public IP 地址) .由于 Nic 冲突错误,您可以验证您是否正在尝试附加正在与另一个 NIC 使用的 public IP 地址。

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

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

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

使用 Terraform,您可以通过在 resource "azurerm_network_interface".

中使用 public_ip_address_id 将 Public IP 地址与此 NIC 相关联