• AWS入門
  • 監視
  • AWS
  • 運用
  • 障害

AWS監視ツールAmazon CloudWatchを利用したリソースの監視方法と注意点

AWSでEC2インスタンスなどを、監視するための方法として「CloudWatch」が利用できます。CloudWatchはAWSの標準監視ツールであり、AWS上のサービス・サーバー監視を中心に行なえるサービスです。
今回は、CloudWatchの概要からAWS上での監視方法、利用する際の注意点を解説します。

AWSの監視ツール「Amazon CloudWatch」とは?

CloudWatchの概要とできること

AWS CloudWatchは、AWS上で動作するさまざまなリソースのメトリクス、例えばEC2インスタンスのCPU使用率やDisk I/Oなどの情報を収集しモニタリングできるサービスです。システムの利用状況やパフォーマンスに応じて、アラームの通知や、システムの再起動などを行なうことができます。

CloudWatchを構成するサービス(機能)

CloudWatchを構成するサービスはいくつかありますが、そのなかでもおさえておきたい基本的なサービスは次のとおりです。

名称 説明
CloudWatch Metrics EC2のCPU使用率など、監視対象となる変数となる時系列のデータポイントのセット
CloudWatch Alarm 監視項目がしきい値を超えた場合に、メールなどの通知アクションを実行する機能
CloudWatch Logs エージェントをインストールすることで、ログなどを収集して一元管理する機能
CloudWatch Dashboard グラフでグラフィカルにサービスやログを統合的に可視化する機能

その他にも、コンテナ化されたアプリケーションなどを監視する「Container Insights」などの機能も存在しますが、まずは上記の機能をおさえるところからはじめましょう。

CloudWatchを利用したAWSでの監視方法

CloudWatchの設定前に監視計画を立てる

CloudWatchは、AWSサービスを利用している場合は即座に利用することが可能です。しかし、無計画に監視を開始しても効果的な監視は難しいでしょう。
CloudWatchの設定を行なう前には、しっかりと監視計画を立てることが重要です。その具体的な流れは次のとおりです。

  1. モニタリングの優先順位を設定する
  2. モニタリング対象を設定する
  3. CloudWatchで設定を行なう

AWSを利用する場合、複数のサービスを利用することがほとんどでしょう。しかし、すべてのサービスにおいて監視が必要であっても、監視する優先順位を設定することが大切です。優先順位を指標とすることで、何らかの問題が発生した場合、復旧の手順や優先すべき項目の作業から着手でき、問題を早期に解決することができます。まずは、サービスやインスタンス単位で優先順位を設定することからはじめましょう。

次に、モニタリング対象として以下に挙げる項目を設定します。

  • 監視の目的
  • 監視頻度
  • 通知の有無
  • 自動復旧の有無

モニタリングの優先順位にしたがって対象を設定するところまで完了してから、CloudWatchで設定を行ないます。

CloudWatchの監視設定

CloudWatchを使った監視の設定の流れは大まかに次のとおりです。

  1. 対象インスタンスのメトリクスを追加する
  2. アラームを作成する
  3. 必要に応じてダッシュボードを作成する

はじめに対象インスタンスのメトリクス(標準/カスタム)を作成し、しきい値に応じたアラームを作成します。その後、必要に応じてダッシュボードを作成しましょう。ダッシュボードでは、任意の監視項目を一覧表示できます。

メトリクスについて

メトリクスはパフォーマンスに関するデータであり、例えば、CPU使用率などの情報です。AWSのサービスでは、標準メトリクスとして監視項目でよく利用される情報がはじめから用意されていますので、選択するだけで簡単に情報を取得できます。

メトリクスの保存期間

すべてのメトリクスには保存期間が存在します。

データポイントの期間 保存日数
60秒未満のデータポイント 3時間
1分のデータポイント 15日間
5分のデータポイント 63日間
1時間のデータポイント 455日間(15か月)

短い期間のデータポイントは、保存日数を超えると長期保存するために集約されます。たとえば、1分のデータポイントは15日間その状態で確認できますが、保存日数を超えると「5分のデータポイント」に集約され、5分単位で確認可能です。

また、終了したEC2インスタンスなどのメトリクスデータは15か月間保存されるため、終了後も確認できます。

カスタムメトリクスを作り込む場合はノウハウが必要

CloudWatchで利用できる標準メトリクスは、例えばEC2インスタンスのCPU使用率やネットワーク使用率などが用意されていますが、アプリケーションのプロセス数の監視などは行なえません。

