アーキテクチャの概要
CfCT をデプロイすると、次の環境が AWS クラウドに構築されます。

図 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
デフォルトでは、CfCT はパイプラインソースを格納するために Simple Storage Service (Amazon S3) バケットを作成しますが、この場所は AWS CodeCommit
CfCT は次の 2 つのワークフローをデプロイします。
-
AWS CodePipeline
ワークフロー -
AWS Control Tower ライフサイクルイベントワークフロー
AWS CodePipeline ワークフロー
AWS CodePipeline ワークフローは、AWS CodePipeline、AWS CodeBuild
設定パッケージをアップロードすると、CfCT はコードパイプラインを呼び出して 3 つのステージを実行します。
-
構築ステージ — AWS CodeBuild を使用して設定パッケージの内容を検証します。
-
SCP ステージ — サービスコントロールポリシーステートマシンを呼び出し、AWS Organizations API を呼び出して SCP を作成します。
-
AWS CloudFormation ステージ — スタックセットステートマシンを呼び出して、マニフェストファイルで指定したアカウントまたは OU のリストで指定されたリソースをデプロイします。
各段階で、コードパイプラインはスタックセットおよび SCP ステップ関数を呼び出します。これにより、カスタムスタックセットと SCP がターゲットとなる個々のアカウントまたは組織単位全体にデプロイされます。
設定パッケージのカスタマイズの詳細については、「CfCT カスタマイズガイド」を参照してください。
AWS Control Tower ライフサイクルイベントワークフロー
AWS Control Tower で新しいアカウントが作成されると、ライフサイクルイベントによって AWS CodePipeline ワークフローが呼び出されます。このワークフローを使用して、設定パッケージをカスタマイズできます。このパッケージは、Amazon EventBridge
Amazon EventBridge イベントルールが一致するライフサイクルイベントを検出すると、イベントが Amazon SQS FIFO キューに渡され、AWS Lambda 関数が実行され、コードパイプラインが呼び出されて、スタックセットと SCP のダウンストリームデプロイメントを実行します。