ヤマムギ

growing hard days.

*

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成

   


本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオリジンのアカウントが別アカウントです。
これを1つのAmazon CloudWatchダッシュボードでまとめて見れるようにしたいです。

クロスアカウントクロスリージョンダッシュボード

2019年11月に、Amazon CloudWatch を使用したクロスアカウントクロスリージョンダッシュボードという非常に便利な機能がリリースされていますので、これを有効にして設定します。

対象の環境

AWS Organizationsを使わなくても、設定できるそうですが、私の環境ではCloudFrontとWAFのアカウントがOrganizationsの組織アカウント、EC2、RDS、S3などオリジンのアカウントがメンバーアカウントですので、Organizationsを使った設定手順です。

組織アカウント側にダッシュボードを作成します。

ダッシュボードを作る側(組織アカウント)のCloudWatchの設定

CloudWatchのコンソールの左ペインで[設定]を選択して、右ペインで[Configure]ボタンを押下しました。

View cross-account cross-region で[Enable]ボタンを押下しました。

AWS Organization account selector を選択して、[Enable]ボタンを押下しました。

View cross-account cross-regionのステータスが Enabled になりました。

共有する側(メンバーアカウント)のCloudWatchの設定

CloudWatchのコンソールの左ペインで[設定]メニューで、[Share data]を押下しました。

ダッシュボードを作る側(組織アカウント)のアカウントIDを入力しました。

下までスクロールして[Launch CloudFormation template]ボタンを押下しました。

確認画面が表示されましたので、”Confirm”と入力して、[Launch template]ボタンを押下しました。

CloudFormationでスタック作成に遷移しました。

パラメータも自動設定されていました。
IAMロールを作成しますので、「AWS CloudFormationによってIAMリソースがカスタム名で作成される場合があることを承認します。」にチェックを入れて[スタックの作成]を押下しました。

CloudWatch-CrossAccountSharingRoleが作成されました。
AWS管理ポリシーの CloudWatchReadOnlyAccessとCloudWatchAutomaticDashboardAccessがアタッチされています。
信頼ポリシーはダッシュボードを作る側(組織アカウント)のアカウントIDが設定されています。

CloudWatch ダッシュボードの作成

ダッシュボードを作る側(組織アカウント)のアカウントに戻りました。

ダッシュボードのウィジェット追加で、アカウントとリージョンが選択できるようになりました。
アカウントはOrganizationsのメンバーアカウントが選択可能になっていました。

CloudWatchでシェア設定しない、IAMロールも作成していないアカウントを選択すると、権限エラーになります。

User: arn:aws:sts::123456789012:assumed-role/AWSServiceRoleForCloudWatchCrossAccount/CloudWatchConsole is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::987654321098:role/CloudWatch-CrossAccountSharingRole

共有する側(メンバーアカウント)を選択するとメトリクスが選択できました。

クロスリージョンクロスアカウントのダッシュボードが作成できました。


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパー - アソシエイト」という本を書きました。

 - AWS ,

ad

ad

  関連記事

AWSアカウント内特定リージョン内のDynamoDBテーブルを全削除するLambda(Python)

やりたいこと タイトル通りですが、特定アカウントの特定リージョン内のDynamo …

Amazon Aurora Serverlessを使い始めてみました(1日経過しての課金結果も)

祝!!! Amazon Aurora ServerlessがGAになりました! …

re:Invent 徒歩記(シアトルも)

このブログは、AWS re:invent 2018 Advent Calenda …

RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する

先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …

ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン 手順

このブログは2020/5/6に開催しました、「ヤマムギ vol.10 (AWS) …

Cloud9でAWS CDK環境

最初ローカルに作ろうと思ったのですが、環境依存がというか、Macbookの環境で …

AWS Service Catalogチュートリアル

AWS Service Catalog 開始方法のチュートリアルにそってみました …

NATインスタンスを作成する

プライベートサブネットのEC2インスタンスからカスタムメトリクスとCloudWa …

AWS CloudShellでboto3(SDK for Python)使うならpython3

本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …