今日を知り、明日を変えるシステム運用メディア

Amazon CloudWatchでAWSリソースを可視化・監視する方法

Amazon CloudWatchでAWSリソースを可視化・監視する方法

はじめに

はじめに

Amazon Web Servicesを利用している皆様の中には「AWS上に構築したEC2やRDSなどのインスタンスのリソースを可視化したい」「リソースの可視化だけではなく監視までしたい」とお悩みの方も多くいらっしゃるのではないでしょうか。

そこで今回は、AWSのモニタリングサービスであるAmazon CloudWatch(以下、CloudWatch)を活用例も含めてご紹介いたします!

記事前半ではCloudWatchの概要について、後半では活用例をお伝えします。ぜひご覧ください。

Amazon CloudWatchとは?

CloudWatchとは

CloudWatchとはAWSおよびオンプレミスで実行されているAWSリソース、アプリケーション、およびサービスに関するデータをリアルタイムで収集、分析、モニタリングすることができるサービスです。

機能と料金

機能と料金

ここからはCloudWatchの主な機能とその料金についてまとめていきます。なお価格は2022年4月のアジアパシフィック(東京)リージョンのもので無料利用枠は考慮していません。

メトリクス

メトリクスとは、リソースやアプリケーションに関して測定できる変数です。多くのAWSサービスで無料のメトリクスがデフォルトで用意されており、それらはサービスを使用した段階で自動的にデータの収集が開始され表示することができます。例えばEC2のCPU使用率やLambda関数の呼び出し回数などはデフォルトで用意されているメトリクスです。

またAWS CLIやAPIを使用してカスタムメトリクスという独自のメトリクスを用意することもできます。メトリクスはデフォルトでは1分の粒度でデータを保持しますが、カスタムメトリクスでは高解像度メトリクスという1秒の粒度でデータを保持することができる機能も選択できます。

料金は、デフォルトで用意されているメトリクスに関しては無料です。カスタムメトリクスのみ以下の表の通りに時間単位で比例配分されて請求されます。

範囲コスト(メトリクス/月)
最初の10,000メトリクス0.30USD
次の240,000メトリクス0.10USD
次の750,000メトリクス0.05USD
1,000,000を超えるメトリクス0.02USD

CloudWatch LogsとCloudWatch Logs Insights

CloudWatch LogsはCloudWatchエージェントをインストールするかPutLogDataAPIアクションを使用することでリソース、アプリケーション、サービスのログをほぼリアルタイムで収集し、保存することができる機能です。収集したデータをS3にアーカイブすることもできます。

CloudWatch Logs Insightsはクエリを発行することで収集したログデータを検索し分析することができる機能です。システムに問題が生じた際や運用上の問題の調査、原因特定に役立てることができます。

料金は以下の通りです。

項目コスト
収集(データの取り込み)0.76USD/GB
保存(アーカイブ)0.033USD/GB
分析(Logs Insightsのクエリ)スキャンしたデータ1GBあたり
0.0076GB

アラーム

アラームは収集したメトリクスに対して閾値判定を行い、特定のアクションを実行させることができます。アクションにはAmazon SNSトピックへの通知の送信、EC2アクションの実行などがあります。アラームは主に以下二つに分類されます。メトリクスアラーム

単一のCloudWatchメトリクスまたはCloudWatchメトリクスに基づく数式の結果を監視します。先にご紹介させていただいた高解像度メトリクスにもアラームを設定することができます。複合アラーム

作成した他のメトリクスアラーム、複合アラームの状態を条件にもちすべての条件が満たされた場合にアラーム状態とします。

料金は以下の通りで、標準解像度アラームに比べて高解像度アラームは少し割高となっています。

項目コスト
標準解像度(60秒)アラームメトリクスあたり0.10USD
高解像度(10秒)アラームメトリクスあたり0.30USD
複合アラームあたり0.50USD

ダッシュボード

ダッシュボードはここまで紹介したメトリクス・ログ・アラームをまとめて表示することができる機能です。複数の情報を一つのダッシュボードに表示することができるため統合的な視点でリソースを可視化し効率的にリソースの利用状況を把握できます。

また複数のリージョンにわたるリソースやアプリケーションの状態を表示することや各メトリクスを色分けしてグラフ表示することもできます。

ダッシュボードは主に以下二つに分類されます。カスタムダッシュボード

ユーザーが用途に合わせて作成するダッシュボード。自動ダッシュボード

 単一のAWSサービスにフォーカスしたAWSが自動で作成してくれるダッシュボード。

料金は以下の通りです。

項目コスト
ダッシュボード一か月あたり1ダッシュボード3.00USD

参考サイト
Amazon CloudWatchの特徴(AWS公式ドキュメント)
Amazon CloudWatchの料金(AWS公式ドキュメント)
Amazon CloudWatchユーザーガイド(AWS公式ドキュメント)

活用例

活用例

ここからはCloudWatchの活用例としてカスタムダッシュボードを作成しEC2インスタンスのリソース、アラーム状況、ログを可視化したいと思います。アラームは設定済みで対象のインスタンスにCloudWatchエージェントがインストールされている前提です。

カスタムダッシュボードの作成

AWSサービス一覧から「CloudWatch」を選択。

CloudWatchを選択

ダッシュボード → ダッシュボードの作成をクリック。

ダッシュボードの画面

ダッシュボード名を入力しダッシュボードの作成をクリック。

ダッシュボード作成の画面

ウィジェットを追加

ダッシュボードはウィジェットで表示項目が管理されています。ウィジェットには様々な表示形式がありますが、まずは対象のインスタンスのCPU使用率を線グラフ形式で表示してみます。

表示されている画面から「線」をクリック。

ウィジェット追加の画面

メトリクスをクリック。

メトリクスを選択

検索フォームに「CPUUtilization」と入力し検索。

メトリクスで検索する画面

表示された項目から「EC2>インスタンス別メトリクス」をクリック。

CPUUtilizationをクリックする画面

表示された項目から今回表示させたいインスタンス名の横にあるチェックボックスをクリックし「ウィジェットの作成」をクリック。

ウィジェット作成の画面

CPU使用率の線グラフがダッシュボードに表示されました。

CPU使用率の線グラフ

さらにカスタマイズ

ここから同じ要領で以下のウィジェットを追加しました。送信、受信ネットワークトラフィック量の線グラフステータスチェックの値(0が合格で1が失敗)アラームのステータス状況インスタンスの/var/log/messagesファイルの直近20行
完成したダッシュボードは以下となります。

完成したダッシュボード

このようにカスタムダッシュボードをうまく活用することでリソース状況だけではなくアラーム状況やログの内容など様々な情報を一つの画面でみることができます。

終わりに

おわりに

今回は、Amazon CloudWatchの機能、料金、活用例についてご紹介いたしました。

最後までお読みいただきありがとうございました。

人気の記事

最新情報をお届けします!

最新のITトレンドやセキュリティ対策の情報を、メルマガでいち早く受け取りませんか?ぜひご登録ください

メルマガ登録