阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

评论

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

☕【Java技术指南】「并发编程专题」CompletionService框架基本使用和原理探究(基础篇)

洛神灬殇

Java CompletionService Executor 9月日更

架构实战营模块八作业

老猎人

架构实战营

如何应对老板项目?

石云升

项目管理 9月日更

不同 GC 和 堆内存总结

小方

JVM 垃圾回收机制 垃圾回收算法 垃圾回收器

浏览器缓存之强缓存和协商缓存

Augus

浏览器 9月日更

计算机操作系统学习笔记 | 操作系统特征

Regan Yue

学习 操作系统 9月日更

外包学生管理系统架构文档

穿裤子的云

架构实战营

模块三作业

Geek_fc100d

「架构实战营」

攀岩时代:HMS Core 6.0与移动开发之路

脑极体

深入了解QueryDSL

邱学喆

type Configuration Expression SqlSerializer visitor

区块链,不是元宇宙的全部

CECBC

你不知道的computed

法医

Vue 9月日更

linux之chroot命令

入门小站

Linux

Mybatis Plus 的 @SqlParser 的说明与替代注解

玄兴梦影

注解 过滤器 Mybatis-Plus

Python——内置模块中的内置函数

在即

9月日更

网络攻防学习笔记 Day134

穿过生命散发芬芳

网络安全 9月日更

架构实战营 模块八作业

孫影

架构实战营 #架构实战营

区块链不是用来解决现实社会问题 而是为了建立一个全新的平行世界而生

CECBC

架构实战营 - 模块三作业

en

架构实战营

Typora+PicGo+Gitee搭建博客写作环境

Simon郎

Typora PicGo markdown编辑器 免费图床

坚决抵制造星炒星等畸形价值观,资本是如何通过造星收割粉丝的

石头IT视角

谷歌工程师是怎么写工程设计文档的?

俞凡

Google 大厂实践

外包学生管理系统架构设计

陈家豪

架构实战营

字符串池化,减少了三分之一的内存占用

newbe36524

C# string 内存

【VueRouter 源码学习】第十篇 - 全局钩子函数的实现

Brave

源码 vue-router 9月日更

架构实战营 - 模块八作业

李东旭

「架构实战营」

【架构图话说】我们怎么就做上了“中台”

超哥图话说

架构 中台 复杂 增长

老师偷偷塞给我一份资料,封面写着《操作系统》,下面一行小字

梦想橡皮擦

9月日更

看好创业项目,避免藏在乐观下的无知状态

boshi

创业

架构实战营模块7作业

技术是伙伴

架构实战营

Scrum Patterns:冲刺目标(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

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