写点什么

使用 AWS CloudFormation StackSets 跨多个 AWS 账户和区域配置资源

  • 2019-11-12
  • 本文字数:1838 字

    阅读完需:约 6 分钟

使用 AWS CloudFormation StackSets 跨多个 AWS 账户和区域配置资源

AWS CloudFormation 可帮助 AWS 客户实施基础设施即代码模型。客户现在无需手动设置自己的环境和应用程序,他们可以生成一个模板,然后使用它来创建所有必需的资源 (统称为 CloudFormation 堆栈)。此模型彻底消除了人工错误的可能,提高了效率,能够确保始终一致的配置。


今天,我准备为大家介绍一个让 CloudFormation 变得更加有用的新功能。此功能可帮助您应对在包含多个 AWS 账户和/或 AWS 区域的情况下使用基础架构即代码时的挑战。快速回顾:



账户 – 正如前面提到的那样,很多组织使用大量的 AWS 账户,通常用 AWS Organizations 将这些账户组织为分层结构,分组为不同的组织部门 (OU) (阅读 AWS Organizations – 基于策略的多 AWS 账户管理了解更多信息)。我们的客户使用多个账户满足业务部门、应用程序和开发人员所需。他们通常为每一个应用程序的开发、测试、生产前调试及生产阶段创建不同的账户。


区域 – 客户也可以充分利用数量众多 (一直在增长) 的 AWS 区域。他们构建跨越两个或更多区域的全球应用程序,实施精巧的多区域灾难恢复模型,实时复制 S3AuroraPostgreSQLMySQL 数据,为依据国家和地区法规存储和处理敏感数据选择位置。


多账户和多区域的扩展对管理和一致性带来了新的挑战。客户告诉我们,他们希望确保每一个新账户都按照其内部标准进行设置。首先他们需要一致、可靠地设置 IAM 用户和角色、VPC 和 VPC 子网、安全组、配置规则、日志记录和 AWS Lambda 函数。


介绍 StackSet



为了满足这些重要的客户需求,我们今天推出 CloudFormation StackSet。现在通过几次单击操作,即可在 CloudFormation 模板中定义 AWS 资源配置,然后跨多个 AWS 账户和/或区域进行部署。您可以用它来设置 AWS 功能的基准水平,以满足上述跨账户和跨区域情形的需要。设置之后,可将覆盖范围轻松扩展到更多的账户和区域。


该功能始终只适用于多账户情形。管理员账户 拥有一个或多个 StackSet,用于控制对一个或多个_目标账户_ 的部署。管理员账户必须包含一个可担任的 IAM 角色,目标账户必须信任管理员账户。要了解具体的操作方法,请阅读 StackSet 文档中的先决条件


每个 StackSet 都引用一个 CloudFormation 模板,它包含一系列账户和区域。所有操作都适用于 StackSet 中账户和区域的叉积。如果 StackSet 引用三个账户 (A1、A2 和 A3) 和四个区域 (R1、R2、R3 和 R4),则有 12 个目标:


  • 区域 R1:账户 A1、A2 和 A3。

  • 区域 R2:账户 A1、A2 和 A3。

  • 区域 R3:账户 A1、A2 和 A3。

  • 区域 R4:账户 A1、A2 和 A3。


部署模板按账户/区域对启动 CloudFormation 堆栈的创建。模板按顺序部署到区域 (您控制顺序),再部署到区域中的多个账户 (您控制并行量)。您可以设置错误阈值,以便在堆栈创建失败时终止部署。


您可以使用现有 CloudFormation 模板 (注意确保它们已准备好跨账户和区域工作)、创建新模板,或使用我们提供的示例模板。我们还要发布对 AWS 分区 (除了中国的几个区域外的其他所有公共区域) 的支持,希望不久将扩展到其他区域。


使用 StackSet


您可以从 CloudFormation 控制台、通过 CloudFormation API 或使用命令行创建和部署 StackSet。


