AWS Control Tower で構築するマルチアカウント環境 - ランディングゾーンとガードレール

ランディングゾーンの自動構築とガードレールによるポリシー適用で、マルチアカウント環境のガバナンスを確立する。Account Factory によるアカウント自動作成も紹介します。

Control Tower の役割

Control Tower は AWS のマルチアカウント環境を自動構築・管理するサービスです。Organizations でアカウントを作成し、SCP でポリシーを適用し、Config でコンプライアンスを監視し、CloudTrail でログを集約する一連の設定を、ランディングゾーンとして自動的にセットアップします。手動で構築すると数日かかるマルチアカウントのベストプラクティス構成が、Control Tower では数時間で完了します。ランディングゾーンは管理アカウント、ログアーカイブアカウント、監査アカウントの 3 アカウント構成を基本とし、Security OU と Sandbox OU を自動作成します。ログアーカイブアカウントには全アカウントの CloudTrail ログと Config ログが S3 バケットに集約され、監査アカウントには Config Aggregator と SNS 通知が構成されます。

ガードレールの設計

ガードレールは必須、強く推奨、選択的の 3 段階で 400 以上が提供されます。予防的ガードレールは SCP で実装され、禁止されたアクションを事前にブロックします。例えば「ログアーカイブアカウントの CloudTrail 設定の変更を禁止」「リージョン制限 (許可されたリージョン以外での操作を禁止)」などです。検出的ガードレールは Config ルールで実装され、非準拠の設定を検出して通知します。例えば「EBS ボリュームが暗号化されていない」「S3 バケットがパブリックアクセス可能」などです。プロアクティブガードレールは CloudFormation フックで実装され、非準拠のリソースの作成を事前にブロックします。組織固有のポリシーが必要な場合は、カスタムガードレールを SCP または CloudFormation Guard ルールで定義し、マネージドガードレールと同様に OU 単位で適用できます。ガードレールの適用は OU 単位で行い、本番 OU には厳格な予防的ガードレールを、開発 OU には検出的ガードレールのみを適用するなど、環境に応じた段階的な制御が推奨されます。

Account Factory とカスタマイズ

Account Factory は Service Catalog と統合されたアカウント作成機能です。開発者がセルフサービスでアカウントを申請すると、標準化された設定 (VPC、サブネット、セキュリティグループ、IAM ロール) が自動適用されたアカウントが数分で作成されます。Customizations for Control Tower (CfCT) を使用すると、アカウント作成時にカスタムの CloudFormation テンプレートを自動適用できます。セキュリティツールのインストール、監視エージェントの設定、標準的な IAM ロールの作成などを自動化し、全アカウントで一貫した構成を保証します。Account Factory Customization (AFC) では CloudFormation と Terraform の両方のカスタムテンプレートに対応しており、セキュリティベースラインやネットワーク設定を標準化できます。Account Factory for Terraform (AFT) を利用すると、Terraform のワークフローでアカウント作成からカスタマイズまでを IaC で管理でき、GitOps パターンによるアカウントプロビジョニングが実現します。 Control Tower の運用ノウハウを深めるには、専門書籍 (Amazon)が役立ちます。

設計のベストプラクティスと落とし穴

Control Tower の OU 設計では、ワークロードの種類 (本番、ステージング、開発) とセキュリティ境界 (ネットワーク、共有サービス、セキュリティ) を軸にした階層化が推奨されます。典型的な構成は Security OU (ログアーカイブ・監査)、Infrastructure OU (ネットワーク・共有サービス)、Workloads OU (本番・非本番) の 3 層です。よくある落とし穴として、ランディングゾーンのホームリージョン変更が不可能な点があります。初期セットアップ時のリージョン選択は慎重に行う必要があります。また、ガードレールのドリフト検出で「非準拠」になった場合、Control Tower ダッシュボードからの修復操作が必要になり、手動で SCP を直接編集すると状態の不整合が発生します。Control Tower が管理する OU 配下のアカウントで Organizations の SCP を直接変更することは避け、必ず Control Tower コンソールまたは API 経由で管理してください。

Control Tower の料金

Control Tower 自体に追加料金は発生しません。コストは Control Tower が内部で使用する AWS サービス (Organizations、Config、CloudTrail、S3、SNS) の利用料金です。検出的ガードレールは Config ルールとして実装されるため、Config の評価料金 (1 評価あたり約 0.003 ドル) が発生します。ガードレールの数とアカウント数に応じて Config のコストが増加するため、必要なガードレールを選択的に有効化し、全ガードレールを一律に有効化しないことでコストを管理します。Account Factory で作成されるアカウントの VPC やサブネットの構成もコストに影響するため、不要なリソースの自動作成を最小限に抑える設定が推奨されます。特に大規模組織 (100 アカウント以上) では、Config の評価コストが月数百ドルに達する場合があるため、OU ごとにガードレールの適用範囲を最適化することが重要です。

Organizations 単体構築との比較

Organizations と SCP を直接使ってマルチアカウント環境を構築することも可能ですが、Control Tower はそのプロセスを大幅に簡素化します。Organizations 単体では、CloudTrail のマルチアカウント集約設定、Config の Aggregator 構成、ログバケットのアクセスポリシー設定、アカウント作成時のベースライン適用をすべて手動で構築する必要があります。Control Tower はこれらを自動化し、ドリフト検出でガバナンスの一貫性を継続的に監視します。一方、Control Tower には制約もあります。サポートされるリージョンの組み合わせに制限があること、ネストされた OU の階層に制限があること、ランディングゾーンの更新時にダウンタイムが生じる可能性があることです。組織が独自のガバナンスフレームワークを既に持ち、SCP と Config ルールを Terraform や CDK で完全に管理している場合は、Control Tower を使わず Organizations 直接管理の方が柔軟性を確保できます。

まとめ

Control Tower はマルチアカウント環境のセットアップとガバナンスを自動化するサービスです。ランディングゾーンでベストプラクティス構成を自動構築し、ガードレールでセキュリティポリシーを強制し、Account Factory でアカウント作成を標準化します。OU 設計の階層化とガードレールの段階的適用を組み合わせることで、セキュリティと開発者の俊敏性を両立できます。組織の AWS 利用が拡大する際の基盤として不可欠です。