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

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

クロスアカウントクロスリージョンダッシュボードを作成して、複数の AWS アカウントおよび複数のリージョンの CloudWatch データを 1 つのダッシュボードにまとめることができます。この全体的なダッシュボードから、アプリケーション全体のビューを取得することができ、アカウントのサインインやログアウトを行ったり、リージョンを切り替えたりしなくてもより具体的なダッシュボードにドリルダウンすることもできます。

クロスアカウントクロスリージョンダッシュボードは、AWS Management Consoleやプログラムにより作成できます。

前提条件

クロスアカウントクロスリージョンダッシュボードを作成する前に、少なくとも 1 つの共有アカウントと少なくとも 1 つのモニターリングアカウントを有効にする必要があります。さらに、CloudWatch コンソールを使用してクロスアカウントダッシュボードを作成するには、クロスアカウント機能に対してコンソールを有効にする必要があります。詳細については、「クロスアカウントクロスリージョン CloudWatch コンソール」を参照してください。

AWS Management Console でのクロスアカウントクロスリージョンダッシュボードの作成と使用

AWS Management Consoleを使用して、クロスアカウントクロスリージョンダッシュボードを作成できます。

クロスアカウントクロスリージョンダッシュボードを作成するには
  1. モニターリングアカウントにサインインします。

  2. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  3. ナビゲーションペインで、ダッシュボードを選択します。

  4. ダッシュボードを選択するか、新しいダッシュボードを作成します。

  5. 画面の上部で、アカウントとリージョンを切り替えることができます。ダッシュボードを作成するときに、複数のアカウントとリージョンのウィジェットを含めることができます。ウィジェットには、グラフ、アラーム、CloudWatch Logs Insights ウィジェットが含まれます。

さまざまなアカウントとリージョンのメトリクスを使用したグラフの作成
  1. モニターリングアカウントにサインインします。

  2. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  3. ナビゲーションペインで、[Metrics] (メトリクス)、[All metrics] (すべてのメトリクス) の順に選択します。

  4. メトリクスの追加元のアカウントとリージョンを選択します。アカウントとリージョンは、画面の右上にあるアカウントとリージョンのドロップダウンメニューから選択できます。

  5. 必要なメトリクスをグラフを追加します。詳細については、「メトリクスのグラフ化」を参照してください。

  6. ステップ 4 ~ 5 を繰り返して、他のアカウントとリージョンからメトリクスを追加します。

  7. (オプション) [Graphed metrics] タブを選択し、選択したメトリクスを使用するメトリクス数学関数を追加します。詳細については、「Metric Math を使用する」を参照してください。

    1 つのグラフを設定して、複数の SEARCH 関数を含めることもできます。各検索では、異なるアカウントまたはリージョンを参照できます。

  8. グラフの作成が完了したら、[アクション]、[ダッシュボードに追加] の順に選択します。

    クロスアカウントダッシュボードを選択し、[ダッシュボードに追加] を選択します。

クロスアカウントダッシュボードへの別のアカウントのアラームの追加
  1. モニターリングアカウントにサインインします。

  2. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  3. ページの上部で、アラームが配置されているアカウントを選択します。

  4. ナビゲーションペインで、[Alarms] を選択します。

  5. 追加するアラームの横にあるチェックボックスをオンにし、[ダッシュボードに追加] を選択します。

  6. 追加するクロスアカウントダッシュボードを選択し、[ダッシュボードに追加] を選択します。

プログラムを使用してクロスアカウントクロスリージョンダッシュボードを作成する

AWS API と SDK を使用して、プログラムによりダッシュボードを作成できます。詳細については、「PutDashboard」を参照してください。

クロスアカウントクロスリージョンダッシュボードを有効にするため、次の表と例に示すように、ダッシュボードの本文構造に新しいパラメータを追加しました。ダッシュボード本体構造全体の詳細については、「ダッシュボードの本文構造と構文」を参照してください。

Parameter 以下を使用 スコープ デフォルト

accountId

ウィジェットまたはメトリクスが配置されているアカウントの ID を指定します。

ウィジェットまたはメトリクス

現在ログインしているアカウント

region

メトリクスのリージョンを指定します。

ウィジェットまたはメトリクス

コンソールで選択されている現在のリージョン

次の例は、クロスアカウントクロスリージョンダッシュボードのウィジェットの JSON ソースを示しています。

この例では、ウィジェットレベルで accountId フィールドを共有アカウントの ID に設定します。これにより、このウィジェットのすべてのメトリクスをその共有アカウントとリージョンから取得するよう指定されます。

{ "widgets": [ { ... "properties": { "metrics": [ ….. ], "accountId": "111122223333", "region": "us-east-1" } } ] }

この例では、各メトリクスのレベルごとに異なる accountId フィールドを設定します。この例では、このメトリクスの数学式のさまざまなメトリクスが、さまざまな共有アカウントとさまざまなリージョンから取得されています。

{ "widgets": [ { ... "properties": { "metrics": [ [ { "expression": "SUM(METRICS())", "label": "[avg: ${AVG}] Expression1", "id": "e1", "stat": "Sum" } ], [ "AWS/EC2", "CPUUtilization", { "id": "m2", "accountId": "5555666677778888", "region": "us-east-1", "label": "[avg: ${AVG}] ApplicationALabel " } ], [ ".", ".", { "id": "m1", "accountId": "9999000011112222", "region": "eu-west-1", "label": "[avg: ${AVG}] ApplicationBLabel" } ] ], "view": "timeSeries", "region":"us-east-1", ---> home region of the metric. Not present in above example "stacked": false, "stat": "Sum", "period": 300, "title": "Cross account example" } } ] }

この例は、アラームウィジェットを示しています。

{ "type": "metric", "x": 6, "y": 0, "width": 6, "height": 6, "properties": { "accountID": "111122223333", "title": "over50", "annotations": { "alarms": [ "arn:aws:cloudwatch:us-east-1:379642911888:alarm:over50" ] }, "view": "timeSeries", "stacked": false } }

この例は、CloudWatch Logs Insights ウィジェットの場合です。

{ "type": "log", "x": 0, "y": 6, "width": 24, "height": 6, "properties": { "query": "SOURCE 'route53test' | fields @timestamp, @message\n| sort @timestamp desc\n| limit 20", "accountId": "111122223333", "region": "us-east-1", "stacked": false, "view": "table" } }

プログラムによりダッシュボードを作成するもう 1 つの方法として、最初にAWS Management Consoleでダッシュボードを作成し、次にこのダッシュボードの JSON ソースをコピーできます。これを行うには、ダッシュボードをロードし、[アクション]、[ソースの表示/編集] の順に選択します。その後、このダッシュボード JSON をコピーして、同様のダッシュボードを作成するためのテンプレートとして使用できます。