4

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

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

Remove-AzureRmResourceGroupDeployment -Name DeploymentName -ResourceGroupName RGname -Force 

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

ответ

6

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

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

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

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

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

enter image description here

-1

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

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

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

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

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

+0

ОП конкретно спрашивает об удалении всех ресурсов в развертывании а не только метаданные развертывания или удаление всей группы ресурсов – iCrus

1

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

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

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

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

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

Remove-AzureRMResource 

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^