こんにちは、小寺です。
AWS Control Towerを使って、マルチアカウント管理を実現されている方は多くいらっしゃるかと思います。
AWS Control Tower カスタマイズ フレームワークのオプトインについて、直近のアップデートをご紹介します!
https://aws.amazon.com/about-aws/whats-new/2024/07/aws-control-tower-customization-frameworks-opt-in-regions/
アップデート内容
いきなりまとめです。オプトインしたリージョンでも追加で機能が利用できるようになりました。
・Account Factory for Terraform (AFT) と Customizations for AWS Control Tower (CfCT)が追加リージョンで利用できます。
・対象リージョンは、5つの商用リージョンです。
1) アジアパシフィック (ハイデラバード)
2) ジャカルタ
3) 大阪
4) イスラエル (テルアビブ)
5) 中東 (UAE)
・ちなみにAWS GovCloud (米国東部) リージョンでも利用可能です。
AWS Control Towerで付帯して使われるサービスたち
ここでは、Control Towerそのものについての解説は省略します。他によくControl Towerと一緒に使われるサービスは以下が挙げられるかと思います。
・AWS Control Tower のカスタマイズ (CfCT): Terraform非対応(CloudFormationのみ)
・Account Factory Customization (AFC): Terraform対応。1 AWS Service Catalog つのブループリント製品のみを使用したカスタマイズができる。
・Account Factory for Terraform (AFT) : Terraform対応。GitOpsで展開できる
Account Factory for Terraform (AFT) についておさらい
Terraform で AWS Control Tower Account Factory を利用するために作成された方法です。AFTを使ってTerraformのファイル作成を行いAWSアカウントの作成、管理を行うことができます。
公開されているAFTのコードはこちら。
注意事項としては、AFT利用ではControl Tower管理アカウントとは別のAFT管理アカウントが必要です。 AFTアカウントは新規に作成したOrganizations Unit (OU) 内で作成しましょう。
![](https://d1.awsstatic.com/Developer%20Marketing/jp/magazine/2023/202307-terraform/aft-architecture.01b20228ca169240c7be40e2cdb4943171f4ce1b.png)
AFTを使うメリットです。AFT は、AWS のサービスのコレクションを使用して、Terraformを利用することで AWS Control Tower アカウントを管理が可能です AFT のメリットのとして挙げられる1つ目は、複数のアカウント リクエストをキューに入れることができます。
AWS Control Tower では一度に 1 つのアカウントしか作成できませんが、AFT は DynamoDB と SQS を使用して同時に5つのアカウント作成可能です。アカウントリクエストをキューに入れ、バッチアカウントの作成をより効率的にしています。 4 つのリポジトリにわたってアカウント仕様を定義すると、CodeBuild ジョブによりリポジトリへの変更を監視することができます。
※5つ以上の作成リクエストがある場合でも Terraformファイルへの追加をしておけば対応可能です。
![](https://d1.awsstatic.com/Developer%20Marketing/jp/magazine/2023/202307-terraform/high-level-aft-diagram.efac1a3e862257c1dd565169bfaab1aa60eb80c5.png)
CustomizationforControlTower(CfCT) についておさらい
CustomizationforControlTower(CfCT)は、 AWS Control Tower ランディングゾーンをカスタマイズし、 AWS ベストプラクティスを満たしてくれるサービスです。 カスタマイズ方法としては、AWS CloudFormation テンプレートとサービスコントロールポリシー (SCP) で実装されます。
AWS Control Tower のカスタマイズ (CfCT) の最新の情報については、 こちらのGitHubリポジトリから確認ください。
CfCT をデプロイすると、 AWS上に以下の環境がデプロイされます。
![](https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/images/customizations-for-aws-control-tower-architecture-diagram.png)
設定したい内容を記述し、 カスタムリソースがパッケージ化され 、Amazon S3に保存されるか、AWS Code Commitに保存することにより、CodePipeline/CodeBuildが自動的にビルド・テストされます。
注意事項として、 デフォルトでは、CfCT はパイプラインソースを格納するために Simple Storage Service (Amazon S3) バケットを作成しますが、S3の格納先は、 AWS CodeCommit リポジトリで変更することができます。
また、 AWS Control Tower のカスタマイズ (CfCT) は、AWS Control Tower のランディングゾーンがデプロイされているものと同じアカウントとリージョンで起動する必要があるので、要注意ですね。
以上、リージョン追加と合わせて、Control Tower系の復習でした。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/03/SunnyPay.jpg)