

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

# 架構概觀
<a name="architecture"></a>

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

![\[AWS Control Tower 架構的自訂圖表\]](http://docs.aws.amazon.com/zh_tw/controltower/latest/userguide/images/customizations-for-aws-control-tower-architecture-diagram.png)


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 入門](getting-started-with-control-tower.md)。

當您部署 CfCT 時，它會透過 [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3) 封裝自訂資源並將其上傳至程式碼管道來源。上傳程序會自動叫用服務控制政策 (SCPs) 狀態機器和 [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) 狀態機器，以在 OU 層級部署 SCPs，或在 OU 或帳戶層級部署堆疊執行個體。

**注意**  
根據預設，CfCT 會建立 Amazon S3 儲存貯體來存放管道來源。如果您有現有的 AWS CodeCommit 儲存庫，您可以將位置變更為 [CodeCommit](https://aws.amazon.com/codecommit/) 儲存庫。如需詳細資訊，請參閱[[將 Amazon S3 設定為組態來源](cfct-s3-source.md)](cfct-s3-source.md)。

**CfCT 部署兩個工作流程：**
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/) 工作流程
+ 和 AWS Control Tower 生命週期事件工作流程。

** AWS CodePipeline 工作流程**

 AWS CodePipeline 工作流程會設定、 AWS CodePipeline[AWS CodeBuild](https://aws.amazon.com/codebuild/)專案[AWS Step Functions](https://aws.amazon.com/step-functions/)，以及協調組織中 AWS CloudFormation StackSets 和 SCPs的管理。

當您上傳組態套件時，CfCT 會叫用程式碼管道來執行三個階段。
+ **組建階段** – 使用 AWS CodeBuild 驗證組態套件的內容。
+ **SCP 階段** – 叫用服務控制政策狀態機器，其會呼叫 AWS Organizations API 來建立 SCPs。
+ **CloudFormation 階段** – 調用堆疊集狀態機器來部署您在[資訊清單檔案中](the-manifest-file.md)提供的帳戶或 OUs 清單中指定的資源。

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

**注意**  
如需自訂組態套件的詳細資訊，請參閱 [CfCT 自訂指南](cfct-customizations-dev-guide.md)。

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

在 AWS Control Tower 中建立新帳戶時，[生命週期事件](lifecycle-events.md)可以叫用 AWS CodePipeline 工作流程。您可以透過此工作流程自訂組態套件，其中包含 [Amazon EventBridge](https://aws.amazon.com/eventbridge/) 事件規則、[Amazon Simple Queue Service](https://aws.amazon.com/sqs/) (Amazon SQS) 先進先出 (FIFO) 佇列和 [AWS Lambda](https://aws.amazon.com/lambda/)函數。

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