4

Je travaille sur le provisionnement du nouvel environnement Azure à l'aide de modèles ARM. Pour déployer j'utiliser la commande Azure PowerShell New-AzureRmResourceGroupDeployment, où je précise DeploymentName, ResourceGroupName etc.Comment faire pour supprimer toutes les ressources déployées en fonction du nom de déploiement dans Azure

Cependant, quand je veux supprimer les ressources déployées en exécutant

Remove-AzureRmResourceGroupDeployment -Name DeploymentName -ResourceGroupName RGname -Force 

ne supprime pas les ressources. Il supprime simplement une balise dans l'onglet de déploiement du portail Azure. Existe-t-il un moyen de restaurer ou de supprimer le déploiement avec des ressources connexes? Je ne veux pas supprimer tout le groupe de ressources.

Répondre

6

La directive générale de Microsoft est qu'un groupe de ressources contient zéro ou plusieurs ressources partageant un cycle de vie commun. Par conséquent, ils vous diront probablement de séparer les différents déploiements dans différents groupes de ressources.

J'ai effectivement essayé la même chose que vous, mais la suppression d'un déploiement ne supprime que les métadonnées de déploiement, et non les ressources réelles qui ont été provisionnées par le déploiement. Ce serait une grande demande pour pouvoir "découper et dé" les ressources, en fonction du déploiement le plus récent dont ils étaient membres.

Voici les pièces justificatives:

Toutes les ressources de votre groupe devrait partager le même cycle de vie. Vous allez les déployer, les mettre à jour et les supprimer ensemble. Si une ressource, telle qu'un serveur de base de données, doit exister dans un cycle de déploiement différent, elle doit l'être dans un autre groupe de ressources.

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

enter image description here

-1

Pour supprimer toutes les ressources déployées dans le cadre d'un groupe de ressources spécifiques,

vous devez utiliser la commande PowerShell Azure:

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

Le Remove-AzureRmResourceGroupDeployment seulement supprimé le déploiement spécifique par nom et nom de groupe de ressources, mais pas les ressources.

Espérons que cela aide!

+0

Le PO demande spécifiquement de supprimer toutes les ressources dans le déploiement et pas seulement les métadonnées de déploiement ou la suppression de l'ensemble du groupe de ressources – iCrus

1

Vous pouvez le faire si vous voulez retrousser vos manches et écrire un peu plus de code ... Bien que Trevor Sullivan a la meilleure suggestion pour la gestion globale des ressources.

Jetez un oeil à cette applet de commande:

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

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

Le premier vous dira si l'opération était une opération de création sur la ressource, le second vous donnera l'resourceId que vous pouvez ensuite utiliser pour supprimer avec: Mais si vous organisez vos groupes de ressources par cycle de vie, la suppression du groupe entier est plus facile.

L'autre chose à surveiller ici est les ressources qui ont des dépendances les unes sur les autres. Je ne suis pas sûr de ce qui se passera dans ces cas (ne pas supprimer, etc). Je ne peux pas penser à un problème spécifique à surveiller, juste que je n'ai pas passé beaucoup de temps à regarder "nettoyer" de cette façon ...