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

AWS CloudFormation StackSets 故障排除

本主题包含一些常见的 AWS CloudFormation StackSets 问题以及这些问题的建议的解决方案。

堆栈操作失败的常见原因

问题:堆栈操作失败,并且堆栈实例状态为 OUTDATED

原因:有几个导致堆栈操作失败的常见原因。

  • 目标账户中的权限不足,无法创建模板中指定的资源。

  • AWS CloudFormation 模板可能存在错误。验证 AWS CloudFormation 中的模板并修复错误,然后再尝试创建堆栈集。

  • 模板可能尝试创建必须唯一但不唯一的全球资源 (如 S3 存储桶)。

  • 指定的目标账号不存在。检查您在向导的 Set deployment options 页面上指定的目标账号。

  • 管理员账户与目标账户没有信任关系。

  • 目标账户中已存在模板中指定的资源的最大数量。例如,您可能已达到目标账户中允许的 IAM 角色数的限制,但模板创建了更多 IAM 角色。

  • 您已达到堆栈集中允许的最大堆栈数量。最大值为 50。

解决方案:有关创建堆栈集之前目标和管理员账户所需的权限的更多信息,请参阅账户设置

重试失败的堆栈创建或更新操作

问题:堆栈创建或更新失败,并且堆栈实例状态为 OUTDATED。要排查堆栈创建或更新失败的原因,请打开 AWS CloudFormation 控制台,查看堆栈的事件,这些事件的状态将为 DELETED (对于失败的创建操作) 或 FAILED (对于失败的更新操作)。浏览堆栈事件,然后查找 Status reason 列。Status reason 的值解释了堆栈操作失败的原因。

在确定堆栈创建失败的根本原因并准备好重试堆栈创建后,请执行下列步骤。

解决方案:执行下列步骤以重试堆栈操作。

  1. 在控制台中,选择包含操作失败的堆栈的堆栈集。

  2. Actions 菜单中,选择 Manage stacks in stack set

  3. Select action 页上,选择 Edit stacks 以重试堆栈的创建或更新操作。

  4. Select template 页上,要使用相同的 AWS CloudFormation 模板,请保留默认选项 Current template。如果您的堆栈操作因模板需要更改而失败,并且您想上传修订后的模板,请改为选择 Upload a template to Amazon S3,然后选择 Browse 以选择更新后的模板。上传完修订后的模板后,选择 Next

  5. Specify details 页上,如果不更改特定于模板的任何参数,请选择 Next

  6. Set deployment options 页上,更改 Maximum concurrent accountsFailure tolerance 的默认值 (如果需要)。有关这些设置的更多信息,请参阅堆栈集操作选项

  7. Tags 页上,添加标签 (如果需要)。有关标签的更多信息,请参阅堆栈集操作选项。添加完标签后,选择 Next

  8. Review 页上,检查您的选择,然后选中此复选框以确认所需的 IAM 功能。选择 Update stacks

  9. 如果您的堆栈未成功更新,请在解决任何阻止堆栈创建的基本问题后重复此过程。

堆栈实例删除操作失败

问题:堆栈删除操作失败。

原因:对于任何已启用终止保护的堆栈,堆栈删除操作将失败。

解决方案:确定该堆栈是否已启用终止保护。如果已启用,则禁用终止保护,然后再重新执行堆栈实例删除操作。