はじめに
みなさんは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の導入を検討してみてください。
No Comments