awsの監視の基本を紹介!cloudwatchを使いこなそう!

パソコン1

近年クラウド型のサービスを導入する企業が増えてきています。中でも人気が高いのがAmazonが運営するawsです。しかし、ただawsを導入してもしっかり監視・運用を行わないと導入する意味がないでしょう。そこで用いられることが多いのがclowdwatchであり、この記事ではaws監視の基本であるcloudwatchとはそもそも何なのか、そしてcloudwatchの使い方について解説します。

関連記事:監視不要なawsのebsとは

clowdwatchって何?

パソコン6

cloudwatchはAmazonが提供しているシステム監視ツールを指します。サーバーなどを監視する場合、自前で監視・運用システムを組んで、専門のスタッフがログなどの監視を行っている企業は多いです。しかし、awsの場合、cloudwatchとの互換性が良く、こちらを導入している企業の方が多い傾向があります。

やはり同じ企業が開発を行っているので、awsを導入しているなら自前で監視・運用システムを組むよりもcloudwatchを利用した方が効率が良いでしょう。し従来の監視ツールはサーバーがあったうえで、それを監視・運用するのが一般的でした。

それに対してawsのサービスに関してはサーバーが存在しないサービスも存在します。この場合、従来の監視方法が通用しません。そこでcloudwatchならaws専用に開発されたサービスなので、サーバーが無いサービスに対しても効率よく監視ができます。

zabbixとはどう違うの?

今までサーバーなどを監視する場合zabbixを使用する企業が多い傾向がありました。そこでzabbixとcloudwatchはどのように違うのでしょうか。まず費用に関しては、cloudwatchだと利用する量に応じて課金をする必要があります。

それに対してzabbixはコストが0です。したがって、費用を重視したいのであればzabbixの方が良いでしょう。しかし監視できるサービスに関しては、zabbixはaws関連サービスだとec2とecsにしか対応していません。

それに対してcloudwatchの場合はawsにて提供されている大半のサービスに対応しています。したがってこの点においてはcloudwatchの方が優れていると言えます。また、マネージャー管理に関してもzabbixは行う必要がありますが、cloudwatchの場合は必要ありません。

このように費用面以外の点を考えればcloudwatchの方が便利ですが、場合によってはcloudwatchよりもzabbixの方が便利なこともあります。cloudwatchだと、ec2の場合はオプションを追加することでログ監視ができます。

また、ecsだとログ監視はできるものの標準出力・標準エラーにしか対応していません。それに対して、zabbixの場合はec2・ecsどちらにおいても任意のファイルでログ監視を行うことができます。このように、ec2・ecsを用いてログ監視を行うならzabbixの方が便利です。

このように必要に応じてzabbixとcloudwatchを使い分けましょう。

メトリクスとは?

cloudwatchを使うにあたって理解しなければいけない基本中の基本となるのが「メトリクス」という概念です。このメトリクスとは「cloudwatchに発行された時系列のデータポイントのセット」と公式にて説明されており、わかりやすく解説すると一定期間のデータを何らかの形で集計したものをメトリクスと言います。

例えばec2の監視・運用にcloudwatchを使用していた場合、インスタンス(仮想サーバー)として知られているものだと「CPUUtilization(CPU使用率)」などが挙げられます。CPUUtilizationを例に挙げると、これが15:00から15:09の10分間、1分おきに記録されている場合、CPU使用率をメトリクス値として算出することができます。

また、cloudwatchではメトリクス値の平均値やサンプルカウント、パーセンタイル、最小値・最大値も求めることも可能です。しかし、メトリクスを永久に保存しているとかなりの容量になってしまいます。そのため、メトリクスは永久的に保存されるわけではなく、長期間メトリクスのデータを保管していると古い分のデータの粒度が下がってしまったり、削除されたりしてしまうので注意が必要です。

cloudwatchの優れている点

awsとの互換性の良さに関しては、やはり開発元が同じであるcloudwatchが他の監視システムより優れていると言えますが、それ以外にもcloudwatchにはたくさん優れている点があります。まず挙げられるのが初心者でも使いやすいという点です。

近年awsをはじめとするクラウドサービスを導入する企業は増えていますが、その企業の中にはシステム監視に人員を避けない企業の規模も多いでしょう。そこで、cloudwatchの場合アラートが出た場合の分析や障害への対応も自動的にしてくれます。

そのため、システム監視に人員を避けなくても問題ありません。

また、cloudwatchはサーバー監視方法はpush型です。サーバー監視にはpolling型とpush型であり、従来のサーバーの監視方法は監視対象のホストから情報を集めるpolling型を採用していることが多かったのですが、awsの場合監視対象のサーバーが頻繁に変わります。

そのため、polling型の監視方法とは相性が悪く、監視対象のホストから情報が送られてくるpush型となっています。

awsに限らずクラウド型のサーバーは監視対象のサーバーが変わるので、push型はクラウド型のサーバーと相性の良い監視方法であり、この点においても自前で監視システムを用意するより便利な点と言えるでしょう。

cloudwatchはどんな場面で使うと便利?

それでは、cloudwatchはどんな用途に使うと便利なのでしょうか。そこで、cloudwatchの活用場面を紹介します。まずcloudwatchを使うのがawsで稼働しているサーバーをはじめとするインフラ設備の監視です。

これは基本的な使い方であり、先ほど解説した通り、cloudwatchはaws専用の監視ツールなのでもちろんawsとの相性が良いと言えるでしょう。監視だけでなく万が一トラブルが発生した際のトラブルシューティングも自動的に行ってくれます。

インフラだけでなくアプリケーションのモニタリングもcloudwatchを使うことで可能となります。アプリケーションの運用ログを確認することでより効率よくアプリケーションを運用できるようになるなどより効率よくアプリケーション開発・運用を進めるためにもcloudwatchは便利と言えるでしょう。

cloudwatchでは負荷の状況も把握することができます。awsは使用量に応じて課金するサービスです。そのため、普段の負荷の状況を正しく把握し、最適な金額で利用したいところでしょう。

そこでサーバーの使用状況などをしっかり把握することができれば必要以上に容量を使うことなく最適な金額でawsを運用することができます。また、ログ解析に関しては、出力形式は限られてしまいますが、解析ツールとしてもcloudwatchは優れています。

通常ログ解析を行う場合だと専用の解析ツールを用いて行うのが一般的ですが、cloudwatchはawsに接続するだけで細かく分析ができる解析ツールが用意されているのでお得です。

関連情報「CloudCREW」 > https://managed.gmocloud.com/managed/