ウェブページのロードに要する時間、リクエストエラー率、インスタンス上のプロセスやスレッドの数、アプリケーションで実行された作業の量などを監視する場合はカスタムメトリクスを作成しなければなりません。カスタムメトリクスはPutMetricData APIを利用しますが、AWS Systems Manager(SSM)エージェントが必要であったり、IAMロールの設定が必要であったりします。
そのため、カスタムメトリクスを作り込む場合は、ある程度のノウハウが必要になる点は注意が必要です。モニタリングスクリプトのサンプルやプラグイン集が用意されているため、まずはそちらを利用することをおすすめします。

CloudWatchを利用して監視を行なう際の注意点

アイキャッチ OGP差し替え

CloudWatchを利用してAWS上で監視を行なう際には、いくつか注意しなければならない点があります。ここでは、AWSで監視を行なう際の注意点を見ていきましょう。

メトリクスは削除ができない

CloudWatchではメトリクスの削除がサポートされていません。「メトリクスの保存期間」で紹介した保存期間スケジュールに基づいて15か月間後に有効期限切れとなり削除されます。

過去 2 週間に新しいデータポイントがないメトリクスは、コンソールに表示されない

過去2週間に新しいデータポイントがないメトリクスは、コンソールに表示されないため注意が必要です。
AWS CLIで「get-metric-data」や「get-metric-statistics」コマンドを入力することで表示することは可能ですが、データポイントがないと原則表示されないことは覚えておきましょう。

しきい値超え、復旧時のアクションをしっかりと確認する

標準メトリクスを利用する場合は、しきい値設定をしっかりと行なうことが重要となります。標準メトリクスは手軽に利用できますが、監視を行なう目的を考えればしきい値設定が行なえていないとあまり意味をなさないといえるでしょう。

単純にEC2インスタンスなどの稼働状況を見たいだけであれば、しきい値設定は必要ありませんが、稼働状況によってアクションを起こさなければならないことがほとんどであるため、しきい値設定は重要なのです。

また、標準メトリクスごとに単位は異なるものであるため、しきい値として設定する値はパーセントなのか、数値なのかといった細かい部分にも注意が必要となります。

しきい値を超えた際のアクションだけでなく、復旧時のアクションもしっかりとテストして確認することが重要です。

メトリクスデータが欠落した場合の対応を定義しておく

CloudWatchで監視を行う際には、しきい値超え/復旧の状態のほかに、メトリクスデータが欠落した状態も考えられます。
メトリクスデータが欠落した状態は、そもそも監視対象項目の監視ができていない、ということですので、この場合の対応も定義しておくことが重要です。

CloudWatch Alarmでは、メトリクスデータが欠落した状態をしきい値超過として設定することが可能ですので、あわせて定義しておきましょう。

復旧までの自動化にはスクリプトなどの知識も求められる

CloudWatch Alarmでは、しきい値によってアクションを設定できるため、ある程度の復旧に対する自動化が行なえます。しかし、設定できるアクションとしては「通知」「Auto Scaling」「EC2アクション」のみであり、EC2インスタンスの再起動などしか行なえません。

例えば、アプリケーションのプロセス数の監視をしていて、しきい値を超えた場合に対象アプリケーションのみを再起動する、といった復旧対応を自動化するためには、別途対応アクション用のスクリプトなどが必要になります。

そのため、復旧までの自動化にはスクリプトなどの知識も求められる点は、注意点として覚えておきましょう。

CloudWatchは、AWS上で動作するさまざまなサービスを監視できるサービスであり、エージェントを利用することでオンプレミス上のサーバーなども監視できます。
CloudWatchを利用する際には「Dashboard」「Alarm」「Logs」「Events」といった機能が重要になるため、それぞれの利用目的を把握しておくとよいでしょう。

また、AWSで監視を行なう際の注意点として「カスタムメトリクスを作り込む場合にはノウハウが必要」などの注意点があります。利用する前に一通り把握することをおすすめします。

AWSの運用を最適化したい方にオススメ!

ミズノ様導入事例

ミズノ様がAWS運用を最適化し
コストを3割削減した秘訣

MSP事業者に運用を任せっきりになっていたため、AWSの構成や設定・稼働状況などがブラックボックスに…。そんな状況の中、運用管理コストを最適化した方法をご紹介します。

おすすめのサービス

おすすめの記事

おすすめのカテゴリ