AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

使用 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:00844

评论

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

源码浅析 - CocoaLumberjack 3.6 之 DDLog

Edmond

ios log4j CocoaLumberjack SourceCode DDLog

架构师们必备的三三制需求分析思维模型

常平

企业如何选择物联网中台

老任物联网杂谈

物联网中台 IOT Platform 物联网平台

轻轻一扫,立刻扣款,付款码背后的原理你不想知道吗?

楼下小黑哥

支付宝 微信支付 支付系统 付款码

游戏夜读 | 做游戏选什么专业?

game1night

大家看看我这个斜杠青年够斜吗?

伯薇

个人成长 斜杠青年 能力提升 好奇心 T型人才

哲少荐书:这才是心理学

Jackey

心理学 读书

[计算机网络1]我所知道的关于TCP的一切

海神名

TCP 计算机网络 网络协议 原理

译文MapReduce:大型集群上的简化数据处理

海神名

mapreduce 译文 MIT 分布式计算

用 Vim 编辑 Markdown 时直接粘贴图片

mzlogin

vim markdown

思维偏差与产品设计的关联思考

石君

产品设计 思维方式 安全产品设计

阿里29大开源项目看看你都用过哪些

Bruce Duan

高仿瑞幸小程序 02 创建Tabbar

曾伟@喵先森

小程序 微信小程序 大前端 瑞幸

扩展Redis:增加Redis命令

心平气和

redis

树莓派小车系列-直播

波叽波叽啵😮一口盐汽水喷死你

树莓派 ffmpeg 云直播 盐汽水 raspberry

科学治疗“知识焦虑症”

陈驰远

个人成长 知识管理

百度开源项目

Bruce Duan

leetcode20.有效的括号

Damien

算法 LeetCode

leetcode1137:第 N 个泰波那契数

Damien

算法 LeetCode 斐波那契

Java并发编程系列——线程池

孙苏勇

Java Java并发 并发编程 多线程 线程池

Netty 源码解析(五): Netty 的线程池分析

猿灯塔

虚拟化Pod性能比物理机还要好,原因竟然是这样!

亨利笔记

Kubernetes 容器 k8s vSphere pod

我愿沉迷于学习,无法自拔(三)

孙瑜

深度思考 程序员 感悟

下一个阶段,就真的容易了吗?

ke_lv

生活

缘起:很久很久以前

escray

学习 测试驱动开发实战营

DDD 实践手册(3. Entity, Value Object)

Joshua

系统设计 领域驱动设计 系统架构 架构模式

CEPH OSD Down故障分析与处理

木子

我看拼多多黄峥:旧世界瓦解冰消

池建强

拼多多 黄峥

File类的文件操作

Howe

Java File 文件 io

每天一道 python 面试题 - Python中的元类(metaclass) 详细版本

志学Python

python 爬虫 python元类

我的关注清单

lmymirror

知识管理 关注清单 RSS

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