For engineer

AWSを複数アカウントで運用していると、「誰が・いつ・どのアカウントで・何をしたか」を追跡できず、監査やインシデント対応で困った経験はありませんか?

CloudTrailを各アカウントで個別に有効化していると、ログが分散してしまい、横断的な調査に時間がかかります。特にAWS Organizationsで10アカウント以上を管理している環境では、ログ集約の仕組みなしでは運用が回りません。

この記事では、AWS Control Towerを使って全アカウントのCloudTrailログを一元管理する手順を解説します。設定後にハマりがちなポイントや、ログ保管コストを抑えるコツも合わせて紹介するので、これからマルチアカウント運用を始める方の参考になれば幸いです。

まずControl Towerってなに?

一言でいうと、AWSの複数アカウントをまとめて管理するためのサービスです。

AWSを組織で使い始めると、「アカウントが増えてきたけど、どう管理すればいいの…?」「全アカウントに同じセキュリティ設定を入れたいけど、毎回手動でやるの…?」といった悩みが出てきます。

Control Towerは、そんなマルチアカウント運用の課題を、ベストプラクティスに沿った形で自動化してくれます。新規アカウントを作るときも、初期設定が自動で適用されるので、運用がぐっと楽になります。

Control Towerと操作ログの集約先

Control Towerの初期設定の一つに、CloudTrailの有効化、つまりユーザーの操作ログの集約があります。

管理アカウントでControl Towerを有効化する際に、ログの集約先として「ログアグリゲータ」と呼ばれるアカウントを指定します。イメージとしては、次のような構成になります。

Securityアカウントでは、CloudTrailのログ保管に加え、GuardDutyやCSPMといったセキュリティサービスも併せて運用しています。

ログの改ざん防止の観点から、セキュリティサービスは別アカウントに分離すべきという考え方もありますが、S3のオブジェクトロックによって改ざん防止が可能であるため、本構成では同一アカウントで兼用しています。

Control Towerのセットアップ手順

「AWS Control Towerの有効化」をクリックします。

新規にフルでセットアップするので、「充実した環境を設定したい」を選択します。

項目充実した環境を設定したい既存の環境があり、AWSが管理するコントロールを有効化したい
別名フルセットアップControls-Only モード
ランディングゾーン構築✅ あり(OU、ログアーカイブ/監査アカウント、CloudTrail集約等を自動構築)❌ なし(既存環境をそのまま使う)
向いている環境これからマルチアカウント環境を作る/まっさらなAWSアカウントすでにOrganizations・Config・CloudTrail等を独自に構築済み

ホームリージョンは初期値のままにします。

新規アカウントに対して自動でルールを適用ししたいので、「自動アカウント登録をオンにする」をチェックします。

サンボックスのチェックボックスは外します。セキュリティは強制的にチェックは外せないようになっています。

Sandbox OU とは

Control Towerが初期セットアップ時にデフォルトで作成する、開発・実験用のOUです。本番環境とは隔離された「砂場」として、自由に試せる場所を意味します。

-For engineer