【正解】B、C、E
【0からの解説】
本問は AWS Control Tower の Account Factory Customization (AFC)(アカウントファクトリーのカスタマイズ=ブループリント機能)を使い、新規・既存アカウントへ共通の VPC をプロビジョニングし、中央の Transit Gateway に接続する自動化を、最小の運用オーバーヘッドで実現する設計を問うています。
AFC(ブループリント)は、AWS Service Catalog 製品(CloudFormation テンプレート)を「ブループリント」として指定し、Control Tower のアカウントファクトリーが新規アカウント作成時・既存アカウント更新時にそのテンプレートを自動適用してくれるマネージドな仕組みです。Lambda や EventBridge を自前で作り込む必要がなく、運用オーバーヘッドが最小になります。
必要なステップは次の 3 つです。
■ C:各アカウントに作る共通インフラ(VPC、Transit Gateway へのアタッチメント等)を CloudFormation テンプレートで記述し、それを Service Catalog 製品として登録します。これが AFC のブループリント本体になります。
■ B:既存アカウントを AFC で更新(ブループリントを適用)し、新規アカウントのプロビジョニング時にも同じ AFC(ブループリント)を選択します。これにより「新規・既存の両方」へ自動適用される要件を満たします。
■ E:AFC(ブループリント)が対象アカウントにリソースを展開できるよう、ブループリントを管理する側のアカウント(ここではブループリント/Service Catalog 製品を持つ共有サービスアカウント)に AWSControlTowerBlueprintAccess ロールを作成する必要があります。これは AFC を機能させるための必須の前提ロールです。
よって B・C・E が正解です。これらは Control Tower のマネージド機能を活用するため、自前のイベント駆動の作り込み(Lambda/EventBridge)より運用負荷が小さくなります。
【誤りの選択肢】
A:Lambda 関数が各メンバーアカウントのロールを引き受けてインフラをプロビジョニングする方式は、ロール管理・エラー処理・冪等性などを自前で作り込む必要があり、運用オーバーヘッドが大きくなります。AFC を使う B・C・E の方がマネージドで効率的です。
D:EventBridge で CreateManagedAccount ライフサイクルイベントを捕捉して Lambda を起動する方式も、A と同様にカスタムの自動化基盤を自前で構築・運用することになり、運用負荷が高くなります。さらに既存アカウントへの適用(イベントは新規作成時に発火)にも別途対応が必要で、要件「新規および既存」を一貫して満たしにくく、AFC を使う構成に劣ります。
【参考】
AWS Control Tower の Account Factory Customization (ブループリント)AWSControlTowerBlueprintAccess ロールの作成