こんにちは! 現在バックオフィスでOJT中の日高です!
Amazon CloudWatchって機能が多くて混乱しちゃいますよね.... ってことでCloudWatchについてIT初心者がまとめてみたシリーズの第3弾です。
第1弾ではAmazon CloudWatch Metricsについて、第2弾ではAmazon CloudWatch Logsについてまとめているのでよければご覧ください!!
【初心者向け】CloudWatch Metricsの概念についてのイメージをまとめてみた - サーバーワークスエンジニアブログblog.serverworks.co.jp
【初心者向け】Amazon CloudWatch Logsについてまとめてみた - サーバーワークスエンジニアブログblog.serverworks.co.jp
今回はAmazon CloudWatch Alarm(今後はCloudWatch Alarmと記載)について記載していきます。
サービスの概要
CloudWatch Alarmは、CloudWatch Metricsの値に条件を指定して 1 つ以上のアクションを実行できるサービスです。(上記図がCloudWatch Alarmの全体像です)
代表的な例としては、EC2のCPU使用率が80%を超えた時にSNSと連携することで通知を行うなどが挙げられます
サービスの詳細
上記の図のようにCloudWatch Alarmでは、アラームの状態を確認するまでに「アラームの種類」「アラームの評価仕様」「アラームの判定」の3つが関与しています。
それぞれの詳細は以下に記載します。
アラームの種類
CloudWatch Alarmで作成できるアラームは、「標準アラーム」「高解像度アラーム」「複合アラーム」の大まかに3つに分類できます。
標準アラーム
メトリクスのしきい値から定義されたアラームです。
後述の「高解像度アラーム」「複合アラーム」以外のアラームだと考えてください。
高解像度アラーム
高解像度アラームでは期間を 10秒または 30 秒の期間で取得したデータを基に定義されたアラームです。
高解像度アラームは、後述の「期間」が 10、30 秒としたときに適用されるアラームです。
複合アラーム
既にある標準アラームや高解像度アラームを元にして複合的に定義されたアラームです。
噛み砕いて書くと、すでに作成されている標準アラームや高解像度アラームを監視対象にできるアラーム(上記の図を参照ください)です。
またその監視対象のアラームは複数指定でき、様々なルール式を設定できます。
例としては、CloudWatch Alarm①が異常、かつCloudWatch Alarm②の条件が正常だったらアラームを指定するなど、標準アラームや高解像度アラームを使用して柔軟性の高いアラームにカスタマイズできます。
アラームの評価
アラームの評価は、「データポイント」を元に「期間」「しきい値」「評価期間と評価範囲」の3つの要素が関わって決まっています。
それぞれの用語について解説していきます。
データポイント
アラームの評価はCloudWatch Metricsの値を直接使うわけではなく、データポイントという値を元に行われます。
データポイントは後述の「期間」分の、CloudWatch Metricsの値を特定の条件(平均、合計、最大、最小)で算出したものです。
言葉だけだと分かりにくいの図を使って説明していきます。
今回期間を60秒とした場合の生成されるデータポイントとします。
CloudWatch MetricsでCPU使用率のデータを15秒ごとに取得しており、データの値が80%、50%、40%、70%だとします。
これを元に条件を平均でデータポイントを算出するとデータポイントのCPU使用率は60%となります。
このようにしてデータポイントが算出されます。
期間
すでにイメージがついているかもしれませんが、データポイントを算出する際に「どの程度のメトリクスから算出するか」を定めるのが期間です。
例えば期間を60秒、メトリクスが1秒ごとに取得された場合、60秒で蓄積される60個のメトリクスを元に1つのデータポイントが作成されます。
先ほどの例で書くとCloudWatch MetricsでCPU使用率のデータを15秒ごとに取得しており、データの値が80%、50%、40%、70%、20%、40%だと条件を平均で算出すると期間が60秒の場合、データポイントの値は60%、期間が90秒の場合データポイントの値は50%になります。
しきい値
アラームを発行するかどうかは「しきい値」に対するデータポイントの値と比較して判断されます。
マネジメントコンソールでみるとこのようになっています。
マネジメントコンソール上で見てわかる通りデータポイントに対するしきい値の比較条件として、以下の4つより選択できます。
・しきい値より大きい
・しきい値以上
・しきい値以下
・しきい値より低い
このしきい値とデータポイントを基準にアラームが評価されます。
評価期間と評価範囲
アラームを発行するために評価するデータポイントの数を定めます。
マネジメントコンソール上の画面を使い説明すると、赤枠が評価範囲で青枠が評価期間です。
今回は評価範囲には「3」、評価期間には「5」をいれています。
5つのデータポイントのうち3つがしきい値で設定した条件にあてはまっていればアラームが発行されます。
ここで欠落データの処理という項目が気になられた方もいると思いますが、データポイントには欠損という状態があります。
CloudWatch Metricsにサーバーがダウン等によりデータを送信できないなどのケースに、データが見つからない状態(欠損)として認識されます。
この欠損データを上記の画面の選択肢の中から無視するなどの選択もすることができます
アラームの状態
アラーム評価後の状態は「OK(正常)」「ALARM(異常)」「INSUFFICIENT_DATA(データ不足)」の3種類があります。
INSUFFICIENT_DATAとはアラームを評価するにあたり「データが不足していて判定できない」という状態です。
ですので、CloudWatch Alarmが開始されたばかりだとアラームの状態はINSUFFICIENT_DATAになります。
そのためINSUFFICIENT_DATAは必ずしも異常がおきているとは限らないことを覚えていただきたいです。
まとめ
ざっくりとCloudWatch Alarmについて紹介させていただきました。
本記事が、CloudWatch Alarmについて誰かの理解の手助けができていれば幸いです。
日高 僚太(執筆記事の一覧)
2024 Japan AWS Jr. Champions / 2024 Japan AWS All Certifications Engineers
EC部クラウドコンサルティング課所属。2022年IT未経験でSWXへ新卒入社。
記事に関するお問い合わせや修正依頼⇒ hidaka@serverworks.co.jp