如何分离静态公共IP+;Azure中VM的网络接口?

如何分离静态公共IP+;Azure中VM的网络接口?,azure,terraform,terraform-provider-azure,Azure,Terraform,Terraform Provider Azure,如何像AWS中的弹性IP一样,使用MS Azure中的terraform将静态公共IP/网络接口或两者与VM分离,并将其连接到另一个VM 如果azure terraform不起作用,azure CLI也是可行的 我只能找到一种使用azure CLI分离IP的方法,但由于出现错误-NicInUse,无法将其连接到新VM az network nic ip-config update \ --name ipconfigmyVM \ --resource-group myResourceGrou

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

如果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

按照问题中的上述命令分离公共Ip地址后,可以将此分离的公共Ip地址附加到新nic(不带公共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,您可以通过使用
资源“azurerm\u网络\u接口”
将公共IP地址与此NIC关联。我的要求是重用旧VM中相同的NIC+公共IP,并将其连接到新VM。我认为这在Azure中是不可行的。在Azure中,NIC和公共Ip是两个独立的资源。您不能直接重用同一NIC,但可以直接轻松地重用公共IP地址。当您连接NIC时,需要先停止VM,然后再连接该NIC。您的意思是我可以直接从另一个具有静态公共IP的VM连接新VM而不连接NIC吗?事实上,当您有一个新部署的VM,该VM必须具有NIC,但不需要具有公共IP地址时。因此,您可以将旧的公共Ip地址移动到新的公共Ip地址。