Удаление виртуальной машины и подключенных ресурсов
В зависимости от способа удаления виртуальной машины, удаление может быть выполнено только в отношении ресурса виртуальной машины, а не сетевых и дисковых ресурсов. Вы можете изменить параметры по умолчанию для других ресурсов, удаляемых при удалении виртуальной машины.
Установка параметров удаления при создании виртуальной машины
- Портал
- CLI
- PowerShell
- REST
- Откройте портал.
- Щелкните + Создать ресурс.
- На странице Создание ресурса в разделе Виртуальные машины выберите Создать.
- Внесите свой выбор в основные сведения, а затем нажмите кнопку «Далее: диски», чтобы открыть вкладку «Диски>«.
- В разделе Параметры диска по умолчанию для диска ОС установлено значение Удалить с виртуальной машиной. Если вы не хотите удалять диск ОС, снимите флажок. Если вы используете существующий диск ОС, по умолчанию при удалении виртуальной машины он отключается.
- В разделе Диски данных можно подключить существующий диск данных или создать новый диск и подключить его к виртуальной машине.
- Если выбрать «Создать и подключить новый диск», откроется страница «Создать новый диск«, и вы можете выбрать, следует ли удалить диск при удалении виртуальной машины.
- Если вы решили подключить существующий диск, можно выбрать диск, LUN и удалить диск данных при удалении виртуальной машины.
- Если выбрать «Создать и подключить новый диск», откроется страница «Создать новый диск«, и вы можете выбрать, следует ли удалить диск при удалении виртуальной машины.
- После добавления сведений о диске нажмите кнопку «Далее: сеть», чтобы открыть вкладку «Сеть>«.
- В нижней части страницы выберите Удалить общедоступный IP-адрес и сетевой адаптер при удалении виртуальной машины.
- Когда все будет готово, выберите Проверка и создание.
- Вы можете проверить, какие ресурсы вы решили удалить при удалении виртуальной машины.
- Если вы удовлетворены своим выбором и прошли проверку, выберите Создать, чтобы развернуть виртуальную машину.
Чтобы указать, что должно происходить с подключенными ресурсами при удалении виртуальной машины, используйте параметры delete-option . Для каждого из них можно задать значение Delete , которое окончательно удаляет ресурс при удалении виртуальной машины или Detach , которое отключает ресурс и оставляет его в Azure, чтобы его можно было использовать позже. Значение по умолчанию для виртуальных машин, созданных с помощью CLI, — это отключение диска ОС. Плата за ресурсы, помеченные Detach , как и за диски, будет взиматься по мере необходимости.
- —os-disk-delete-option —Диск ОС.
- —data-disk-delete-option — Диск данных.
- —nic-delete-option — Сетевой адаптер.
В этом примере мы создадим виртуальную машину с именем myVM в группе ресурсов с именем myResourceGroup с помощью образа myImage, а при удалении виртуальной машины необходимо удалить диск ОС и сетевой адаптер.
az vm create --resource-group myResourceGroup --name myVM --image myImage --public-ip-sku Standard --nic-delete-option delete --os-disk-delete-option delete --admin-username azureuser --generate-ssh-keys
Чтобы указать, что должно происходить с подключенными ресурсами при удалении виртуальной машины, используйте параметры DeleteOption . Для каждого из них можно задать значение Delete , которое окончательно удаляет ресурс при удалении виртуальной машины или Detach , которое отключает ресурс и оставляет его в Azure, чтобы его можно было использовать позже. По умолчанию для виртуальных машин, созданных с помощью PowerShell, при удалении виртуальной машины диск ОС отключается. Плата за ресурсы, помеченные Detach , как и за диски, будет взиматься по мере необходимости.
Используются следующие параметры DeleteOption :
- -OSDiskDeleteOption —Диск ОС.
- -DataDiskDeleteOption — Диск данных.
- -NetworkInterfaceDeleteOption — Сетевой адаптер.
В этом примере мы создадим виртуальную машину и настроим диск ОС и сетевой адаптер на удаление при удалении виртуальной машины.
New-AzVm ` -ResourceGroupName "myResourceGroup" ` -Name "myVM" ` -OSDiskDeleteOption Delete ` -NetworkInterfaceDeleteOption Delete ` -Location "East US" ` -VirtualNetworkName "myVnet" ` -SubnetName "mySubnet" ` -SecurityGroupName "myNetworkSecurityGroup" ` -PublicIpAddressName "myPublicIpAddress"
В этом примере показано, как настроить диск данных и сетевой адаптер на удаление при удалении виртуальной машины. Обратите внимание, что версия API, указанная в параметре версии API, должна быть «2021-03-01» или более поздней, чтобы настроить параметр удаления.
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/myVM?api-version=xx < "storageProfile": < "dataDisks": [ < "diskSizeGB": 1023, "name": "myVMdatadisk", "createOption": "Empty", "lun": 0, "deleteOption": "Delete" >] >, "networkProfile": < "networkInterfaces": [ < "id": "/subscriptions/. /Microsoft.Network/networkInterfaces/myNIC", "properties": < "primary": true, "deleteOption": "Delete" >> ] > >
Это свойство также можно задать для общедоступного IP-адреса, связанного с сетевым адаптером, чтобы общедоступный IP-адрес был автоматически удален при удалении сетевого адаптера.
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic?api-version=xx < "properties": < "enableAcceleratedNetworking": true, "ipConfigurations": [ < "name": "ipconfig1", "properties": < "publicIPAddress": < "id": "/subscriptions/../publicIPAddresses/test-ip", "properties": < "deleteOption": "Delete" >>, "subnet": < "id": "/subscriptions/../virtualNetworks/rg1-vnet/subnets/default" >> > ] >, "location": "eastus" >
Обновление поведения удаления на существующей виртуальной машине
При удалении виртуальной машины можно изменить поведение.
В следующем примере для параметра delete задается значение detach , чтобы можно было повторно использовать диск.
az resource update --resource-group myResourceGroup --name myVM --resource-type virtualMachines --namespace Microsoft.Compute --set properties.storageProfile.osDisk.deleteOption=detach
В следующем примере виртуальная машина обновляет диск ОС, все диски данных и все сетевые адаптеры при удалении виртуальной машины.
$vmConfig = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM $vmConfig.StorageProfile.OsDisk.DeleteOption = 'Delete' $vmConfig.StorageProfile.DataDisks | ForEach-Object < $_.DeleteOption = 'Delete' >$vmConfig.NetworkProfile.NetworkInterfaces | ForEach-Object < $_.DeleteOption = 'Delete' >$vmConfig | Update-AzVM
В следующем примере в виртуальную машину вносятся обновления для удаления сетевого адаптера, диска ОС и диска данных при удалении виртуальной машины. Обратите внимание, что версия API, указанная в параметре версии API, должна быть «2021-03-01» или более поздней, чтобы настроить параметр удаления.
PATCH https://management.azure.com/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/virtualMachines/testvm?api-version=2021-07-01 < "properties": < "hardwareProfile": < "vmSize": "Standard_D2s_v3" >, "storageProfile": < "imageReference": < "publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "2019-Datacenter", "version": "latest", "exactVersion": "17763.3124.2111130129" >, "osDisk": < "osType": "Windows", "name": "OsDisk_1", "createOption": "FromImage", "caching": "ReadWrite", "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/OsDisk_1" >, "deleteOption": "Delete", "diskSizeGB": 127 >, "dataDisks": [ < "lun": 0, "name": "DataDisk_0", "createOption": "Attach", "caching": "None", "writeAcceleratorEnabled": false, "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_0" >, "deleteOption": "Delete", "diskSizeGB": 1024, "toBeDetached": false >, < "lun": 1, "name": "DataDisk_1", "createOption": "Attach", "caching": "None", "writeAcceleratorEnabled": false, "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_1" >, "deleteOption": "Delete", "diskSizeGB": 1024, "toBeDetached": false > ] >, "osProfile": < "computerName": "testvm", "adminUsername": "azureuser", "windowsConfiguration": < "provisionVMAgent": true, "enableAutomaticUpdates": true, "patchSettings": < "patchMode": "AutomaticByOS", "assessmentMode": "ImageDefault", "enableHotpatching": false >>, "secrets": [], "allowExtensionOperations": true, "requireGuestProvisionSignal": true >, "networkProfile": < "networkInterfaces": [ < "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Network/networkInterfaces/nic336", "properties": < "deleteOption": "Delete" >> ] > > >
Принудительное удаление для виртуальных машин
Принудительное удаление позволяет принудительно удалить виртуальную машину, уменьшая задержку удаления и немедленно высвобождая подключенные ресурсы. Для виртуальных машин, которые не требуют корректного завершения работы, принудительное удаление будет удалять виртуальную машину как можно быстрее при удалении логических ресурсов из виртуальной машины, обходя корректное завершение работы и некоторые операции очистки. Принудительное удаление не сразу освобождает MAC-адрес, связанный с виртуальной машиной, так как это физический ресурс, который может занять до 10 минут. Если необходимо немедленно повторно использовать MAC-адрес на новой виртуальной машине, принудительное удаление не рекомендуется. Принудительное удаление следует использовать только в том случае, если вы не планируете повторно использовать виртуальные жесткие диски. Принудительное удаление можно выполнить посредством портала, интерфейса командной строки, PowerShell и REST API.
Когда вы перейдете к удалению существующей виртуальной машины, вы найдете возможность применить принудительное удаление в области удаления.
- Откройте портал.
- Перейдите к виртуальной машине.
- На странице Обзор выберите Удалить.
- На панели Удаление виртуальной машины установите флажок Применить принудительное удаление.
- Щелкните ОК.
Используйте параметр —force-deletion для az vm delete.
az vm delete --resource-group myResourceGroup --name myVM --force-deletion none
Используйте параметр -ForceDeletion для Remove-AzVM.
Remove-AzVm ` -ResourceGroupName "myResourceGroup" ` -Name "myVM" ` -ForceDeletion $true
REST API Azure можно использовать для принудительного удаления виртуальных машин. Используйте параметр forceDeletion для Виртуальные машины — Удалить.
Принудительное удаление для масштабируемых наборов
Принудительное удаление позволяет принудительно удалять масштабируемый набор виртуальных машин, уменьшая задержку удаления и немедленно освобождая подключенные ресурсы. Принудительное удаление не сразу освобождает MAC-адрес, связанный с виртуальной машиной, так как это физический ресурс, который может занять до 10 минут. Если необходимо немедленно повторно использовать MAC-адрес на новой виртуальной машине, принудительное удаление не рекомендуется. Принудительное удаление следует использовать только в том случае, если вы не планируете повторно использовать виртуальные жесткие диски. Принудительное удаление можно выполнить посредством портала, интерфейса командной строки, PowerShell и REST API.
При удалении существующего масштабируемого набора вы найдете возможность применить принудительное удаление в области удаления.
- Откройте портал.
- Перейдите к масштабируемой группе виртуальных машин.
- На странице Обзор выберите Удалить.
- На панели «Удалить масштабируемый набор виртуальных машин» выберите проверка box для принудительного удаления.
- Щелкните ОК.
—force-deletion Используйте параметр для az vmss delete .
az vmss delete --resource-group myResourceGroup --name myVMSS --force-deletion true
Используйте параметр -ForceDeletion для Remove-AzVmss.
Remove-AzVmss ` -ResourceGroupName "myResourceGroup" ` -Name "myVMSS" ` -ForceDeletion $true
С помощью REST API Azure можно применить принудительное удаление к масштабируемой группе. Используйте параметр forceDeletion для Масштабируемые наборы виртуальных машин — Удалить.
Вопросы и ответы
Вопрос. Работает ли эта функция с общими дисками?
Ответ. Для общих дисков нельзя задать для свойства «deleteOption» значение «Delete». Вы можете оставить его пустым или задать для него значение «Detach»
Вопрос. Какие ресурсы Azure поддерживают эту функцию?
Ответ. Эта функция поддерживается для всех типов управляемых дисков, используемых в качестве дисков ОС и дисков данных, сетевых адаптеров и общедоступных IP-адресов
Вопрос. Можно ли использовать эту функцию на дисках и сетевых адаптерах, не связанных с виртуальной машиной?
Ответ. Нет, эта функция доступна только для дисков и сетевых адаптеров, связанных с виртуальной машиной.
Вопрос. Как эта функция работает с гибким масштабируемым набором виртуальных машин?
Ответ. Для гибкого масштабируемого набора виртуальных машин диски, сетевые карты и общедоступные IP-адреса устанавливаются deleteOption Delete по умолчанию, чтобы эти ресурсы автоматически очищались при удалении виртуальных машин.
Для дисков данных, которые были явно созданы и подключены к виртуальным машинам, можно изменить это свойство на «Detach», а не «Delete», если диски должны сохраняться после удаления виртуальной машины.
Вопрос. Поддерживают ли другие виртуальные машины эту функцию?
Ответ. Да, эту функцию можно использовать для точечных виртуальных машин так же, как и для виртуальных машин по запросу.
Вопрос. Как сохранить диски, сетевые адаптеры и общедоступные IP-адреса, связанные с виртуальной машиной?
Ответ. По умолчанию диски, сетевые адаптеры и общедоступные IP-адреса, связанные с виртуальной машиной, при ее удалении сохраняются. Если эти ресурсы настроены на автоматическое удаление, можно обновить параметры таким образом, чтобы ресурсы оставались после удаления виртуальной машины. Для сохранения этих ресурсов задайте для свойства deleteOption значение Detach .
Следующие шаги
Дополнительные сведения об основных возможностях управления виртуальными машинами см. в разделе Руководство. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
https://learn.microsoft.com/ru-ru/azure/virtual-machines/delete