我正在使用ARM模板配置新的Azure环境。
为了部署,我使用Azure PowerShell New-AzureRmResourceGroupDeployment
命令,在其中指定DeploymentName
,ResourceGroupName
等。
但是,当我想通过运行
删除已部署的资源时Remove-AzureRmResourceGroupDeployment -Name DeploymentName -ResourceGroupName RGname -Force
它不会删除资源。它只删除Azure门户中部署选项卡中的标记。有没有办法回滚或删除相关资源的部署?我不想删除整个资源组。
答案 0 :(得分:9)
Microsoft的一般指导是资源组包含零个或多个共享共同生命周期的资源。因此,他们可能会告诉您将不同的部署分成不同的资源组。
我实际上尝试过以前的相同操作,但删除部署只会删除部署元数据,而不会删除部署配置的实际资源。这将是一个伟大的功能要求,能够切片和骰子"资源,基于他们所属的最新部署。
以下是支持文档:
您组中的所有资源都应该共享相同的生命周期。您将一起部署,更新和删除它们。如果一个资源(如数据库服务器)需要在不同的部署周期中存在,则它应该位于另一个资源组中。
https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/#resource-groups
答案 1 :(得分:2)
如果你想卷起袖子并写一些代码,你可以这样做......虽然Trevor Sullivan对资源的整体管理有最好的建议。
看看这个cmdlet:
(Get-AzureRmResourceGroupDeploymentOperation -DeploymentName $DeploymentName -ResourceGroupName $RGName).Properties.ProvisioningOperation
(Get-AzureRmResourceGroupDeploymentOperation -DeploymentName $DeploymentName -ResourceGroupName $RGName).Properties.TargetResource.id
第一个将告诉您操作是否是对资源的创建操作,第二个将为您提供resourceId,然后您可以使用它来删除:
Remove-AzureRMResource
但是,如果按生命周期组织资源组,则删除整个组会更容易。
这里要注意的另一件事是彼此依赖的资源。我不确定在这些情况下会发生什么(无法删除等)。我想不出一个需要注意的具体问题,只是因为我没有花太多时间以这种方式看待“清理”......
答案 2 :(得分:-1)
删除特定资源组下的所有已部署资源
您应该使用Azure PowerShell命令:
Remove-AzureRmResourceGroup [-Name] <ResourceGroupName> [-Force <SwitchParameter>]
Remove-AzureRmResourceGroupDeployment
仅按名称和资源组名称删除了特定部署,但未删除资源。
希望这有帮助!