架构概述 - AWS Control Tower

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

架构概述

部署 cfCT 将在 AWS 云中构建以下环境。

AWS Control Tower 架构图的自定义

图 1:AWS Control Tower 架构的自定义设置

cfcT 包括一个您在 AWS Control Tower 管理账户中部署的 AWS CloudFormation 模板。该模板会启动构建工作流程所需的所有组件,因此您可以自定义 AWS Control Tower 着陆区。

备注

cfcT 必须部署在 AWS Control Tower 主区域和 AWS Control Tower 管理账户中,因为那是你的 AWS Control Tower 着陆区的部署地。有关设置 AWS Control Tower 着陆区的信息,请参阅AWS Control Tower 入门

在您部署 cfCT 时,它会通过亚马逊简单存储服务 (Ama zon S3) 将自定义资源打包并上传到代码管道源。上传过程会自动调用服务控制策略 (SCP) 状态机和状态机,以在 OU 级别部署 SCP,或者在 OU 或账户级别部署堆栈实例。AWS CloudFormation StackSets

备注

默认情况下,cfcT 会创建一个 Amazon S3 存储桶来存储管道源,但您可以将其位置更改为AWS CodeCommit存储库。有关更多信息,请参阅将 Amazon S3 设置为配置源

cfcT 部署了两个工作流程:
  • 工作AWS CodePipeline流程

  • 以及 AWS Control Tower 生命周期事件工作流程。

工作 AWS CodePipeline 流程

该 AWS CodePipeline 工作流程用于配置 AWS CodePipeline、AWS CodeBuild项目和AWS Step Functions协调组织中 SCP 的 AWS CloudFormation StackSets 管理。

当您上传配置包时,cfcT 会调用代码管道来运行三个阶段。

  • 构建阶段 — 使用 AWS CodeBuild 验证配置包的内容。

  • SCP Stag e — 调用服务控制策略状态机,该状态机调用 AWS Organizations API 来创建 SCP。

  • AWS CloudFormation St@@ ag e — 调用堆栈集状态机来部署您在清单文件中提供的账户或 OU 列表中指定的资源。

在每个阶段,代码管道都会调用堆栈集和 SCP 步骤函数,这些函数将自定义堆栈集和 SCP 部署到目标个人账户或整个组织单位。

备注

有关自定义配置包的详细信息,请参阅。cfcT 定制指南

AWS Control Tower 生命周期事件工作流程

在 AWS Control Tower 中创建新账户时,生命周期事件可以调用 AWS CodePipeline 工作流程。您可以通过此工作流程自定义配置包,该工作流程包括亚马逊 EventBridge事件规则、亚马逊简单队列服务 (Amazon SQS) 先入先出 (FIFO) 队列和函数。AWS Lambda

当 Amazon EventBridge 事件规则检测到匹配的生命周期事件时,它会将事件传递到 Amazon SQS FIFO 队列,调用该 AWS Lambda 函数,然后调用代码管道来执行堆栈集和 SCP 的下游部署。