写点什么

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

评论

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

注意 ! !|95% 的应用程序中发现错误配置和漏洞

SEAL安全

配置管理 软件供应链安全 漏洞管理

react源码中的协调与调度

flyzz177

React

使用Docker踩坑,排查完问题之后,又涨知识了

程序员小毕

Java Docker 程序员 程序人生 后端

TiFlash 源码阅读(八)TiFlash 表达式的实现与设计

TiDB 社区干货传送门

React性能优化的8种方式

xiaofeng

React

React中常见的TypeScript定义实战

xiaofeng

React

react源码中的hooks

flyzz177

React

《关键信息基础设施安全保护要求》于明年五月正式实施

行云管家

网络安全

GaussDB CN服务异常实例分析

华为云开发者联盟

数据库 华为云 GaussDB

10年码农生涯经验总结,聊聊工作中18种接口优化方案!

Java全栈架构师

Java 数据库 程序员 程序人生 性能优化

TiFlash 源码阅读(七)TiFlash Proxy 模块

TiDB 社区干货传送门

详解Native Memory Tracking之追踪区域分析

华为云开发者联盟

开发 内存 华为云

技术分享 | 多测试环境的动态伸缩实践

LigaAI

云原生 自动化测试框架 测试环境 测试自动化 kubenetes

诚迈科技深耕汽车操作系统领域,获评优质供应商

科技热闻

低代码实现探索(五十三)后台逻辑的控制

零道云-混合式低代码平台

老板拍脑袋决策,团队群魔乱舞

填空时光

决策 团队内耗 企业敏捷

React生命周期深度完全解读

夏天的味道123

React

React源码中的dom-diff

夏天的味道123

React

# 分布式数据库新秀TIDB初探

TiDB 社区干货传送门

TiDB 底层架构 TiDB 源码解读

技术分享 | TiUP工具 - TiDB集群滚动升级核心流程解析

TiDB 社区干货传送门

教你一招,安全的从 MySQL 切换到 TiDB

TiDB 社区干货传送门

迁移 实践案例

TiDB常用SQL

TiDB 社区干货传送门

性能调优 集群管理

react源码中的fiber架构

flyzz177

React

Go类型转换和类型断言可别搞混了

王中阳Go

golang 高效工作 学习方法 面试题 11月月更

AntDB入选《2022爱分析·信创厂商全景报告》

亚信AntDB数据库

AntDB 信创 国产数据库 aisware antdb AntDB数据库

安防厂商在企业数字化转型中的机遇和挑战

慕枫技术笔记

AIOT 11月月更

《全国一体化政务大数据体系建设指南》发布,隐私计算将如何发挥作用?

洞见科技

将业务从mysql迁移至TIDB,有哪些需要注意的?

TiDB 社区干货传送门

管理与运维 应用适配 大数据场景实践

TiFlash 源码阅读(六) DeltaTree Index 的设计和实现分析

TiDB 社区干货传送门

CQRS与Event Sourcing

胖子笑西风

架构 DDD CQRS Event Sourcing #java

React的5种高级模式

夏天的味道123

React

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