我想从 AWS CloudFormation 堆栈集中删除堆栈实例。由于目标 AWS 账户已关闭或暂停,删除失败。
简短描述
要删除已关闭或暂停账户的堆栈实例,必须在将 RetainStacks 选项设置为 true 的情况下执行 DeleteStackInstances 操作。这会断开堆栈实例与堆栈集的连接,并且不会删除目标账户中的堆栈实例。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要从已关闭或暂停的账户中删除堆栈实例,请使用 CloudFormation 控制台或 AWS CLI。完成堆栈集权限模型的解析。
删除具有自行管理权限的堆栈集
使用 CloudFormation 控制台
完成以下步骤:
- 打开 CloudFormation 控制台。
- 在导航窗格中,选择 StackSets(堆栈集)。
- 在 StackSet name(堆栈集名称)列中,选择堆栈集。
- 选择 Actions(操作),然后选择 Delete stacks from StackSet(从堆栈集中删除堆栈)。
- 在 Set deployment options(设置部署选项)页面的 Account numbers(账号)中,输入已关闭或暂停账户的 12 位 ID。
- 对于 Specify Regions(指定区域),选择您的堆栈实例的 AWS 区域。
- 对于 Deployment options(部署选项),请打开 Retain stacks(保留堆栈),然后选择 Next(下一步)。
- 在 Review(审阅)页面上,选择 Submit(提交)。
使用 AWS CLI
运行以下 delete-stack-instances AWS CLI 命令:
$ aws cloudformation delete-stack-instances --stack-set-name ExampleStackSetName --accounts 1234567890abcdef0 --regions aa-example-1 --retain-stacks
**注意:**将 ExampleStackSetName 替换为您的堆栈集名称,将 1234567890abcdef0 替换为您的堆栈实例账户 ID,将 aa-example-1 替换为您的实例的区域。
删除具有服务管理权限的堆栈集
使用 CloudFormation 控制台
完成以下步骤:
- 打开 CloudFormation 控制台。
- 在导航窗格中,选择 StackSets(堆栈集)。
- 在 StackSet name(堆栈集名称)列中,选择堆栈集。
- 选择 Actions(操作),然后选择 Delete stacks from StackSet(从堆栈集中删除堆栈)。
- 在 Set deployment options(设置部署选项)页面上,执行以下操作:
输入目标账户所在的 AWS Organizations 单位 ID。
**注意:**如果您不知道已关闭或暂停账户的组织单位 ID (OU ID),请改为使用根 OU ID。
选择 Account filter type(账户筛选器类型),然后选择 Intersection(交集)。
输入目标账号,这样您就可以删除 OU 中的单个账户,而不是删除整个 AWS Organizations 单位。
- 在 Specify Regions(指定区域)部分中,选择您的堆栈实例的区域。
- 在 Deployment options(部署选项)部分中,打开 Retain stacks(保留堆栈),然后选择 Next(下一步)。
- 在 Review(审阅)页面上,选择 Submit(提交)。
AWS CLI
运行 delete-stack-instances 命令:
$ aws cloudformation delete-stack-instances --stack-set-name ExampleStackSetName --deployment-targets Accounts=1234567890abcdef0,OrganizationalUnitIds=abcdef01234567890,AccountFilterType=INTERSECTION --regions aa-example-1 --retain-stacks
**注意:**将 ExampleStackSetName 替换为您的堆栈集名称,将 1234567890abcdef0 替换为您的堆栈实例账户 ID,将 abcdef01234567890 替换为您的堆栈实例账户 OU,将 aa-example-1 替换为您的实例的区域。
相关信息
StackSets 状态代码
从 AWS CloudFormation StackSets 中删除堆栈