架構概觀 - AWS Control Tower

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

架構概觀

部署 CfCT 會在 AWS 雲端中建置下列環境,並以 Amazon S3 儲存貯體做為組態來源。

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 時,它會透過 Amazon Simple Storage Service (Amazon S3) 封裝自訂資源並將其上傳至程式碼管道來源。上傳程序會自動叫用服務控制政策 (SCPs) 狀態機器和 AWS CloudFormation StackSets 狀態機器,以在 OU 層級部署 SCPs,或在 OU 或帳戶層級部署堆疊執行個體。

注意

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

CfCT 部署兩個工作流程:
  • AWS CodePipeline 工作流程

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

AWS CodePipeline 工作流程

AWS CodePipeline 工作流程會設定、 AWS CodePipelineAWS CodeBuild專案AWS Step Functions,以及協調組織中 AWS CloudFormation StackSets 和 SCPs的管理。

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

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

  • SCP 階段 – 叫用服務控制政策狀態機器,其會呼叫 AWS Organizations API 來建立 SCPs。

  • AWS CloudFormation 階段 – 調用堆疊集狀態機器來部署您在資訊清單檔案中提供的帳戶或 OUs 清單中指定的資源。

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

注意

如需自訂組態套件的詳細資訊,請參閱 CfCT 自訂指南

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

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

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