アーキテクチャの概要 - AWS Control Tower

アーキテクチャの概要

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

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) によってカスタムリソースがパッケージ化され、コードパイプラインソースにアップロードされます。アップロードプロセスは、サービスコントロールポリシー (SCP) ステートマシンと AWS CloudFormation StackSets ステートマシンを自動的に呼び出して、OU レベルで SCP をデプロイするか、OU レベルまたはアカウントレベルでスタックインスタンスをデプロイします。

注記

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

CfCT は次の 2 つのワークフローをデプロイします。
  • AWS CodePipeline ワークフロー

  • AWS Control Tower ライフサイクルイベントワークフロー

AWS CodePipeline ワークフロー

AWS CodePipeline ワークフローは、AWS CodePipeline、AWS CodeBuild プロジェクト、および AWS Step Functions を設定し、組織内のAWS CloudFormation StackSets と SCP の管理をオーケストレートします。

設定パッケージをアップロードすると、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 Simple Queue Service (Amazon SQS) 先入れ先出し (FIFO) キュー、および AWS Lambda 関数で構成されます。

Amazon EventBridge イベントルールが一致するライフサイクルイベントを検出すると、イベントが Amazon SQS FIFO キューに渡され、AWS Lambda 関数が実行され、コードパイプラインが呼び出されて、スタックセットと SCP のダウンストリームデプロイメントを実行します。