AWSクイズ
EC2インスタンスの監視項目のうち、CloudWatchカスタムメトリクスが必要なのはどれ?
解説
EC2インスタンスのメモリ使用率は、CloudWatchの標準メトリクスでは取得できません。監視するにはカスタムメトリクスを使用し、CloudWatchエージェントやスクリプトでインスタンス内部からデータを送信する必要があります。CloudWatchがEC2に対して標準で提供するメトリクスは、ハイパーバイザー層で取得できる情報に限られます。CPU使用率(CPUUtilization)、ネットワーク送受信量(NetworkIn / NetworkOut)、ディスクI/O(DiskReadOps / DiskWriteOps)などはハイパーバイザーが把握できるため、エージェント不要で自動収集されます。一方、メモリ使用率やディスク使用率(空き容量)はOS内部の情報であり、ハイパーバイザーからは見えません。これがカスタムメトリクスが必要になる理由です。同様にディスクの空き容量やスワップ使用率もカスタムメトリクスでなければ取得できません。カスタムメトリクスを送信する方法としては、現在はCloudWatchエージェントの利用が推奨されています。エージェントをインスタンスにインストールし、設定ファイルで収集対象を指定すると、メモリやディスクの詳細な情報を定期的にCloudWatchへ送信できます。以前はカスタムスクリプト(旧CloudWatch Monitoring Scripts)が使われていましたが、現在は非推奨です。この「標準メトリクスで取れるもの・取れないもの」の区別は試験で頻出です。判断基準は明確で、ハイパーバイザー層で取れる情報=標準メトリクス、OS内部でしか取れない情報=カスタムメトリクスと覚えておけば対応できます。