CloudWatchは、AWSが提供する「フルマネージド運用監視サービス」で、AWSの各種リソースを監視してくれるもの。
・セットアップ不要で使える。
・異常な状態を検知して、自動で復旧までしてくれる。
・メトリクスに応じてアラート通知や、アクションを設定できる。
CloudWatchには3つのサービスがあります。
リソースを監視する「CloudWatch」
CPUやメモリなど複数項目をグラフ化してダッシュボードを作れます。
よく使うものは標準メトリクスとして用意されていて、クレジット(利用料金)も監視できる。
監視するだけじゃなくてリソースの状況に応じて、メールを送ったり、再起動したり、AutoScalingしたりとアクションができるのも特長です。
月額料金が一定額を超えたら通知することもできるようです。
ログを集めて監視する「CloudWatch Logs」
Amazon Linux、RedHat、Windowsなどに対応し、インスタンスにエージェントを入れることで各種ログを取得します。
OSに加えて、アプリケーションのログも対応していて、キーワードでアラート通知させることもできます。
つまり「アプリケーションやOSがエラーログ吐いたら管理者のメールに通知」が実現できるということです。
APIのイベントをトリガーに何らかのアクションを実行させる「CloudWatch Events」
AWSはさまざまな処理をAPIで実行しています。たとえばEC2インスタンスの起動停止もAPIで実行しています。
こういったイベントを監視するのがCloudWatch Events、ということです。
具体的には、インスタンスのterminate(削除)でアラート通知する、コンソールに特定のユーザがサインインしたときにアラート通知する、ということなんかができるようです。
トリガーになるイベントはこれ以外にもEC2ステータスやスケジュールなど数多く用意されていて、LambdaやSQS、SNSなどと連携できます。