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
- 管理イベント:コンソールへのログイン履歴等
- データイベント:データの移動・lambda関数の手動実行
の2種類からなり、管理イベントはデフォルトで90日間保管されている。
Cloud Trailは管理イベント・データイベントを監視して監査ログを吐き出す。これをCloud Watch Logsに監視させることで「危険な操作が実施された場合、ログを頼りにアラートを出す」といったことが可能になる。