はじめに
CloudWatchでアラームを設定した際、ちゃんとアクションが実行されるのかテストしたくなりますよね?
それが定時通知ならまだしも、エラー通知とかだと設定したあとで結局エラー発生しないと(またはさせないと)確認できないのはちょっと。。。
そんな時にaws-cliを利用すれば簡単に通知テストを行うことができますー。
あらかじめ
今回は事前にアラームの設定はできている状態です。
「Error-CheckSnapshotLog」という名前のアラームです。
直接は関係ありませんが、内容としては毎日Lambdaで取得しているスナップショットが失敗した時に通知されます。
普段は不足(INSUFFICIENT_DATA)となっていますが、なんらかの理由でLambdaの実行が失敗するとErrorを吐くのでそれを検知したら指定したメールアドレスへ通知される仕組みです。
実践
ということで、このアラームが通知されるかどうかテストします。
$ aws cloudwatch set-alarm-state --alarm-name "Error-CheckSnapshotLog" --state-value ALARM --state-reason "alarm-test"
このたった1行で完了ですw
オプション | 説明 |
---|---|
--alarm-name | アラーム名 |
--state-value | ステータス |
--state-reason | 説明 |
これだと簡単に終わっちゃうので一応説明。
今回は"Error-CheckSnapshotLog"のステータスをaws-cliで強制的にINSUFFICIENT_DATAからALARMというステータスに変更しています。
今回はテスト実行なので*--state-reason*を"alarm-test"としています。
結果
それではちゃんとCloudWatchのアラーム通知はされているのでしょうか?
どうやらちゃんと通知ができたみたいです。
これで通知されないことが幸せなアラームに対しての通知テストができました。
おわりに
CloudWatchアラームを設定したけど「これってちゃんと通知されるのかな?」と不安になってしまった時に便利なコマンドですね!
ただ、、、このコマンドってあくまでステータス変更を行うだけなので、実際の条件が正しいかまでは。。。というオチがあったりもw