更改 Azure 网络接口的 IP 地址

Change IP addresses of a Azure network interface

我被要求更改 Azure 网络接口 IP 地址。我知道这可以通过门户或 Powershell 轻松完成,如 here.

所述

不过,我想通过 REST 进行同样的操作。根据我的发现,只能通过 REST(https://docs.microsoft.com/en-us/rest/api/virtualnetwork/networkinterfaceipconfigurations) 检索网络接口的 IP 配置,但我没有看到可以通过其 associate/disassociate IP 地址的端点网络接口。我是不是忽略了什么或者它现在不受支持?

要更改 Azure 网络接口 IP 地址,一件重要的事情是网络接口必须始终至少分配一个私有 IPv4 地址。所以正确的顺序是:

  1. 使用新的 IP 地址创建新的 IP 配置;
  2. 如你所愿删除旧 IP 配置。

您可以使用 REST API: Network Interfaces - Create Or Update 来实现它,这里是一个示例,我假设您的网络接口只有一个名为 ipconfig1 的 IP 配置,然后使用正文如下的 REST API:

{
  "name": "nicName",
  "id": "nicResourceId",
  "location": "region",
  "properties": {
    "provisioningState": "Succeeded",
    "ipConfigurations": [
        {
            "name": "ipconfig2",
            "properties": {
                "privateIPAllocationMethod": "Dynamic",
                "subnet": {
                    "id": "subnetResourceId"
                },
                "primary": true,
                "privateIPAddressVersion": "IPv4"
            }
        }
    ],
    "dnsSettings": {
      "dnsServers": [],
      "appliedDnsServers": []
    },
    "enableAcceleratedNetworking": true,
    "enableIPForwarding": false
  },
  "type": "Microsoft.Network/networkInterfaces"
}

完成后,您的网络接口将只有一个名为 ipconfig2 的 IP 配置以及一个新的 IP 地址。您也可以使用静态分配方式,根据需要使用特殊的IP地址。