Azure:删除实例及其所有相关资源(磁盘、网络接口)的脚本或命令
Azure: Script or Command to delete instance and all its associated resources (disks, network interface)
我正在尝试找到一种方法来删除 azure 中的实例及其所有相关资源。但我没有看到任何直接的方法来完成它。我正在使用目前仅删除实例的 az vm delete -g resourcegroup -n myinstancename--yes
命令。在我的场景中,我不能使用powershell。
为了测试,我用 1 NIC, 1 Public IP and 2 Data disks
.
创建了一个虚拟机
然后,我使用了下面的 az CLI
脚本:
$osDisk = (az vm show --resource-group ansumantest --name ansumantest --query "storageProfile.osDisk.name" --output tsv)
$datadisks = (az vm show --resource-group ansumantest --name ansumantest --query "storageProfile.dataDisks[].name" --output tsv)
$nics= (az vm show --resource-group ansumantest --name ansumantest --query "networkProfile.networkInterfaces[].id" --output tsv)
foreach ($nic in $nics){
$publicIps=az network nic show --id $nic --query "ipConfigurations[].publicIpAddress.id" --output tsv
}
az vm delete --resource-group ansumantest --name ansumantest --yes
if ($osDisk) {
az disk show --resource-group ansumantest --name $osDisk --yes
}
foreach ($datadisk in $Datadisks){
az disk delete --resource-group ansumantest --name $datadisk --yes
}
foreach ($nic in $nics){
az network nic delete --id $nic
}
foreach ($publicIp in $publicIps){
az network public-ip delete --id $publicIp
}
输出:
或
您可以直接删除所有资源,同时 运行使用 VM 删除命令 也可以,但是有一些 先决条件 对于此方法,即在使用 CLI 创建 VM 时,您必须配置如下几个功能:
根据 az vm create
部分中的 Microsoft Document:
- [--os-disk-delete-option {删除,分离}]
Specify the behavior of
the managed disk when the VM gets deleted i.e whether the managed
disk is deleted or detached.
accepted values: Delete, Detach
- [--数据磁盘删除选项]
Specify whether data disk should be deleted or detached upon VM deletion.
- [--nic-delete-option]
Specify what happens to the network interface when the VM is
deleted. Use a singular value to apply on all resources, or use = to
configure the delete behavior for individual resources. Possible
options are Delete and Detach.
如果上面3个配置为在创建VM时删除,那么当你运行 az vm delete
删除VM时默认删除这些资源
参考:
我正在尝试找到一种方法来删除 azure 中的实例及其所有相关资源。但我没有看到任何直接的方法来完成它。我正在使用目前仅删除实例的 az vm delete -g resourcegroup -n myinstancename--yes
命令。在我的场景中,我不能使用powershell。
为了测试,我用 1 NIC, 1 Public IP and 2 Data disks
.
然后,我使用了下面的 az CLI
脚本:
$osDisk = (az vm show --resource-group ansumantest --name ansumantest --query "storageProfile.osDisk.name" --output tsv)
$datadisks = (az vm show --resource-group ansumantest --name ansumantest --query "storageProfile.dataDisks[].name" --output tsv)
$nics= (az vm show --resource-group ansumantest --name ansumantest --query "networkProfile.networkInterfaces[].id" --output tsv)
foreach ($nic in $nics){
$publicIps=az network nic show --id $nic --query "ipConfigurations[].publicIpAddress.id" --output tsv
}
az vm delete --resource-group ansumantest --name ansumantest --yes
if ($osDisk) {
az disk show --resource-group ansumantest --name $osDisk --yes
}
foreach ($datadisk in $Datadisks){
az disk delete --resource-group ansumantest --name $datadisk --yes
}
foreach ($nic in $nics){
az network nic delete --id $nic
}
foreach ($publicIp in $publicIps){
az network public-ip delete --id $publicIp
}
输出:
或
您可以直接删除所有资源,同时 运行使用 VM 删除命令 也可以,但是有一些 先决条件 对于此方法,即在使用 CLI 创建 VM 时,您必须配置如下几个功能:
根据 az vm create
部分中的 Microsoft Document:
- [--os-disk-delete-option {删除,分离}]
Specify the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. accepted values: Delete, Detach
- [--数据磁盘删除选项]
Specify whether data disk should be deleted or detached upon VM deletion.
- [--nic-delete-option]
Specify what happens to the network interface when the VM is deleted. Use a singular value to apply on all resources, or use = to configure the delete behavior for individual resources. Possible options are Delete and Detach.
如果上面3个配置为在创建VM时删除,那么当你运行 az vm delete
删除VM时默认删除这些资源
参考: