Удаление виртуальной машины и подключенных ресурсов

По умолчанию при удалении виртуальной машины удаляется только ресурс виртуальной машины, а не сетевые и дисковые ресурсы. Это поведение по умолчанию можно изменить при создании виртуальной машины или обновить существующую виртуальную машину, чтобы удалить определенные ресурсы вместе с виртуальной машиной.

Задание параметров удаления при создании виртуальной машины

Чтобы указать, что происходит с подключенными ресурсами при удалении виртуальной машины, используйте delete-option Параметры. Для каждого из них можно задать значение Delete , которое окончательно удаляет ресурс при удалении виртуальной машины или Detach отсоединяет ресурс и оставляет его в Azure, чтобы его можно было использовать позже. Ресурсы, которые Detach , как и диски, по мере необходимости будут взиматься.

  • --os-disk-delete-option — Диск операционной системы.
  • --data-disk-delete-option — диск данных.
  • --nic-delete-option Сетевым.

В этом примере мы создадим виртуальную машину и настроили диск операционной системы и сетевой адаптер для удаления при удалении виртуальной машины.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image UbuntuLTS \
    --public-ip-sku Standard \
    --nic-delete-option delete \
    --os-disk-delete-option delete \
    --admin-username azureuser \
    --generate-ssh-keys

Обновление поведения удаления на существующей виртуальной машине

Вы можете использовать REST API Azure для исправления виртуальной машины, чтобы изменить поведение при удалении виртуальной машины. В следующем примере виртуальная машина обновляется для удаления сетевого адаптера, диска операционной системы и диска данных при удалении виртуальной машины.

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" 
} 
} 
            ] 
        } 
} 
} 

ВОПРОСЫ И ОТВЕТЫ

Вопрос. работает ли эта функция с общими дисками?

Ответ. для общих дисков нельзя задать для свойства "Делетеоптион" значение "Delete". Вы можете оставить его пустым или задать для него значение "Detach"

Вопрос. какие ресурсы Azure поддерживают эту функцию?

Ответ. Эта функция поддерживается для всех типов управляемых дисков, используемых в качестве дисков ОС и дисков данных, сетевых интерфейсов и общедоступных IP-адресов.

Вопрос. можно ли использовать эту функцию на дисках и сетевых картах, не связанных с виртуальной машиной?

Ответ. нет, эта функция доступна только для дисков и сетевых карт, связанных с виртуальной машиной.

Вопрос. как эта функция работает с гибкими масштабируемыми наборами виртуальных машин?

Ответ. для гибких масштабируемых наборов виртуальных машин для дисков, сетевых адаптеров и ПублиЦипс по deleteOptionDelete умолчанию установлено значение, поэтому эти ресурсы автоматически очищаются при удалении виртуальных машин.

Для дисков данных, которые были явно созданы и подключены к виртуальным машинам, можно изменить это свойство на "Detach", а не "Удалить", если диски должны сохраняться после удаления виртуальной машины.

Вопрос. поддерживают ли другие виртуальные машины эту функцию?

Ответ. Да, эту функцию можно использовать для плашечных виртуальных машин так же, как и для виртуальных машин по запросу.

Вопрос. Разделы справки сохранить диски, сетевые карты и общедоступные IP-адреса, связанные с виртуальной машиной?

Ответ. по умолчанию диски, сетевые карты и общедоступные IP-адреса, связанные с виртуальной машиной, сохраняются при удалении виртуальной машины. Если эти ресурсы настроены для автоматического удаления, имеется возможность отменить изменения, чтобы эти ресурсы сохранялись после удаления виртуальной машины. Чтобы сохранить эти ресурсы, задайте deleteOption для свойства значение Detach , а затем эти ресурсы будут сохраняться при удалении виртуальной машины.

Дальнейшие действия

Дополнительные сведения об основных возможностях управления виртуальными машинами см. в разделе Учебник. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.