如果使用控制台,首先单击 Create StackSet。我可以使用自己的模板,也可以使用一个示例模板。我使用最后一个示例 (添加配置规则加密卷):



单击 View template 了解模板及规则:



为 StackSet 提供名称。我选择的模板接受可选参数,可以现在输入:



接下来,选择账户和区域。我可以直接输入账号,引用 AWS 组织单元或上传一组账号:



我可以设置区域并控制部署顺序:



我还可以设置部署选项。完成后,单击 Next 继续:



我可以向 StackSet 添加标签。它们将应用于部署期间创建的 AWS 资源:




部署开始,我可以从控制台中跟踪状态:



我可以打开“Stacks”部分查看每个堆栈。开始时,每个堆栈的状态都是 OUTDATED,这表明模板尚未部署到堆栈;成功部署后,状态变为 CURRENT。如果无法删除某个堆栈,其状态将变为 INOPERABLE


初始部署完成后,可以单击 Manage StackSet 添加更多账户和/或区域来创建更多堆栈:



现在提供


这项新功能现已推出,您可以立即开始使用,无需额外费用 (只为您自己创建的 AWS 资源付费)。


Jeff


另外,如果您创建了一些有用的模板,愿与其他 AWS 用户分享,请向我们的 AWS 实验室 GitHub 存储库发送提交请求。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/use-cloudformation-stacksets-to-provision-resources-across-multiple-aws-accounts-and-regions/


2019-11-12 08:00786

评论

发布
暂无评论
发现更多内容

第二周作业

cqyanbo

架构实战营模块二作业

lchx08

「架构实战营」

如何做一个区块链浏览器

Rayjun

区块链 区块链浏览器

在不丢失数据的情况下处理屏幕旋转 - Android

坚果

android 28天写作 12月日更

别做消费主义的祭品

mtfelix

圣诞节快到了,何不送给Ta一份程序员的浪漫

海拥(haiyong.site)

前端 代码中的浪漫 圣诞节 28天写作 12月日更

学习总结 2021.12.19

mj4ever

学习笔记

模块三作业

Vincent

「架构实战营」

在线JSON转BigQuery工具

入门小站

工具

王者荣耀商城异地多活架构设计

奔奔

作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业作业业作业作业作业作业作业作业作业作业作业作业作业作业作业

AUV

「架构实战营」

架构实战营模块二作业

zhongwy

架构实战营 「架构实战营」

架构实战模块二作业

青青子衿

Linux之cat命令

入门小站

Linux

微信朋友圈高性能架构

Only

架构实战营 「架构实战营」

给弟弟的信第17封|拒绝自我感觉良好

大菠萝

28天写作

实用机器学习笔记十八:过、欠拟合

打工人!

机器学习 深度学习 算法 学习笔记 12月日更

服务端质量保证体系(四) 测试环境治理

homber

服务端 质量保证 测试环境 签约计划第二季

模块7作业

Geek_1d37ea

架构实战营

-exec rm 与 xargs rm -rf 深度剖析

liuzhen007

28天写作 12月日更

架构训练营第四期-作业2

supermenG

架构师训练营 4 期

架构实战营模块2课后作业

墨宝

元宇宙

圣迪

区块链 数字孪生 元宇宙 进化的力量 扩展现实

轻松容器化golang应用程序

xcbeyond

golang Docker 28天写作 12月日更

ArgoCD 简明教程

Se7en

模块7学习总结

Geek_1d37ea

架构实战营

MQTT X v1.7.0 正式发布:MQTT 5.0 支持最为完整的客户端工具

EMQ映云科技

物联网 IoT mqtt

项目已成为组织发展的必要手段、企业成长的发动机

Seven的代码实验室

项目管理

事业的智囊团,精神的后花园(19/28)

赵新龙

28天写作

如何把新用户转化为活跃用户

石云升

AARRR 产品思维 28天写作 产品增长 12月日更

=>符号使用场景

喵叔

28天写作 12月日更

使用 AWS CloudFormation StackSets 跨多个 AWS 账户和区域配置资源_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章