AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

删除堆栈实例

您可以在 AWS 管理控制台 中或通过在 AWS CLI 中使用 AWS CloudFormation 命令来删除堆栈集实例。在此过程中,我们将删除所有堆栈。

使用 AWS 管理控制台 删除堆栈实例

  1. 通过以下网址打开 AWS CloudFormation 控制台:https://console.amazonaws.cn/cloudformation

  2. 在页面顶部,选择 StackSets。在 StackSets 主页上,选择您在创建新堆栈集中创建的堆栈集。在本演练中,我们创建了名为 my-awsconfig-stackset 的堆栈集。

     选择堆栈集
  3. 在选定堆栈集后,从 Actions 菜单中选择 Manage stacks in stack set

  4. 选择 Delete stacks,然后选择 Next

     管理堆栈集中的堆栈,删除选定堆栈
  5. Set deployment options 页面上的 Accounts 区域中,选择 Delete stacks from account

     从所有账户中删除堆栈
  6. Delete stacks from account 文本框中,粘贴您用于在创建新堆栈集中创建堆栈集的所有目标账户 ID。

  7. Regions 区域中,选择所有区域 (按住 Ctrl 的同时选择区域可选定多个区域),然后选择 Add 将所有堆栈集区域添加到列表中。您将指示 AWS CloudFormation 删除所有区域内的所有目标账户中的所有堆栈。

  8. Preferences 区域中,为 Maximum concurrent accounts 保留默认值 1By number,然后将 Failure tolerance 的值更改为 1。务必将 Failure tolerance 也设置为 By number

  9. Retain stacks 区域中,保留默认设置 No

    当您从堆栈集中删除堆栈时,可利用 Retain stacks 选项选择从堆栈集中删除堆栈实例,但保存堆栈及其关联的资源。当您通过选择 Retain stacks 选项从堆栈集保存堆栈时,堆栈的资源将保持当前状态,但堆栈不再是堆栈集的一部分。您无法重新关联保留的堆栈或将现有的已保存堆栈添加到新堆栈集中。该堆栈将永久独立于堆栈集。在此过程中,我们将删除所有堆栈,以准备删除整个堆栈集,因此我们将不会保留堆栈。

  10. 选择 Next

  11. Review 页面上,查看您的选择。请选择每个部分的右上角的 Edit 以返回并进行任何更改 (如有必要)。当您准备好删除堆栈时,选择 Delete stacks

  12. 在完成堆栈删除操作后,您可以在主页上的 StackSets 管理控制台中验证是否已从堆栈集中删除堆栈实例。

使用 AWS CLI 删除堆栈实例

当您准备删除堆栈实例时,请运行 delete-stack-instances AWS CLI 命令。

  • 运行以下命令,然后将 account_ID 替换为您在创建新堆栈集中创建堆栈所用的账户。对于 stack set name,指定堆栈集名称 my-awsconfig-stackset

    通过在 --operation-preferences 参数中将 FailureToleranceCount 设置为 0 以及将 MaxConcurrentCount 设置为 1 来设置容错能力和最大并发账户数,如以下示例中所示。要改为应用百分比,请使用 FailureTolerancePercentageMaxConcurrentPercentage。在本演练中,我们使用的是计数而不是百分比。

    因为 --retain-stacksdelete-stack-instances 的必需参数,所以,如果您不想保留 (保存) 堆栈,请添加 --no-retain-stacks。在本演练中,我们添加 --no-retain-stacks 参数,因为我们将不会保留任何堆栈。

    aws cloudformation delete-stack-instances --stack-set-name my-awsconfig-stackset --accounts '["account_ID_1","account_ID_2"]' --regions '["region_1","region_2"]' --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --no-retain-stacks

    在完成堆栈删除操作后,您可以通过运行 describe-stack-set-operation 命令以显示删除堆栈操作的状态和结果,来验证是否已从堆栈集中删除堆栈实例。对于 --operation-id,使用由您的 delete-stack-instances 命令返回的操作 ID。

    aws cloudformation describe-stack-set-operation --operation-id operation_ID