从 Amazon CloudFormation StackSet 中删除堆栈
您可以使用 CloudFormation 控制台或 Amazon CLI 从堆栈集中删除堆栈。
注意
删除顶层组织单元(OU)的堆栈后,该 OU 将不再是 StackSet 的目标。
从 StackSet 中删除堆栈(控制台)
删除堆栈
登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation
。 -
在屏幕顶部的导航栏中,选择您在其中创建了 StackSet 的 Amazon Web Services 区域。
-
从导航窗格中,选择 StackSets。在 StackSet 页面上,选择 StackSet。
-
选择 StackSet 后,从操作菜单中选择从 StackSet 中删除堆栈。
-
在设置部署选项页面上,首先选择要删除堆栈的账户和区域。
-
[自行管理权限] 对于账户,选择在账户中部署堆栈或在组织单元中部署堆栈。
如果选择在账户中部署堆栈,请将目标账号粘贴到目标账号文本框中,并使用逗号分隔多个账号。
如果选择在组织单元中部署堆栈,请将目标 OU ID 粘贴到组织编号文本框中,以将指定组织所属的所有账户作为目标。
-
[服务管理权限] 对于组织单位(OU),请指定目标 OU ID。
重要
CloudFormation 将从指定目标 OU 及其子组织单元中删除的堆栈。
对于账户筛选条件类型,您可以选择以下选项之一并提供账号,从而细化要删除堆栈的账户。
-
无(默认)– 从指定 OU 中的所有账户内删除堆栈。
-
交集 – 仅从选定 OU 中特定单独账户内删除堆栈。
-
差集 – 除特定账户外,从选定 OU 中的所有账户内删除堆栈。
-
并集 – 从指定 OU 以及额外单独账户中删除堆栈。
-
-
对于指定区域,请选择要从其中的目标账户删除堆栈的区域。
-
-
对于部署选项,请执行以下操作:
-
对于最大并发账户数,请指定并发处理的账户数量。
-
在容错中,请指定每个区域允许的账户失败次数上限。达到此次数限制后,该操作将停止,不会继续到其他区域。
-
对于保留堆栈,启用此选项可在从 StackSet 中移除堆栈时保存堆栈及其关联的资源。资源会保持当前状态,但不再是 StackSet 的一部分。
-
对于区域并发,请选择处理区域的方式:顺序(一次处理一个区域)或并行(并发处理多个区域)。
-
对于并发模式,请选择在操作执行期间的并发行为方式。
-
严格容错:操作失败时降低账户并发级别,保持在容错 +1 范围内。
-
软容错 – 即使失败,仍保持您指定的并发级别(最大并发账户数的值)。
-
-
-
选择下一步。
-
在审核页面上,审核您的选择。要进行更改,请在相关部分选择编辑。
-
准备好从 StackSet 中删除堆栈后,请选择提交。
完成堆栈删除后,您可在 StackSet 详细信息页面的堆栈实例选项卡上验证相关堆栈是否已从 StackSet 中删除。
从 StackSet 中删除堆栈(Amazon CLI)
注意
担任委派管理员时,您必须在命令中包含 --call-as
DELEGATED_ADMIN
。
使用 delete-stack-instances 命令和 StackSet 的名称。
在这些示例中,我们使用 --no-retain-stacks
选项,因为我们将不会保留任何堆栈。如果要保留堆栈及其资源,请使用 --retain-stacks
,而不是 --no-retain-stacks
。
对于 --regions
,请指定要从中删除堆栈的 Amazon Web Services 区域,例如 us-west-2
和 us-east-1
。
使用 --operation-preferences
选项设置并发账户处理和其他首选项。这些示例使用基于计数的设置。请注意,MaxConcurrentCount
不得大于 FailureToleranceCount
+ 1。对于基于百分比的设置,请改用 FailureTolerancePercentage
或 MaxConcurrentPercentage
。
删除堆栈(自行管理权限)
在 --accounts
选项中,指定要从中删除堆栈的账户 ID。
aws cloudformation delete-stack-instances --stack-set-name
my-stackset
\ --accountsaccount_ID_1 account_ID_2
\ --regionsus-west-2 us-east-1
\ --no-retain-stacks \ --operation-preferencesMaxConcurrentCount=1,FailureToleranceCount=0
删除堆栈(服务管理权限)
在 --deployment-targets
中,指定要从中删除堆栈的组织根 ID 或组织单元(OU)ID。
重要
CloudFormation 将从指定目标 OU 及其子组织单元中删除的堆栈。
aws cloudformation delete-stack-instances --stack-set-name
my-stackset
\ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5jlwo,ou-rcuk-slr5lh0a
\ --regionsus-west-2 us-east-1
\ --no-retain-stacks \ --operation-preferencesMaxConcurrentCount=1,FailureToleranceCount=0
有关更多信息,请参阅《Amazon CloudFormation API 参考》中的 DeleteStackInstances。
在完成堆栈删除后,您也可以选择运行 describe-stack-set-operation 命令来显示堆栈删除操作的状态和结果,验证是否已从 StackSet 中删除堆栈。对于 --operation-id
,使用由您的 delete-stack-instances 命令返回的操作 ID。
aws cloudformation describe-stack-set-operation --stack-set-name
my-stackset
\ --operation-idddf16f54-ad62-4d9b-b0ab-3ed8e9example