1
0

More than 1 year has passed since last update.

ControlTower⑨CloudWatchクロスアカウントダッシュボードの設定

Last updated at Posted at 2022-02-18

ControlTower関連記事まとめ

・ControlTower①マルチアカウント環境をセットアップする
・ControlTower②環境確認
・ControlTower③SSOの確認・アカウントの追加・削除
・ControlTower④ガードレールの設定
・ControlTower⑤Auditアカウントに作成されるリソースについて
・ControlTower⑥LogArchiveアカウントに作成されるリソースについて
・ControlTower⑦SecurityHubの有効化
・ControlTower⑧GuardDutyの有効化
・ControlTower⑨CloudWatchクロスアカウントダッシュボードの設定←今ここ
・ControlTower⑩LogArchiveアカウント内バケットへのCloudWatchLogs集約

CloudWatchのクロスアカウントダッシュボード・クロスアカウントアラームについて

2019年11月のアップデートで、CloudWatchのクロスアカウントダッシュボード機能が利用できるようになりました。また、2021年8月にはCloudWatchのクロスアカウントアラーム機能が追加され、マルチアカウント構成での監視の集約がますます実装しやすくなりました。今回はCloudWatchのクロスアカウントダッシュボード機能を利用して、各アカウントのメトリクス監視機能をAuditアカウントに集約する設定を確認します。

設定する内容の確認

まずは各アカウントの役割を確認します。
ControlTowerによりConfigが有効化され、Configの通知がAuditアカウントに集約されています。
また、前回・前々回の記事でGuardDuty・SecurityHubを有効化し、Auditアカウントを親として設定しています。今回はAuditアカウントにさらにCloudWatchのクロスアカウントダッシュボードを追加します。
image.png

クロスアカウントダッシュボードを追加した際の動作は下記のイメージです。
Auditアカウントのクロスアカウントダッシュボードからその他のアカウントのメトリクス監視や、クロスアカウントアラーム設定を行います。
image.png

ControlTower環境下でのCloudWatchクロスアカウントダッシュボード有効化手順

現在の環境ではControlTowerによりOUが作成されており、AuditアカウントはSecurityOUのメンバーアカウントとなっています。まずは管理(root)アカウントにログインし、組織との共有設定を行う必要があります。組織の共有設定が完了後AuditアカウントのCloudWatchからクロスアカウントクロスリージョンの設定を行ことで設定が完了します。

マスターアカウントでCloudWatchの組織との共有を行う

まずは管理(root)アカウントにログインし、CloudWatchのサービスページに移動します。
image.png
左メニューから「設定」に移動し、「クロスアカウントクロスリージョン」の「設定」ボタンを押下します。
image.png
クロスアカウントクロスリージョンの設定メニューが表示されます。
下にスクロールし、「組織内のアカウントのリストにアクセス許可を付与する」というセクションの「組織アカウントリストを共有」を押下します。
image.png
「特定のアカウント」のチェックボックスにチェックを入れ、テキストボックスにAuditアカウントのアカウントIDを入力します。「CloudFormationスタックを作成」セクションの「CloudFormationテンプレートを起動」を押下します。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png
クロスアカウントアカウントダッシュボードに使用するIAMロールを作成する為のCloudFormationの画面が表示されます。下にスクロールします。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

「CloudFormationによってIAMリソースがカスタム名で作成されることを承認します」というチェックボックスにチェックを入れ、「スタックの作成」を押下します。
image.png

CloudWatchのクロスアカウントダッシュボード設定画面に戻ります。「CloudWatch-CrossAccountSharingRoleが作成されました」と表示されていることを確認し、「完了」を押下します。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png
これで、管理(root)アカウント側での設定が完了しました。

Auditアカウントでクロスアカウントダッシュボードの有効化を行う

次はAuditアカウント側の設定を行います。
Auditアカウントにログインし、CloudWatchのサービスページに移動します。
左メニューから「設定」に移動し、「クロスアカウントクロスリージョンを表示」の「編集」ボタンを押下します。

image.png
クロスアカウントクロスリージョンの設定画面が表示されます。
「コンソールにセレクタを表示する」のチェックボックスにチェックを入れます。
「AWS組織アカウントセレクタ」を選択し、「変更を保存」を押下します。

image.png

CloudWatchのトップページに戻りしばらくすると、ダッシュボードのセレクタからアカウントを選択することができるようになります。LogArchiveアカウント、Sandboxアカウントなど、ControlTowerのOU配下にある各アカウントが表示できるようになっています。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

クロスアカウントアラームの設定

ここまで設定すると、AuditアカウントからOU配下の別アカウントに対してクロスアカウントアラームを設定することができるようになります。
CloudWatchのサービスページの左メニューから、「メトリクス」に移動します。
メトリクス画面でも、アカウントセレクタから各アカウントが選択できるようになっています。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

クロスアカウントアラームを作成します。
CloudWatchの左メニューから「アラーム」を選択し、「アラームの作成」を押下します。
image.png
「メトリクスの選択」を押下します。
image.png
メトリクスの選択画面が表示されます。「アカウントIDを入力する」というテキストボックスにOU配下のアカウントIDを入力すると、別アカウントのメトリクスに対してアラームが設定できます。
後は通常のCloudWatchアラームの設定手順と同様にしきい値やアクションの設定を行うことで、クロスアカウントアラームの作成が完了します。
image.png

クロスアカウントダッシュボードの注意点

クロスアカウントダッシュボードにより、他アカウントのメトリクスやアラームの設定・確認が行えるようになりました。ただし、他アカウントのCloudWatchロググループについてはクロスアカウントダッシュボードからは確認ができません。
image.png
ロググループの画面上部にもアカウントセレクタが表示されていますが、別アカウントを選択すると「Logs はログインしていたアカウントにのみ表示できます」と表示されてしまいます。
image.png

CloudWatchLogsに対してクロスアカウントアラームを設定する場合は、各アカウントのEventBridgeからルールを作成する必要があります。設定の概要としては、EventBridgeのルールにてイベントパターンに「CloudWatchLogs」を選択し、ターゲットに「別アカウントまたはリージョンのイベントバス」を設定するという流れです。実際に設定を行う場合は、ユーザーガイドをご参照ください。

ここまでお読みくださりありがとうございました。
次回は、LogArchiveアカウントのS3にCloudWatchLogsを集約する設定を確認します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0