ヤマムギ

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

  関連記事

Backlogの課題チケット更新内容をMicrosoft Teamsに通知する(AWS Lambda Python)

BacklogにSlack連携が追加されました。 ですが、私の所属している会社で …

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

Amazon Linux にnodejsとmongoDBをインストールする

EPEL リポジトリを利用してnodejsとnpmをインストールする [bash …

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

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

Amazon Aurora Serverless 課金確認

Amazon Aurora Serverlessを使い始めてみましたの記事で書い …

TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する

Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意 …

AWSのサービス数を数えてみました(2020/5/23)

何をもってサービスという単位にするかというのはあるかもしれませんが、とりあえず情 …

AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)

Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKM …

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

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

「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた

サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …