Azure CLI将Ubuntu虚拟机公网IP改为静态的技术求助
解决Azure Ubuntu虚拟机公网IP改为静态的问题
别担心,卡关一周确实让人头疼,我来一步步帮你搞定把公网IP改成静态的操作:
首先先修正你之前获取NIC命令里的小错误:你把资源组名称写成了gropname(少了个u),而且az network nic show的参数应该用你捕获的$nic_id变量,正确的命令应该是:
nic_id=$(az vm show -g groupname -n MyVm1 -d --query networkProfile.networkInterfaces[0].id -o tsv) az network nic show --ids $nic_id
(加上-o tsv是为了去掉输出的引号,让变量能正确被后续命令识别使用)
接下来正式进入修改公网IP为静态的步骤:
步骤1:获取公网IP的ID和当前分配方式
首先从NIC里提取关联的公网IP ID:
pip_id=$(az network nic show --ids $nic_id --query ipConfigurations[0].publicIpAddress.id -o tsv)
然后查看当前的分配方式,确认是动态模式:
az network public-ip show --ids $pip_id --query publicIpAllocationMethod
正常输出应该是"Dynamic"。
步骤2:将公网IP改为静态
使用Azure CLI命令更新公网IP的分配方式:
az network public-ip update --ids $pip_id --set publicIpAllocationMethod=Static
执行完成后,命令会返回更新后的公网IP详情,你可以看到publicIpAllocationMethod已经变成"Static"了。
步骤3:验证修改是否生效
再次执行查看命令确认结果:
az network public-ip show --ids $pip_id --query publicIpAllocationMethod
如果输出是"Static",就说明修改成功啦!
另外要提醒你:改成静态后,这个公网IP会一直绑定到你的虚拟机(除非你主动释放),而动态IP在虚拟机停止/重启时可能会发生变化,这也是静态IP的核心优势。
内容的提问来源于stack exchange,提问作者nitin khandelwal
相关产品推荐
相关产品推荐

