AWSの監視に専用ツールは不要!AWS CloudWatchで運用監視

By • 2019-08-27 • Cloud

はじめに

みなさんはAWS、とくにEC2の運用監視はどのようなツールをお使いでしょうか?

メジャーな例でいうとZabbixやNagios、Hinemosあたりではないでしょうか?確かにこれらはかなりの高機能なツールなので、使いこなせば実に素晴らしいキメ細かな監視ができるでしょう。

ですが、単にCPU使用率やディスク使用率だけ監視したいのに、上記のようなツールを導入するのはしきいが高いです。とはいえ、スクリプトとcronを使って監視というのは物足りない・・・。

もしAWSの運用監視をお考えなら、AWS CloudWatchの導入を検討してはいかがでしょうか?

ログファイルをFFFTPで落としてExcelで整形してグラフ化して、という作業に疲れた方も必見です。

AWS CloudWatch 画面サンプル

言葉で説明するより、まずは画面からお見せしましょう。EC2の各種メトリクスを表示しています。

EC2のインスタンスを立ち上げたら、最初から使えるようになっています。初期投資なし、導入作業やインストールは不要、追加料金も不要で使用できるのです。

標準にないメトリクスを取得したい場合は、のちに解説するAWS CloudWatchエージェントというものをサーバOSにインストールすることで可能となります。

では、今度はアラート設定をしてみましょう。以下の画面は、CPU使用率のしきい値を越えるとアラートを発するように設定しています。

難しい設定項目はなく、画面を見ただけで直感的に分かります。通知先にAmazonSNSというプッシュ通知サービスを指定できます。そちらでまた細かな設定が可能です。

AWSを使うなら監視はCloudWatchで決まり!

まず最初にAWS CloudWatchとは何か、概要から解説します。

AWS CloudWatchの概要

AWS CloudWatchを一言でいうなら、AWSの各種サービスを監視するためのサービスです。先にお見せしたのはEC2ですが、その他AWSのメジャーなサービスはだいたい対応しています。

・Amazon RDS
・Amazon S3
・Amazon ECS
・AWS Lambda
・Amazon API Gateway 

上記を含めて、70以上のAWSサービスの監視が可能です。

AWS CloudWatchの2つの機能

AWS CloudWatchは大きく分けて以下2機能で構成されます。

AWS CloudWatch

一番基本となるサービスです。CloudWatchの基本機能に当たります。各種監視情報を収集し、AWSマネジメントコンソール上で参照できます。

AWS CloudWatch Logs

まず最初にCloudWatchエージェントをサーバにインストールする必要があります。
エージェントはサーバOSの各種ログをウォッチして、結果をAWS CloudWatchに送ります。
AWSマネジメントコンソール上でエージェントが送ってきたデータを参照できます。

エージェントは、Linux系サーバであればテキストファイルのログ、Windowsサーバならイベントログなどからデータを収集します。

Zabbixと何が違うのか?

Zabbixに限らず、従来の運用ツールと何が違うのかを考えてみます。

導入にスキルは不要

AWS CloudWatchを導入するには、基本的にスキルは不要です。全てブラウザで完結します。
標準にはないメトリクスを取得する場合はエージェントを導入しなければいけませんが、
それとてAWS内での作業なので、ミドルウェアや機材を購入する必要はありません。

AWS CloudWatch自体のノウハウは不要

AWS CoudWatch自体のノウハウは不要です。先に監視手順をみていただいた通り、設定は直感的にできてしまいます。
強いていえば、必要なのはAWSに限定しない普遍的な運用スキルでしょうか。

標準メトリクスなら無料!

AWS CoudWatchはあらかじめ備わっている標準メトリクスと、カスタムメトリクスがあります。
標準メトリクスなら無料です。カスタムメトリクスを使うとしても、月額数ドルという低価格です。

サーバ自体に変更はいらない

標準メトリクスだけでよい場合は、基本的にサーバには変更は不要です。
よって、サーバの動作そのものには影響を与えません。

使わざるを得ないシーンも

従来の監視ツールでは対応できないシーンがあります。
それはAmazon RDSのような「監視ツールのエージェントを入れられないようなサービス」を使うときです。
そんな時は自ずとAWS CloudWatchを使わざるを得ません。

AWS CloudWatchを応用する

もちろん、AWSのマネジメントコンソールで目視するだけではありません。もっと便利な使い方があります。

運用者へのプッシュ型通知

先ほど設定画面をお見せしましたね。しきい値を設定しておき、その値を超えればAmazonSNSを使ってメールやSMSで通知できます。
さらに通知をSlackへ投稿することだってできます(AWS Lambdaを使用するので若干ハードルは高くなります)。

オンプレミスも監視可能

意外にも、オンプレミスのサーバも監視可能です。
AWS CloudWatchのエージェントをAWSより外のサーバにインストールし、まとめて管理できるのです。
エージェントはLinux用とWindowsサーバ用があるので、OSのちがいを気にする必要はありません。

オートスケールにも対応

AWS CloudWatchを使ってオートスケールを実現できます。サーバの負荷が高くなれば自動的にサーバを複数化し、負荷が下がれば自動的に台数を減らす、ということもできてしまいます。AWS CloudWatchの実力は監視だけではありません。

まとめ

AWS CloudWatchについて解説しました。

本記事で触れたのは、AWS CloudWatchのほんの一部です。できることはまだまだあります。

運用監視イコールZabbix!とお考えの方、ぜひAWS CloudWatchの導入を検討してみてください。

You Might Also Like