Azure Cloud Shell

由于 Azure 账户有好几个,每次登录门户进行某些设置会显得麻烦,因此选用在自己的 Lenovo yoga 上通过 Windows 终端使用 Azure Cli 来更新 Azure VM 的相关公用 IPv4 位址

以下仅针对 IPv4 位址的相关更新,IPv6 此处不做研究

预先准备

  • Azure 账户启用任意一个有效订阅
  • Azure 资源组中至少有虚拟机,公共 IP 位址,网路接口
  • Azure 门户中已为 Cloud Shell 进行初始化设定
  • Windows 终端可以使用 Azure Cloud Shell

本次使用我的即用即付订阅,1 台香港地区的 B1s 类型 Azure VM 为示例

  • 资源组:AzureVMHK_group
  • Azure VM:AzureVMHK
  • 公共 IP 位址:AzureVMHK-ip
  • 网路接口:azurevmhk41
  • IP 组态1:ipconfig1
  • IP 组态2:ipconfig2

Azure Cli使用

列出所需资源名称

一共需要 3 个必要的名称:资源组名称、网路介面名称、IP 组态名称

使用以下命令分别列出 Azure 账户中的所有资源组、资源组 AzureVMHK_group 的网路介面名称、资源组 AzureVMHK_group 的所有公用 IP 位址,资源组 AzureVMHK_group 中 azurevmhk41网路接口的所有 IP 组态名称

<nic-name> 替换为网路接口的名称,并将 <resource-group-name> 替换为资源组的名称

az group list --output table

#az network nic list --resource-group <resource-group-name> --output table
az network nic list --resource-group AzureVMHK_group --output table

#az network public-ip list --resource-group <resource-group-name> --output table
az network public-ip list --resource-group AzureVMHK_group --output table

#az network nic ip-config list --nic-name <nic-name> --resource-group <resource-group-name> --output table
az network nic ip-config list --nic-name azurevmhk41 --resource-group AzureVMHK_group --output table

列出所需资源名称

停止并启动虚拟机运行(可选)

仅对对应虚拟机进行停止操作,使用以下命令 Azure 依然会对你的虚拟机进行计费

请将 <vm-name> 替换为虚拟机的名称,并将 <resource-group-name> 替换为资源组的名称。

#az vm stop --name <vm-name> --resource-group <resource-group-name>
az vm stop --name AzureVMHK --resource-group AzureVMHK_group

#az vm start --name <vm-name> --resource-group <resource-group-name>
az vm start --name AzureVMHK --resource-group AzureVMHK_group

使用 --remove 参数从网路接口中移除公用IP位址

使用 --remove 参数从网路接口的 IP 组态中移除公用 IP 位址

<ip-config-name> 替换为 IP 组态的名称,<nic-name> 替换为网路接口的名称,并将 <resource-group-name> 替换为对应资源组的名称。

#az network nic ip-config update --name <ip-config-name> --nic-name <nic-name> --resource-group <resource-group-name> --remove publicIPAddress
az network nic ip-config update --name ipconfig1 --nic-name azurevmhk41 --resource-group AzureVMHK_group --remove publicIPAddress

移除公用IP位址

更新新的公用IP位址并关联到对应网路接口

请根据 IP 位址类型进行更新,Dynamic or Static

动态公用IP位址更新

请将 <ip-config-name> 替换为 IP 组态的名称,<nic-name> 替换为对应网路接口的名称,<public-ip-name> 替换为新创建的公共 IP 位址的名称,并将 <resource-group-name> 替换为资源组的名称

#az network nic ip-config update --name <ip-config-name> --nic-name <nic-name> --resource-group <resource-group-name> --public-ip-address <public-ip-name>
az network nic ip-config update --name ipconfig1 --nic-name azurevmhk41 --resource-group AzureVMHK_group --public-ip-address AzureVMHK-ip

动态公用IP位址更新

静态公用IP位址更新

请将 <public-ip-name> 替换为新公共 IP 位址的名称,<static-ip-address> 替换为静态 IP 位址(这个情况下为 20.24.194.210),并将 <resource-group-name> 替换为资源组的名称

#az network public-ip create --name <public-ip-name> --resource-group <resource-group-name> --allocation-method Static --ip-address <static-ip-address>
az network public-ip create --name AzureVMHK-ip-1 --resource-group AzureVMHK_group --allocation-method Static --ip-address "20.24.194.210"

#az network nic ip-config update --name <ip-config-name> --nic-name <nic-name> --resource-group <resource-group-name> --public-ip-address <public-ip-name>
az network nic ip-config update --name ipconfig1 --nic-name azurevmhk41 --resource-group AzureVMHK_group --public-ip-address AzureVMHK-ip-1

查询公用IP位址的详细资料

#az network public-ip show --resource-group <resource-group-name> --name <public-ip-name> --query <JMESPath Str>
az network public-ip show --resource-group AzureVMHK_group --name AzureVMHK-ip --query "{fqdn: dnsSettings.fqdn, address: ipAddress, ip_allocation_method: publicIPAllocationMethod}"

返回 json 示例如下

{
  "address": "20.24.*.*",
  "fqdn": "*.eastasia.cloudapp.azure.com",
  "ip_allocation_method": "Dynamic"
}

查询公用IP位址的详细资料

Azure 门户中查看IP位址

参考资料

Azure Cloud Shell快速入門 | Microsoft Learn

az network nic ip-config | Microsoft Learn

az network public-ip | Microsoft Learn

設定 Azure 網路介面的 IP 位址 | Microsoft Learn

Public IP Addresses - Create Or Update - REST API (Azure Virtual Networks) | Microsoft Learn

最后修改:2023 年 07 月 22 日
如果觉得我的文章对你有用,请随意赞赏