OPS

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

2022.04.12

本記事のポイント

Amazon Web Services(以下、AWS)には、Amazon CloudWatchというAWSリソースを統合的に可視化・監視することができるサービスが存在します。本記事ではAmazon CloudWatchの概要、機能と料金、活用例について解説しています。

Amazon CloudWatchを既にご存じの方、知らない方どちらにも読みやすく簡潔な内容となっており、AWS環境の構成の見直しを検討している方や保守性を高めたい方は特に必見の内容となっています。



はじめに

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

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

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

Amazon 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の機能、料金、活用例についてご紹介いたしました。

    ここまでお読みいただいた方で、「CloudWatchをすでに導入しているがもっとうまく活用したい」、「カスタムダッシュボードを駆使してリソース状況は可視化できそうだが分析、対処するところまでは手が回らなそう」など思われた方もいらっしゃるのではないでしょうか。

    弊社では、 24時間365日AWSの監視・障害対応・運用保守を一括代行するサービスをご提供しています。本サービスは、CloudWatchなどすでにご利用中の監視ツールによる監視代行も可能で、まだどの監視ツールを利用するか決まっていないお客様には、弊社の自動監視システム「puzzle」をご利用いただくことも可能です。

    少しでも気になった方はこちらのフォームよりぜひお気軽にご相談ください。
    日々AWSを利用している皆様のお悩みを一緒に解決していければと思います!

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