亚马逊AWS官方博客

新增功能:将 AWS CloudFormation StackSets 用于 AWS Organization 中的多个账户

基础设施即代码是通过机器可读的文本文件(例如 JSONYAML 定义)或使用熟悉的编程语言(例如 JavaPythonTypeScript)来管理和创建 IT 基础设施的方法。AWS 客户通常会使用 AWS CloudFormationAWS Cloud Development Kit 将其云基础设施的创建和管理工作自动化。

借助 CloudFormation StackSets 功能,您只需几次点击即可跨多个区域的多个 AWS 账户建立 CloudFormation 堆栈。在我们推出 StackSets 功能时,账户分组的主要用途是满足账单管理的需要。随着 AWS Organizations 的推出,您可以集中管理多个 AWS 账户以满足各种业务需求,包括账单管理、访问控制、合规性、安全性和资源共享等。

CloudFormation StackSets 与 Organizations 结合使用
今天,我们简化了 CloudFormation StackSets 集功能的使用,让客户能够轻松借助 AWS Organizations 管理多个账户。

现在,您可以跨多个 AWS 账户和区域集中编排任何启用了 AWS CloudFormation 的服务。例如,您可以跨 AWS 区域以及您组织中的账户部署集中的 AWS Identity and Access Management (IAM) 角色、预置 Amazon Elastic Compute Cloud (EC2) 实例或 AWS Lambda 函数。CloudFormation StackSets 简化了跨账户权限的配置,支持在账户加入组织或从组织中移除账户时自动创建和删除资源。

您可以通过在 StackSets 控制台启用 CloudFormationOrganizations 之间的数据共享来开始使用此功能。启用后,您将能够在 Organizations 主账户中使用 StackSets 将堆栈部署到您的组织或者特定组织部门 (OU) 中的所有账户。StackSets 提供了一种新的服务托管权限模式。选择服务托管权限后,可让 StackSets 自动配置所需的必要 IAM 权限以将堆栈部署到您组织中的账户。

除可以设置权限外,CloudFormation StackSets 现在还提供了一个选项,让您可以在新的 AWS 账户加入或退出您的组织时自动创建或移除您的 CloudFormation 堆栈。您无需手动连接到新账户以部署您的常用基础设施,或者在从组织移除账户时删除基础设施。在账户退出组织时,该堆栈将从 StackSets 的管理范围移除。但您可以选择删除或保留该堆栈管理的资源。

最后,您可以选择是将某个堆栈部署到整个组织,还是仅部署到一个或多个组织部门 (OU)。您还可以选择多种部署选项:将并行准备的账户数量、停止整个部署前您可以容忍的失败次数。

有关 StackSets 工作原理的完整描述,请参阅 Jeff 的首发博客文章

AWS CloudFormation StackSet 与 AWS Organizations 结合使用不会产生额外的费用。此集成已在提供 StackSets 功能的所有 AWS 区域可用。

— seb