Как удалить все развернутые ресурсы на основе имени развертывания в Azure

Я работаю над подготовкой новой среды Azure с использованием шаблонов ARM. Для развертывания я использую команду Azure PowerShell New-AzureRmResourceGroupDeployment, где я указываю DeploymentName, ResourceGroupName и т. Д.

Однако, когда я хочу удалить развернутые ресурсы, запустив

Remove-AzureRmResourceGroupDeployment -Name DeploymentName -ResourceGroupName RGname -Force 

он не удаляет ресурсы. Он просто удаляет тег на вкладке развертывания на портале Azure. Есть ли способ откатить или удалить развертывание со связанными ресурсами? Я не хочу удалять всю группу ресурсов.


person Sparrow_ua    schedule 24.03.2016    source источник


Ответы (3)


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

На самом деле я пробовал то же самое, что и вы, но при удалении развертывания удаляются только метаданные развертывания, а не фактические ресурсы, которые были предоставлены развертыванием. Было бы отличным запросом на функциональность, чтобы иметь возможность «нарезать и нарезать» ресурсы на основе самого последнего развертывания, участником которого они были.

Вот подтверждающая документация:

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

https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/#resource-groups

введите описание изображения здесь

person Trevor Sullivan    schedule 25.03.2016
comment
Итак, я просто удаляю группу ресурсов, чтобы очистить все ресурсы, развернутые / созданные из шаблона ARM? - person FilBot3; 15.01.2020
comment
Да, @ FilBot3, но это сложнее, чем может показаться: очень маловероятно, что все ваше развертывание может существовать в одной группе RG по мере увеличения сложности. Например, у нас есть централизованное хранилище (RG), где мы храним все журналы / диагностику. Следовательно, каждый ресурс в группе RG фактически имеет журналы в другой группе RG. Их нужно удалить вручную перед уничтожением ресурса. Таких случаев много, не только логов. :( - person Mike Williamson; 09.05.2021

Вы можете сделать это, если хотите засучить рукава и написать еще немного кода ... Хотя у Тревора Салливана есть лучшее предложение для общего управления ресурсами.

Взгляните на этот командлет:

(Get-AzureRmResourceGroupDeploymentOperation -DeploymentName $DeploymentName -ResourceGroupName $RGName).Properties.ProvisioningOperation

(Get-AzureRmResourceGroupDeploymentOperation -DeploymentName $DeploymentName -ResourceGroupName $RGName).Properties.TargetResource.id

Первый сообщит вам, была ли операция операцией создания ресурса, а второй предоставит идентификатор ресурса, который затем можно использовать для удаления с помощью:

Remove-AzureRMResource

Но если вы организуете группы ресурсов по жизненному циклу, тогда удалить всю группу будет проще.

Еще одна вещь, на которую следует обратить внимание, - это ресурсы, которые зависят друг от друга. Я не уверен, что будет в этих случаях (неудачное удаление и т. Д.). Я не могу придумать конкретную проблему, на которую нужно обратить внимание, просто я не тратил много времени на то, чтобы «очистить» таким образом ...

person bmoore-msft    schedule 25.03.2016

Чтобы удалить все развернутые ресурсы в определенной группе ресурсов,

вам следует использовать команду Azure PowerShell:

Remove-AzureRmResourceGroup [-Name] <ResourceGroupName> [-Force <SwitchParameter>]

Remove-AzureRmResourceGroupDeployment удалил только конкретное развертывание по имени и имени группы ресурсов, но не по ресурсам.

Надеюсь это поможет!

person juvchan    schedule 25.03.2016
comment
OP конкретно спрашивает об удалении всех ресурсов в развертывании, а не только метаданных развертывания, или об удалении всей группы ресурсов. - person iCrus; 27.11.2017