你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将公共 IP 地址与 Azure VM 取消关联
本文介绍如何将公共 IP 地址与 Azure 虚拟机 (VM) 取消关联。 移除 VM 的公共 IP 地址也会去除其连接到 Internet 的能力。
可以使用 Azure 门户、Azure CLI 或 Azure PowerShell 将公共 IP 地址与 VM 分离。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
Azure 门户
登录 Azure 门户。
浏览或搜索要将公共 IP 地址与之取消关联的虚拟机,然后将其选中。
在 VM 页中选择“概述”,然后选择公共 IP 地址。
在公共 IP 地址页面中,选择“概述”,然后选择“取消关联”。
在“取消关联公共 IP 地址”中,选择“是”。
Azure CLI
安装 Azure CLI,或使用 Azure Cloud Shell。 Azure Cloud Shell 是可直接在 Azure 门户中运行的免费 shell。 它预安装有 Azure CLI 并将其配置为与帐户一起使用。
- 如果在 Bash 本地使用 CLI,请使用
az login
登录到 Azure。
公共 IP 地址将关联到 VM 上附加的网络接口的 IP 配置。 使用 az network nic-ip-config update 命令将公共 IP 地址与 IP 配置取消关联。
以下示例将公共 IP 地址 myVMPublicIP 与资源组 myResourceGroup 中现有网络接口 myVMNic(已附加到名为 myVM 的 VM)的 IP 配置 ipconfigmyVM 取消关联。
az network nic ip-config update \
--name ipconfigmyVM \
--resource-group myResourceGroup \
--nic-name myVMNic \
--public-ip-address null
如果你不知道附加到 VM 的网络接口的名称,请使用 az vm nic list 命令查看名称。 例如,以下命令会列出附加到资源组 myResourceGroup 中 VM myVM 的网络接口的名称:
az vm nic list --vm-name myVM --resource-group myResourceGroup
输出中包含类似于以下示例的一个或多个行:
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
在上一示例中,myVMVic 是网络接口的名称。
如果你不知道网络接口的 IP 配置的名称,请使用 az network nic ip-config list 命令来检索名称。 例如,以下命令列出了名为 myResourceGroup 的资源组中名为 myVMNic 的网络接口的 IP 配置的名称:
az network nic ip-config list --nic-name myVMNic --resource-group myResourceGroup --out table
输出类似于以下示例:
Name Primary PrivateIpAddress PrivateIpAddressVersion PrivateIpAllocationMethod ProvisioningState ResourceGroup ------------ --------- ------------------ ------------------------- --------------------------- ------------------- --------------- ipconfigmyVM True 10.0.0.4 IPv4 Dynamic Succeeded myResourceGroup
在上一示例中,ipconfigmyVM 是 IP 配置的名称。
如果你不知道与 IP 配置关联的公共 IP 地址的名称,请使用 az network nic ip-config show 命令来检索名称。 例如,以下命令会列出资源组 myResourceGroup 中网络接口 myVMNic 的公共 IP 地址的名称:
az network nic ip-config show --name ipconfigmyVM --nic-name myVMNic --resource-group myResourceGroup --query publicIpAddress.id
输出中包含类似于以下示例的一个或多个行:
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myVMPublicIP",
在上一示例中,myVMPublicIP 是公共 IP 地址的名称。
PowerShell
安装 PowerShell,或使用 Azure Cloud Shell。 Azure Cloud Shell 是可直接在 Azure 门户中运行的免费 shell。 它预安装有 PowerShell,并配置为与帐户一起使用。
- 如果在本地使用 PowerShell,请使用
Connect-AzAccount
登录到 Azure。
公共 IP 地址将关联到 VM 上附加的网络接口的 IP 配置。 使用 Get-AzNetworkInterface 命令获取网络接口。 将公共 IP 地址值设置为 null,然后使用 Set-AzNetworkInterface 命令将新 IP 配置写入网络接口。
以下示例将公共 IP 地址 myVMPublicIP 与网络接口 myVMNic(已附加到名为 myVM 的 VM)取消关联。 所有资源位于名为 myResourceGroup 的资源组中。
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroup myResourceGroup
$nic.IpConfigurations[0].PublicIpAddress = $null
Set-AzNetworkInterface -NetworkInterface $nic
如果你不知道附加到 VM 的网络接口的名称,请使用 Get-AzVM 命令来查看名称。 例如,以下命令会列出附加到资源组 myResourceGroup 中 VM myVM 的网络接口的名称:
$vm = Get-AzVM -name myVM -ResourceGroupName myResourceGroup $vm.NetworkProfile
输出中包含类似于以下示例的一个或多个行:
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
在上一个示例中,myVMNic 是网络接口的名称。
如果你不知道网络接口的 IP 配置的名称,请使用 Get-AzNetworkInterface 命令检索名称。 例如,以下命令列出了名为 myResourceGroup 的资源组中名为 myVMNic 的网络接口的 IP 配置的名称:
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup $nic.IPConfigurations.Id
输出中包含类似于以下示例的一个或多个行:
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic/ipConfigurations/ipconfigmyVM"
在上一示例中,ipconfigmyVM 是 IP 配置的名称。
如果你不知道与 IP 配置关联的公共 IP 地址的名称,请使用 Get-AzNetworkInterface 命令来检索名称。 例如,以下命令会列出资源组 myResourceGroup 中网络接口 myVMNic 的公共 IP 地址的名称:
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup $nic.IPConfigurations.PublicIpAddress.Id
输出中包含类似于以下示例的一个或多个行:
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP"
在上一示例中,myVMPublicIP 是公共 IP 地址的名称。
后续步骤
本文介绍了如何将公共 IP 地址与虚拟机取消关联。
详细了解 Azure 中的公共 IP 地址。
了解如何将公共 IP 地址关联到 VM。
了解如何为 Azure 网络接口配置 IP 地址。