AWS Control Towerでマルチアカウント環境を構築する旅 #2

はじめに

こんにちは!

前回の記事では、AWS Control Tower を導入する背景と計画についてお話ししました。今回は実際の展開から得られた学びを共有します。 当初は「ウィザードを進めればすぐ終わる」と思っていましたが、実際にはいくつか予想外の発見や改善ポイントがありました。

Control Towerの起動

ランディングゾーンの設定を開始し、ウィザードに従って以下を実行しました。

  • 管理アカウントの確認(管理アカウントID
  • ホームリージョンの選択(us-east-1など)
  • ログアーカイブアカウント(メール:log-archive@your-company.comなど)
  • 監査アカウント(メール:audit@your-company.comなど)
  • OU(組織単位)の初期構造を作成

セットアップは約 [所要時間例: 1時間〜1時間半] で完了し、計画通りの OU 構造とアカウントが作成されました。

(※この所要時間は CloudFormation スタックの展開時間にも依存します)

Control Tower 起動後の状態

AWS Control Tower のベストプラクティス準拠の最小構成は、通常以下の要素を含みます:

  • 管理アカウント: Control Tower とマルチアカウント環境の全体管理を担当するアカウント
  • ログアーカイブアカウント: 組織全体のログを一元的に保存・管理するためのアカウント
  • 監査アカウント: コンプライアンスやセキュリティ監査機能を集約するアカウント
  • 基本的な OU(組織単位)構造: Security & Sandbox などの基本的な分類
  • 基本的なガードレール: AWSのセキュリティベストプラクティスに基づく強制的および予防的コントロール

環境のカスタマイズ

Control Tower の導入により、各チームの開発効率向上、セキュリティ体制の強化、コスト管理の透明性が格段に向上するなど、重要な運用改善が実現しました。以下に具体的なカスタマイズ内容を説明します。

OU の階層化

AWS Organizations の状態
  • ベストプラクティスと当社のポリシー要件に基づき、製品やサービスの構築・運用に直接関連するWorkloads OU を作成
  • Workloads OU 内にプロダクトごとの専用 OU を作成、各プロダクト OU には開発/ステージング/本番環境のような環境別アカウントを紐付け
  • 組織全体の共有インフラサービスを管理する SRE OU を作成

新しいアカウントでは、各チームが IaC を活用して開発/ステージング/本番環境を適切に分離し、既存アカウントからのリソース移行に取り組みました。

アカウント作成

  • ベースライン環境構築後、Account Factory を活用してチームやアプリケーション用の AWS アカウントをプロビジョニングできます。
  • Account factory は新規アカウント向けのネットワーク設定を提供しますが、当社では VPC に関する独自のルールがあるため、Control Tower VPC は採用していません。

手作業で時間がかかりミスが発生しやすい方法と比べて、Account Factory を使えば、AWS アカウントを迅速かつ自動的に作成し、最初から一貫性とセキュリティコンプライアンスを確保できます。

コントロール適用

  • AWS Config による設定監視・検証の自動化と、CloudFormation によるインフラのコード化を組み合わせ、セキュリティ問題の検出(検出機能)と自動修正(プロアクティブ制御)を標準適用
  • 組織要件に応じて SCP(Service Control Policy)を活用し、リージョン制限やIP制限などの予防的対策をカスタマイズ可能

導入前はアカウントごとに設定がバラバラでセキュリティリスクが高かったのに対し、Control Tower のデフォルトコントロール導入後は、全アカウントで統一されたガバナンスとセキュリティが自動的に確保されました。

IAM Identity Center の統合

SSO Portalからアクセス
  • Control Tower 展開と同時に IAM Identity Center を有効化
  • 部署・プロジェクト単位で グループを作成
  • 各AWSアカウントや OU に 権限をマッピング
  • メンバーは SSO ポータルから自分のアカウントと権限を確認可能
  • 従来の個別 IAM ユーザー管理が不要に

これにより運用負荷が大幅に削減され、権限管理の効率化とセキュリティ・コンプライアンスの強化を同時に実現しました。

結果と利点

項目導入前導入後
AWS アカウント作成時間[例: 3〜5日](手動設定多数)[例: 1〜3時間]Account Factory で自動化)
権限管理IAM ユーザー手動管理IAM Identity Center で一元管理(SSO対応)
監査・コンプライアンスCloudTrail がないため、必要時に都度確認、証跡不十分CloudTrail + Config による自動証跡と監査レポート
ログ管理一元管理なし一元管理あり
IaC 運用環境共用で困難各プロダクト専用アカウントで独立運用、環境間の干渉なし
セキュリティAWS OrganizationsSCP 適用のみControl Tower のセキュリティコントロールをデフォルトで適用・強制実行
オンボーディング手動ユーザー作成と権限付与グループ割当てで即時アクセス可能
コスト管理リソース共用のため各プロダクトのコスト個別集計・分析に時間を要するアカウント分離によるコスト可視化・分析の向上

最後に

この記事では、AWS Control Tower を活用した環境構築の実際と得られた知見を共有しました。想定外の課題や対応策、そして最終的な運用改善について詳細に解説しています。今後も当社のクラウド環境はさらに進化していきますが、この基盤があることで、より効率的かつセキュアな開発・運用が可能になります。

上記の基盤整備に加え、Control Tower の管理機能をさらに強化するためには、Security HubGuardDuty の追加利用が効果的です。ただし、実際の必要性とコストのバランスを考慮し、現時点では検討段階にとどめています。また、Customizations for AWS Control Tower(CfCT)の導入についても、技術的複雑さと組織のアカウント数の規模のバランスを考慮しながら評価中です。