ログ集約と分析(CloudWatchエージェント)難易度 標準無料
EC2上で稼働するアプリケーションについて、①独自のログファイル(/var/log/myapp/app.log)をCloudWatch Logsへ収集し、②同時にOS側のメモリ使用率メトリクス(デフォルトのEC2メトリクスには含まれない)もCloudWatchへ収集したい。追加のエージェントを2種類インストールせずに1つで実現する方法を選べ。(単一選択)
- A統合CloudWatchエージェント(CloudWatch agent)をEC2にインストールし、1つの設定ファイルでログファイルの収集先ロググループと、メモリ使用率等のカスタムメトリクスの収集項目を併せて定義する
- B旧来のCloudWatch Logsエージェント(awslogs)をインストールし、設定ファイルにログファイルパスとメモリメトリクスの収集項目を両方記述する
- CCloudWatch Logsエージェントでログを収集し、別途Systems Manager RunCommandを5分おきに実行してメモリ使用率を都度PutMetricDataでCloudWatchへ送信するスクリプトを組む
- DVPC Flow Logsを有効化し、フローログの中からメモリ使用率とログファイルの内容の両方を読み取る
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
統合CloudWatchエージェント(unified CloudWatch agent)は、旧来のCloudWatch Logsエージェント(awslogs、ログ収集専用でレガシー扱い)を置き換える 形で提供されており、1つのエージェントでログファイルの収集とOSレベルのカスタムメトリクス(メモリ使用率・ディスク使用率など、EC2のデフォルトメトリクスに含まれない項目) の両方を1つの設定ファイルで扱える。
- EC2インスタンスにCloudWatchエージェント用のIAMロール(
CloudWatchAgentServerPolicy等の権限)を付与する。 - エージェントの設定ファイル(JSON)で、収集するログファイルパスとロググループ名、収集するメトリクス項目(
mem_used_percent等)を1箇所に記述する。 - 結果として、ログはCloudWatch Logsへ、メトリクスはCloudWatchカスタムメトリクスへ、それぞれ同じエージェントプロセスから送信される。
- B旧CloudWatch Logsエージェントはログ収集専用であり、メモリ使用率のようなOSレベルのカスタムメトリクス収集機能は持たない。
- C2つの仕組みを別々に運用することになり「1つで実現」という要件に反する。統合エージェント1つで完結できる機能をわざわざ分割する非効率な設計。
- DVPC Flow Logsはネットワーク通信のメタデータを記録するものであり、OSのメモリ使用率やアプリケーションのログ内容は一切含まれない。用途が根本的に異なる。
ひっかけ: 「旧CloudWatch Logsエージェント(awslogs)でも両方できる(B)」という誤解に注意。旧エージェントはログ収集専用であり、
メモリ使用率のようなOSレベルのカスタムメトリクス収集はサポートしない。両方を1つで実現できるのは統合CloudWatchエージェントのみという点が本問の核心。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)