SOAモニタリング、ロギング、分析、修復、およびパフォーマンスの最適化
ある企業はAWS Lambda関数を20個運用しており、それぞれ個別のCloudWatch Logsロググループにエラーログを書き込んでいます。運用チームは「過去1時間に発生したエラーをすべての関数横断で集計し、エラーメッセージごとの発生件数をランキング表示したい」という要件があります。追加のインフラストラクチャを構築せずに、最も迅速に要件を満たす方法はどれですか?
ACloudWatch Logs Insightsのクエリエディタで複数のロググループを同時に選択し、statsコマンドでエラーメッセージごとの件数を集計して降順にソートする
✓ 正解
CloudWatch Logs Insightsは複数ロググループを同時クエリする機能を標準搭載しており、statsコマンドで集計・ソートが可能。追加リソースは一切不要で最も迅速に要件を満たせる。
B各ロググループにCloudWatchメトリクスフィルターを設定してエラー件数をカスタムメトリクスに変換し、CloudWatchダッシュボードのウィジェットに集計結果を表示する
メトリクスフィルターは定義済みパターンの件数カウントに特化しており、複数ロググループ横断でエラーメッセージを動的に集計してランキング表示する機能を持たない。
CCloudWatch Logsのエクスポートタスクを使用してS3バケットにログファイルを転送し、Amazon Athenaでテーブルを定義してSQLクエリでエラーメッセージを集計する
エクスポートタスクはS3への非同期転送であり、Athenaテーブル定義やクローラー設定など複数の追加リソースが必要なため、「追加インフラなし」の要件に反する。
DCloudWatch Logsサブスクリプションフィルターを設定してAmazon Data Firehose経由でOpenSearch Serviceにストリームし、OpenSearch Dashboardsでエラーを集計・可視化する
OpenSearch ServiceへのストリーミングにはAmazon Data Firehoseストリームの作成とインデックス設定が必須であり、「追加インフラなし」の要件を満たさない。
解説
CloudWatch Logs Insightsは、複数のロググループを一度に横断してクエリを実行できるマネージドなログ分析サービスです。`stats count(*) by @message | sort count desc`のような構文を使うことで、エラーメッセージごとの発生件数をランキング形式で即座に取得できます。追加インフラの構築は不要で、コンソールから直ちに利用可能です。
選択肢BのCloudWatchメトリクスフィルターは、事前定義したパターンに一致するログをメトリクスに変換する機能であり、任意のフィールド値による複数ロググループ横断の動的集計やランキング表示には対応していない。
選択肢CのS3エクスポート+Athenaは、S3バケット・Athenaテーブル定義・クローラー設定が必要で追加インフラが発生し、即時性にも欠ける。
選択肢DのOpenSearch Serviceは、Kinesis Firehoseのデプロイとインデックス設定が必須であり、「追加インフラなし」の要件を満たさない。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →