Ch.5 監視

Cloud Watch

Cloud Watch

AWSの各種サービスの状況を監視する。このような各サービスの状態のことを【メトリクス】と呼んでおりEC2のCPU使用率やlambdaのエラーの回数などがそれにあたる。

CloudWatch メトリクスを発行する AWS のサービス - Amazon CloudWatch

上記に挙げられているメトリクスは「標準メトリクス」と呼んでいる。これ以外のカスタムメトリクスを定義することも可能な模様。

上記のメトリクスを選んで、CloudWatchに監視させ、閾値を超えたらアラートを出すという運用が可能である。 アラートを出した際は、SNS(Simple Notification Service)を利用してユーザに通知したり、lambda関数を実行することが可能である。

Cloud Watch Logs

メトリクスだけでなく、アプリケーションのログを監視対象にアラートを出させることが出来る。 Nginxサーバのログに「三回[WARNING]から始まるログが出力されたら」と言った運用が可能。

ログの監視には専用のエージェントインスタンスに導入させる必要がある。 この監視エージェントが更に通知をCloud Watch Logに送るためにもIAMロールが必要になる。

Cloud Watch Events

上記のメトリクスやログ以外にも「イベントソース」と呼ばれる様々なイベントをトリガにして、他のAWSサービスを起動(ターゲット呼ぶ)させることが出来る。

イベントソースの例として次のようなものが挙げられる。

  • Auto Scalingがインスタンスを増減させたとき
  • Code Buildの状態が完了になったとき

ターゲットとしては次のようなものが挙げられる

  • lambda関数をキックする
  • SNSで通知する。

このように、Aというイベントの発生をトリガにBというアクション(ターゲット)を実施するところまで提供してくれるサービスだが、近い将来Event Bridgeというサービスによってリプレースされる見込み。

Cloud Trail

AWSコンソール等からAWSに対する操作ログを残す仕組み。

  • 管理イベント:コンソールへのログイン履歴等
  • データイベント:データの移動・lambda関数の手動実行

の2種類からなり、管理イベントはデフォルトで90日間保管されている。

Cloud Trailは管理イベント・データイベントを監視して監査ログを吐き出す。これをCloud Watch Logsに監視させることで「危険な操作が実施された場合、ログを頼りにアラートを出す」といったことが可能になる。