Удаление группы ресурсов и ее содержимого в Azure Resource Manager
Статья
В этой статье описано, как удалить группы ресурсов и их содержимое. Здесь содержатся сведения о том, как Azure Resource Manager определяет порядок удаления ресурсов при удалении группы ресурсов.
Примечание
Чтобы удалить группу ресурсов, сначала необходимо удалить все базовые блокировки ресурсов и данные резервного копирования.
Как Resource Manager определяет порядок удаления
При удалении группы ресурсов Resource Manager определяет порядок удаления ресурсов. Он использует следующий порядок:
Удаляются все дочерние (вложенные) элементы.
Затем удаляются ресурсы, которые управляют другими ресурсами. Для ресурса может быть задано свойство managedBy, указывающее, что этим ресурсов управляет другой ресурс. Если это свойство задано, ресурс, который управляет каким-либо ресурсом, удаляется перед другими ресурсами.
Остальные ресурсы будут удалены после предыдущих двух категорий.
После определения порядка Диспетчер ресурсов выдает операцию DELETE для каждого ресурса. Он ожидает выполнения всех зависимостей, прежде чем продолжить.
Для синхронных операций ожидаемыми успешными кодами отклика являются:
200
204
404
Для асинхронных операций ожидаемый успешный ответ — 202. Resource Manager отслеживает заголовок location или заголовок асинхронной операции azure-async, чтобы определить состояние асинхронной операции удаления.
Ошибки удаления
Когда операция удаления возвращает ошибку, Resource Manager повторяет попытки вызова команды DELETE. Повторные попытки выполняются для кодов состояния 5xx, 429 и 408. По умолчанию интервал времени между повторными попытками составляет 15 минут.
После удаления
Resource Manager отправляет вызов GET для каждого ресурса, который требовалось удалить. Ожидаемый ответ на вызов GET — 404. Когда Resource Manager получает 404, он считает удаление успешным. Resource Manager также удаляет ресурс из кэша.
Однако, если вызов GET для ресурса возвращает ответ 200 или 201, Resource Manager повторно создает ресурс.
Если операция GET возвращает ошибку, Resource Manager повторите попытку GET для следующих кодов ошибок:
меньше 100;
408
429
больше 500.
Для других кодов ошибок Resource Manager не выполняет повторных попыток, и удаление ресурса завершается сбоем.
Важно!
Удаление группы ресурсов необратимо.
Удалить группу ресурсов
Чтобы удалить группу ресурсов, используйте один из следующих методов.
На портале выберите ресурс, который нужно удалить.
Выберите команду Удалить. На следующем снимке экрана показаны параметры управления виртуальной машины.
При появлении запроса подтвердите удаление.
Python
import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
resource_client = ResourceManagementClient(credential, subscription_id)
resource_client.resources.begin_delete_by_id(
"/subscriptions/{}/resourceGroups/{}/providers/{}/{}".format(
subscription_id,
"exampleGroup",
"Microsoft.Compute",
"virtualMachines/exampleVM"
),
"2022-11-01"
)
Необходимый доступ и сбои при удалении
Чтобы удалить группу ресурсов, необходимо получить доступ к действию удаления ресурса Microsoft.Resources/subscriptions/resourceGroups.
Важно!
Единственное разрешение, которое требуется для удаления группы ресурсов, — это разрешение на действие удаления для удаления групп ресурсов. Вам не требуется разрешение на удаление отдельных ресурсов в этой группе ресурсов. Кроме того, действия по удалению, указанные в notActions для roleAssignment, заменяются на действие по удалению группы ресурсов. Это требование соответствует иерархии областей в модели управления доступом на основе ролей Azure.
Если у вас есть необходимый доступ, но запрос на удаление завершается сбоем, это может быть связано с блокировкой ресурсов или группы ресурсов. Даже если вы не заблокируете группу ресурсов вручную, связанная служба может автоматически заблокировать ее. Кроме того, удаление может завершиться сбоем, если ресурсы подключены к ресурсам из других групп ресурсов, которые не удаляются. Например, нельзя удалить виртуальную сеть с подсетями, которые использует виртуальная машина.
Можно ли восстановить удаленную группу ресурсов?
Нет, удаленную группу ресурсов восстановить невозможно. Однако можно восстановить некоторые недавно удаленные ресурсы.
Некоторые типы ресурсов поддерживают обратимое удаление. Возможно, вам придется настроить обратимое удаление, прежде чем использовать его. Сведения о включении обратимого удаления см. в следующем разделе:
Вы также можете открыть поддержка Azure случай. Укажите столько сведений, сколько можно получить о удаленных ресурсах, включая их идентификаторы ресурсов, типы и имена ресурсов. Попросите инженера службы поддержки проверить, можно ли восстановить ресурсы.
Примечание
Восстановление удаленных ресурсов невозможно во всех обстоятельствах. Инженер службы поддержки изучает свой сценарий и советует вам, возможно ли это.
Следующие шаги
Основные понятия Azure Resource Manager см. в этой статье.
Узнайте, как использовать портал Azure и Azure Resource Manager для управления группами ресурсов. Узнайте, как создавать, перечислять и удалять группы ресурсов.
Используйте Azure CLI для управления группами ресурсов с помощью Azure Resource Manager. В статье показано, как создавать, перечислять и удалять группы ресурсов.
Описывает ошибку "Запрос запрещен политикой", возникающую при развертывании ресурсов с помощью шаблона Azure Resource Manager (шаблона ARM) или файла Bicep.