

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アーキテクチャの概要
<a name="architecture"></a>

CfCT をデプロイすると、Amazon S3 バケットを設定ソースとして AWS クラウドに次の環境を構築します。

![\[AWS Control Tower のカスタマイズに関するアーキテクチャの図表\]](http://docs.aws.amazon.com/ja_jp/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) によってカスタムリソースがパッケージ化され、コードパイプラインソースにアップロードされます。アップロードプロセスは、サービスコントロールポリシー (SCP) ステートマシンと [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) ステートマシンを自動的に呼び出して、OU レベルで SCP をデプロイするか、OU レベルまたはアカウントレベルでスタックインスタンスをデプロイします。

**メモ**  
デフォルトでは、CfCT はパイプラインソースを格納するために Amazon S3 バケットを作成します。既存の AWS CodeCommit リポジトリがある場合は、場所を [CodeCommit](https://aws.amazon.com/codecommit/) リポジトリに変更できます。詳細については、「[[Set up Amazon S3 as the configuration source](cfct-s3-source.md)](cfct-s3-source.md)」(Simple Storage Service (Amazon S3) を設定ソースとしてセットアップする) を参照してください。

**CfCT は次の 2 つのワークフローをデプロイします。**
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/) ワークフロー
+ AWS Control Tower ライフサイクルイベントワークフロー 

** AWS CodePipeline ワークフロー**

 AWS CodePipeline ワークフローは AWS CodePipeline、組織内の AWS CloudFormation StackSets と SCPs の管理[AWS Step Functions](https://aws.amazon.com/step-functions/)を調整する 、[AWS CodeBuild](https://aws.amazon.com/codebuild/)プロジェクト、および を設定します。

設定パッケージをアップロードすると、CfCT はコードパイプラインを呼び出して 3 つのステージを実行します。
+ **構築ステージ** — AWS CodeBuild を使用して設定パッケージの内容を検証します。
+ **SCP ステージ** – サービスコントロールポリシーステートマシンを呼び出し、 AWS Organizations API を呼び出して SCPsを作成します。
+ **CloudFormation ステージ** – スタックセットステートマシンを呼び出して、[マニフェストファイル](the-manifest-file.md)で指定したアカウントまたは OUs のリストで指定されたリソースをデプロイします。

各段階で、コードパイプラインはスタックセットおよび SCP ステップ関数を呼び出します。これにより、カスタムスタックセットと SCP がターゲットとなる個々のアカウントまたは組織単位全体にデプロイされます。

**注意**  
設定パッケージのカスタマイズの詳細については、「[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 のダウンストリームデプロイを実行します。