ヤマムギ

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 APIリクエストにPostmanで署名を作成する

新年明けましておめでとうございます! 署名バージョン4 「AWSはマネジメントコ …

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …

AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用

ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …

AlexaにAWSの最新Feedを読み上げてもらう(Lambda Python)

年末にAmazon Echo Dotを購入しましたので、練習がてらAlexaスキ …

AWS CodeCommit 認証情報ヘルパーをmacOSに設定しました

AWS CLI 認証情報ヘルパーを使用して Linux, macOS, or U …

AWS CloudHSMを起動してみました

なかなか触る機会のないサービス、CloudHSM。 起動してみました。 手順はユ …

名前解決してセッションマネージャが使えるようにVyOSのhost_name.pyを編集しました

発生したエラー セッションマネージャからこんなエラーが出力されました。 [cra …

RDS for MySQL のインスタンスタイプ変更

当ブログのデータベースは、RDS for MySQLです。 個人利用ですし、障害 …

ヤマムギvol.26 Amazon DynamoDBのデモをしました

今日はAWS認定クラウドプラクティショナー対策本(緑本)に関係するデモをしました …

AWSセルフマネージドAD環境にEC2 Windowsサーバーをドメイン参加する

AWSクイックスタートのActive Directory Domain Serv …