SAP-C02-082 · 理解確認
Performance MonitoringとBottleneck分析
8問 · 1問ずつ確認
分散したマイクロサービスで、ピーク時のAPI p95レイテンシーが目標300ミリ秒に対して650ミリ秒まで悪化した。EC2やコンテナのCPU使用率には明確な上昇がない。個々のリクエストがどのサービスや依存関係で時間を消費しているか確認したい。最も適切な方法はどれか。
B. Amazon Managed Grafanaで新しいダッシュボードを作成するだけで、追加のトレースデータは収集しない
C. AWS X-Rayのトレースで個々のリクエスト経路を追い、各サービスや依存関係に費やした時間を比較する
D. Amazon Managed Service for Prometheusへ既存のCloudWatchメトリクスを移せば、個々のリクエスト経路が自動的に復元されると考える
答えと解説
答え:C
CPUなどの集約メトリクスだけでは、分散リクエストのどの依存関係で時間を消費したか分からない場合があります。AWS X-Rayのトレースを使えば、リクエストが通過したサービスや外部依存の経路と各区間の時間を追跡できます。
Amazon EKS上の多数のワークロードがPrometheus互換のメトリクスを公開している。Prometheusサーバーの基盤管理を増やさず、大規模にメトリクスを取り込み、PromQLで分析したい。最も適切なサービスはどれか。
B. Amazon Managed Service for PrometheusにPrometheus互換メトリクスを取り込み、PromQLで分析する
C. Amazon Managed GrafanaをPrometheus互換メトリクスの永続保存先にし、ワークスペース内だけでPromQLを実行する
D. 各EKSノードへ自己管理Prometheusを個別配置し、管理サーバーを増やしてスケールさせる
答えと解説
答え:B
Amazon Managed Service for PrometheusはPrometheus互換のサーバーレス監視サービスです。Prometheus互換メトリクスを取り込み、PromQLで分析したいという要件が決定打になります。
運用チームは、Amazon CloudWatchのメトリクス、Prometheus互換メトリクス、AWS X-Rayのトレースを、共通のダッシュボードから横断して調査したい。最も適切な構成はどれか。
B. CloudWatchへPrometheusメトリクスとX-Rayトレースをすべて変換して保存し、Grafanaは利用しない
C. AWS X-Rayを共通表示基盤として使い、CloudWatchメトリクスやPrometheus時系列もトレースへ変換する
D. Amazon Managed GrafanaからCloudWatch、Prometheus互換メトリクス、AWS X-Rayをデータソースとして参照し、横断可視化する
答えと解説
答え:D
Amazon Managed Grafanaは複数のデータソースをクエリ・可視化できます。Grafanaを単一の保存先として使うのではなく、複数データソースを共通のダッシュボードで可視化・分析する役割です。
新規の注文APIについて、代表負荷5,000リクエスト/秒で正常に動作した試験結果をベースラインとして記録した。正常状態ではp95レイテンシー220ミリ秒、CPU使用率55%、DB接続数300だった。同じ5,000リクエスト/秒で別の性能試験を行ったところ、p95レイテンシー700ミリ秒、CPU使用率56%、DB接続数950、DB接続上限1,000となった。このベースラインを使った分析として最も適切なものはどれか。
B. CPU使用率が55%から56%へ増えているため、この変化だけを根拠にCPUが主要ボトルネックと判断し、DB接続数の変化は追加調査しない
C. DB接続数は950まで増えているが上限1,000には達していないため、データベース関連の制約は候補から除外し、CPU側だけを追加調査する
D. p95レイテンシーが220ミリ秒から700ミリ秒へ悪化しているため、ベースラインとの差を見ずにアプリケーション全体を同時に拡張する
答えと解説
答え:A
同じ代表負荷で比較すると、CPU使用率は55%から56%でほぼ変化がない一方、DB接続数は300から950へ大きく増え、レイテンシーも220ミリ秒から700ミリ秒へ悪化しています。この時点ではDB接続が原因と断定せず、正常状態から大きく外れた値としてボトルネック候補にし、追加調査するのが適切です。
負荷試験で、決済APIのp95レイテンシーが目標300ミリ秒に対して800ミリ秒だった。AWS X-Rayのトレースでは決済サービス内の不正検知サービス呼び出しが約520ミリ秒を占め、決済サービス自体のCPUとメモリには十分な余裕がある。最も適切な分析判断はどれか。
B. 不正検知サービスへの呼び出しが現在の遅延を支配する候補と判断し、その依存関係のメトリクスや処理時間を追加確認する
C. すべてのアプリケーションインスタンスを同じ比率で増やし、測定結果を再確認せず完了とする
D. p95が目標を超えているため、トレース結果に関係なくデータベースを最初に拡張する
答えと解説
答え:B
エンドツーエンド800ミリ秒のうち520ミリ秒を特定の依存呼び出しが占めています。したがって不正検知サービスへの呼び出しを遅延の主要候補として、関連メトリクスや処理時間を追加確認します。まだ改善方法を決める段階ではありません。
AWS X-Rayで、価格計算サービスそのものの処理に約700ミリ秒かかっていることまでは特定できた。下流サービスの遅延は小さいが、このサービスのCPU使用率は高い。サービス内部のどのコード経路がCPU時間を多く消費しているか特定したい。次に有効な測定はどれか。
B. AWS X-Rayのトレースだけから、サービス内部のどの関数がCPU時間を消費したかを必ず特定する
C. プロファイリングを行い、サービス内部でCPU時間や実行時間を多く消費しているコード経路を特定する
D. リクエストレートを下げ、コード内部の測定を行わずにCPU使用率が下がるかだけを確認する
答えと解説
答え:C
トレースによって遅いサービスまで絞れても、サービス内部のどのコードが重いかまで分からない場合があります。この粒度ではプロファイリングを使い、CPU時間や実行時間を多く消費するコード経路を調べます。
新規の注文システムについて、代表負荷5,000リクエスト/秒で、p95レイテンシー230ミリ秒、アプリケーションCPU45%、DB接続数320を正常時ベースラインとして記録している。同じ負荷で別の性能試験を行ったところ、p95レイテンシー780ミリ秒、アプリケーションCPU47%、DB接続数330となった。CPU使用率とDB接続数はベースラインに近いためAWS X-Rayでトレースを確認すると、注文サービス90ミリ秒、決済サービス610ミリ秒、データベース35ミリ秒だった。この測定結果を組み合わせた分析として適切なものを2つ選択してください。
B. p95が悪化しているため、トレース結果に関係なくすべての階層を同じ割合で拡張する
C. DB接続数が330であるため、正常時320との差だけを根拠にデータベースがボトルネックと確定する
D. トレースでは決済サービスがエンドツーエンド遅延の大部分を占めているため、決済サービスとその依存関係を次の調査対象として優先する
E. CPU使用率が50%未満なので、p95レイテンシー780ミリ秒はパフォーマンス問題ではないと判断する
F. ベースラインが目標を満たしていたため、現在の780ミリ秒という実測値は分析対象から除外する
答えと解説
答え:A / D
この問題では、ベースライン、現在のメトリクス、分散トレースを組み合わせます。CPUとDB接続数には大きな変化がありません。一方、トレースでは決済サービス610ミリ秒がエンドツーエンド780ミリ秒の大部分を占めています。したがってCPUやDB利用率だけで断定せず、決済サービス側へ調査範囲を絞ります。
新規の分散アプリケーションでトレースを収集し、AWS X-Rayで分析できるようにしたい。2026年9月時点のAWSの推奨を踏まえ、将来を見据えた計装方式として最も適切なものはどれか。
B. 新規アプリケーションでもX-Ray SDKとX-Rayデーモンだけを将来の標準として採用し、新機能追加を前提にする
C. Amazon Managed Grafanaをアプリケーションへ組み込み、Grafana自身からX-Rayトレースを生成する
D. Amazon Managed Service for PrometheusのPromQLクエリだけで分散トレースを生成し、X-Rayへ送信する
答えと解説
答え:A
X-Rayによるトレース分析は現在も利用できます。一方、X-Ray SDKとX-Rayデーモンは2026年2月25日からメンテナンスモードです。AWSはOpenTelemetryへの移行を推奨しているため、新規計装ではOpenTelemetryを優先的に評価します。