阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

评论

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

KubeFATE:在Kubernetes上部署联邦学习平台

亨利笔记

人工智能 学习 FATE KUBEFATE

视达荣登ChinaBang Awards 2020智慧零售榜Top10

极客编

《Linux就该这么学》笔记(二)

编程随想曲

Linux

抄作业

escray

学习 CSD 认证实战营

多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理

与光

git GitHub SSH

GrowingIO 微服务 SaaS 与私有部署运行实践

GrowingIO技术专栏

大数据 微服务 SaaS

谈谈控制感(2):怎么让我们更健康

史方远

个人成长 心理

Java 编程基础

michaelliu

CDN云课堂 | EdgeRoutine技术专家教你把JS代码跑到CDN边缘

阿里云Edge Plus

Java CDN edge

CDN百科 | 假如没有CDN,网络世界会变成什么样?

阿里云Edge Plus

并发编程如何才能不再头疼:iOS中的协程

超越杨超越

ios 协程 coobjc ucontext

CDN云课堂 |可编程CDN – EdgeScript应用场景、语言速览和实操演示

阿里云Edge Plus

CDN百科 | 最近,你的APP崩了吗?

阿里云Edge Plus

CDN

概念有时候很坑

伯薇

抽象 思考力 沟通 概念

游戏夜读 | 如何优化缓冲加载?

game1night

读懂才会用 : 瞅瞅Redis的epoll模型

小眼睛聊技术

redis 缓存 学习 开源 架构 后端

由丰巢快递柜引发的思考

Neco.W

创业 思考 丰巢

如何推动与影响中型前端团队的成长

堂主

研发管理 大前端 团队建设

TOTO 2020再次荣获iF、红点两项国际设计大奖

极客编

用测试驱动开发学算法

escray

学习 CSD 认证实战营

我站在愚蠢之巅

escray

学习 CSD 认证实战营

聊聊Serverless

kimmking

想退休,可能没机会了

池建强

读书感悟

可视化 Tekton 组件 Tekton Dashboard

郭旭东

Kubernetes cicd

Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?

z小赵

Java 大数据 kafka 实时计算

奔向 10W+ 的第一次 update

赵新龙

InfoQ B站 Quora

一杯茶的时间,上手 Git 团队协作开发

图雀社区

git GitHub

一文看懂开源工作流引擎 Flowable

八味阁

Java spring 开源 企业中台 工作流

DD 测试linux性能

HU

MySQL数据类型DECIMAL用法

Simon

MySQL

用SpreadJS实现在线Excel的录入与展示,提升企业医保信息化服务水平

葡萄城技术团队

SpreadJS 医保信息化 在线excel

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