使用 CloudFormation 控制台或 AWS CLI 删除堆栈实例
您可以使用 CloudFormation 控制台或 AWS CLI 删除堆栈集中的堆栈实例。
对于具有服务托管权限的堆栈集,如果您从顶级组织单位 (OU) 中删除堆栈实例,则该 OU 将作为堆栈集的目标移除。
使用 CloudFormation 控制台删除堆栈实例
登录到 AWS Management Console 并打开 AWS CloudFormation 控制台 https://console.aws.amazon.com/cloudformation
。 -
在屏幕顶部的导航栏中,选择您在其中创建了堆栈集的 AWS 区域。
-
从导航窗格中,选择 StackSets (堆栈集)。在 StackSets 页面上,选择堆栈集。
-
选定堆栈集后,从 Actions(操作)菜单中选择 Delete stacks from StackSet(从堆栈集中删除堆栈)。
-
在设置部署选项页面上,选择要从中删除堆栈实例的账户。
-
[自行管理权限] 对于 Accounts (账户),选择 Deploy stacks in accounts (在账户中部署堆栈)。在文本框中粘贴您的目标账号,并使用逗号分隔多个号码。
[服务管理权限] 对于组织单位(OU),请指定目标 OU ID。
注意
StackSets 还会从指定目标 OU 的所有子 OU 中删除堆栈实例。
-
对于指定区域,选择要从中删除堆栈实例的区域。
-
对于 Deployment options (部署选项):
-
对于最大并发账户数,请根据需要修改最大并发账户数。
-
对于容错,根据需要修改容错。
-
对于保留堆栈,选择是否启用此选项以从堆栈集中删除堆栈实例,但保存堆栈及其关联的资源。当您通过启用保留堆栈选项保存堆栈集的堆栈时,堆栈的资源将保持其当前状态,但堆栈不再是该堆栈集的一部分。要重新关联堆栈或将现有堆栈添加到堆栈集,请参阅有关将堆栈导入堆栈集的要求。
-
对于区域并发,根据需要修改区域并发。
-
对于并发模式,根据需要修改并发模式。
-
-
选择下一步。
-
-
在审核页面上,审核您的选择。要进行更改,请在相关部分选择编辑。
-
当您准备好从堆栈集中删除堆栈实例时,请选择提交。
完成堆栈删除操作后,您可在堆栈集详细信息页面的 Stack instances (堆栈实例) 选项卡上验证此堆栈实例是否已从堆栈集中删除。
使用 AWS CLI删除堆栈实例
担任委托管理员时,您必须在每次运行 StackSets 命令时将 --call-as
选项设置为 DELEGATED_ADMIN
。
--call-as
DELEGATED_ADMIN
-
使用 delete-stack-instances 命令。对于
--stack-set-name
,指定堆栈集名称。由于
--retain-stacks
是 delete-stack-instances 命令所必需,因此如果您不想保留(保存)堆栈,请添加--no-retain-stacks
。在本例中,我们添加--no-retain-stacks
选项,因为我们将不会保留任何堆栈。对于
--regions
,指定要从中删除堆栈实例的区域。在本例中为美国西部(俄勒冈州)区域和美国东部(弗吉尼亚州北部)区域。[自行管理权限] 对于
--accounts
选项,指定您用于创建堆栈集的账户。aws cloudformation delete-stack-instances --stack-set-name
my-stackset
\ --accounts'["account_ID_1","account_ID_2"]'
--regions'["us-west-2","us-east-1"]'
\ --no-retain-stacks[服务管理权限] 对于
--deployment-targets
,指定您在其中创建堆栈实例的组织(根)ID 或 OU ID。aws cloudformation delete-stack-instances --stack-set-name
my-stackset
\ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5jlwo", "ou-rcuk-slr5lh0a"]'
--regions'["us-west-2","us-east-1"]'
\ --no-retain-stacks注意
StackSets 还会从指定目标 OU 的所有子 OU 中删除堆栈实例。
要指定 CloudFormation 如何执行此堆栈集操作的首选项,请指定
--operation-preferences
选项,如以下示例所示。出于本示例的目的,我们使用的是计数而不是百分比。要改为应用百分比,请使用FailureTolerancePercentage
或MaxConcurrentPercentage
。--operation-preferences
FailureToleranceCount=0,MaxConcurrentCount=1
注意
MaxConcurrentCount
的值依赖于FailureToleranceCount
的值。MaxConcurrentCount
最多比FailureToleranceCount
多 1。 -
在完成堆栈删除操作后,您也可以选择运行 describe-stack-set-operation 命令以显示删除堆栈操作的状态和结果,验证是否已从堆栈集中删除堆栈实例。对于
--operation-id
,使用由您的 delete-stack-instances 命令返回的操作 ID。aws cloudformation describe-stack-set-operation --stack-set-name
my-stackset
\ --operation-idddf16f54-ad62-4d9b-b0ab-3ed8e9example