AI作成・独立検証済(有資格者監修なし)SOA-C02 対応
ダッシュボード(メトリクス数式ウィジェットとテキストウィジェット)難易度 標準無料

運用チームは、CloudWatchダッシュボードに次の2つを表示したい。

  • ALB(Application Load Balancer)の HTTPCode_Target_5XX_Count(ターゲット側が返した5xx数)をリクエスト総数 RequestCount で割った「5xxエラー率(%)」を、追加のLambdaやカスタムメトリクス送信を実装せずグラフ化する
  • そのグラフの上に「このダッシュボードはSREチームが所有。しきい値超過時の一次対応手順はRunbook Xを参照」という説明書きを表示する

この2つを実現するダッシュボードの構成として最も適切なものを選べ。(単一選択)

  1. Aダッシュボードにメトリクス数式ウィジェットを追加し、HTTPCode_Target_5XX_CountRequestCount を参照する式 (m1/m2)*100 でエラー率をグラフ化する。加えてテキストウィジェットをダッシュボードに追加し、Markdownでオーナーチームと参照Runbookへのリンクを記載する
  2. BLambda関数を定期実行し、5xxエラー率を計算した結果をカスタムメトリクスとしてPutMetricDataで送信し、それをダッシュボードのグラフに表示する。説明書きはグラフのタイトル欄に長文で埋め込む
  3. CCloudWatch Logs Insightsのクエリウィジェットで HTTPCode_Target_5XX_CountRequestCount の値をログから正規表現で抽出し、割り算した結果を表示する
  4. Dダッシュボードの説明書きは、CloudWatchダッシュボードの機能では表示できないため、別途Wikiページを作成しダッシュボードのブックマークバーにリンクを追加する
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済

解説

CloudWatchダッシュボードはJSON形式の「ダッシュボードボディ(dashboard body)」に複数のウィジェットを定義して構成する。 本問の2つの要件は、いずれも追加の実装(Lambda・カスタムメトリクス送信)なしに標準ウィジェットだけで実現できる

  • メトリクス数式(Metric Math)を使ったウィジェットでは、既存の HTTPCode_Target_5XX_CountRequestCount のメトリクスを m1m2 のような変数として参照し、(m1 / m2) * 100 のような式を定義してグラフの1系列として表示できる。 これは表示上の計算であり、新たなカスタムメトリクスをCloudWatchへ書き込むわけではない。 なおAWS/ApplicationELB名前空間の5xx系メトリクスには、ロードバランサー自身が生成したエラーを表すHTTPCode_ELB_5XX_Countと、 ターゲット(バックエンド)が返したエラーを表すHTTPCode_Target_5XX_Countの2種類があり、単純な「5XXCount」という名前のメトリクスは存在しない点に注意。
  • テキストウィジェットは、Markdown形式で任意の説明文・リンクをダッシュボード上に表示できるウィジェットであり、 グラフとは独立して「オーナーチーム」「Runbookへのリンク」のような運用メモを埋め込むのに使う。
各誤答が違う理由
  • B要件は「追加のLambdaやカスタムメトリクス送信を実装しない」ことであり、この方法は明確に要件に反する。メトリクス数式ウィジェットで代替できる計算をわざわざバックエンド実装する必要はない。
  • Cこれらは既にメトリクスとして存在する数値であり、わざわざログを正規表現でパースし直す必要はない。メトリクス数式ウィジェットの方が直接的かつ堅牢。
  • D事実に反する。CloudWatchダッシュボードにはMarkdown形式のテキストウィジェットが標準で用意されており、ダッシュボード内に直接説明文やリンクを埋め込める。
ひっかけ: 「エラー率を計算するには専用のLambda関数でカスタムメトリクスとして事前計算しておく必要がある(誤答)」という思い込みに注意。 ダッシュボード側のメトリクス数式ウィジェットで既存メトリクスから直接計算式を組めるため、追加のバックエンド実装は不要な場合が多い。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)
この分野をもっと解いて、得点源に
監視・アラーム を含む問題を分野別に演習できます。
演習する →