架構概觀 - AWS Control Tower

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

架構概觀

部署 CFCT 在 AWS 雲中構建以下環境。


                AWS Control Tower 架構圖的自訂

圖 1:AWS Control Tower 架構的自訂

CcCT 包含您在 AWS Control Tower 管理帳戶中部署的 AWS CloudFormation 範本。範本會啟動建立工作流程所需的所有元件,因此您可以自訂 AWS Control Tower landing zone。

注意

CFCT 必須部署在 AWS Control Tower 主區域和 AWS Control Tower 管理帳戶中,因為這是 AWS Control Tower landing zone 域的部署位置。如需設定 AWS Control Tower landing zone 的相關資訊,請參閱開始使用 AWS Control Tower

當您部署 CFCT 時,它會透過 Amazon 簡單儲存服務 (Amazon S3) 將自訂資源封裝並上傳到程式碼管道來源。上傳程序會自動叫用服務控制原則 (SCP) 狀態機器和狀AWS CloudFormation StackSets態機器,以在 OU 層級部署 SCP,或在 OU 或帳戶層級部署堆疊執行個體。

注意

根據預設,CFCT 會建立 Amazon S3 儲存貯體來存放管道來源,但您可以將位置變更為AWS CodeCommit存放庫。如需詳細資訊,請參閱將 Amazon S3 設定為組態來源

CcCT 部署了兩個工作流程:
  • 一個AWS CodePipeline工作流

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

AWS CodePipeline 工作流程

AWS CodePipeline 工作流程可設定 AWS CodePipeline、AWS CodeBuild專案,並AWS Step Functions協調組織中 SCP AWS CloudFormation StackSets 和 SCP 的管理。

當您上傳組態套件時,CFCT 會叫用程式碼管線來執行三個階段。

  • 建置階段 — 使用 AWS CodeBuild 驗證組態套件的內容。

  • SCP 階段 — 叫用服務控制原則狀態機器,此機器會呼叫 AWS Organizations API 以建立 SCP。

  • AWS St CloudFormation age — 叫用堆疊集狀態機器,以部署您在資訊清單檔案中提供的帳戶或 OU 清單中指定的資源。

在每個階段,程式碼管線都會叫用堆疊集和 SCP 步驟函式,這些函式會將自訂堆疊集和 SCP 部署到目標個別帳戶或整個組織單位。

注意

如需有關自訂組態套件的詳細資訊,請參閱CFCT 定制指南

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

在 AWS Control Tower 中建立新帳戶時,生命週期事件可以叫用 AWS CodePipeline 工作流程。您可以透過此工作流程自訂組態套件,該工作流程包含 Amazon EventBridge 事件規則、Amazon 簡單佇列服務 (Amazon SQS) 先進先出 (FIFO) 佇列和函數。AWS Lambda

當 Amazon EventBridge 事件規則偵測到相符的生命週期事件時,會將事件傳遞至 Amazon SQS FIFO 佇列、叫用 AWS Lambda 函數,然後叫用程式碼管道以執行堆疊集和 SCP 的下游部署。