ヤマムギ

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入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)

この記事はAWS #2 Advent Calendar 2018に参加した記事で …

AWSアカウント内のすべてのS3バケットを削除するLambda(Python)

やりたいこと 特定アカウント内のS3バケットを全部削除したいです。 バケット内の …

AWS EC2 でインスタンスにIPアドレスを紐付ける

AWS EC2で作ったサーバは何もしなければ起動するたびにIPアドレスが変わって …

ads.txtをS3に配置してCloudFrontで設定する

ads.txtのダウンロード ads.txt設置してねってメールが来てました。 …

RDSの証明書をrds-ca-2019に更新しました

クライアント接続で署名書使ってないので、必要ないのですが、古いままなのも気持ち悪 …

[事前準備] JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」

来る12/19(土)の JAWS-UG 関西IoT専門支部第一回勉強会「マクニカ …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~

Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …

Amazon Elasticsearch ServiceにMySQLのデータを投入してkibanaで可視化してみる

MySQLのデータの可視化にAmazon Elasticsearch Servi …

Cloud9でSAMローカルテスト

せっかくテストするので、Amazon CloudSearchからAmazon E …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …