はじめに
CloudWatch Alarmを設定したけど、どうやってアラートアクションのテストやるの?
そう思う人向けに素早くテストをする方法があるということを知って欲しくて記事にしました。
昔はアラートのCPUやメモリを無理やり上げたり、レスポンスステータス500を発生させる裏ルートなんかを使ったりすることもあれば、テストせずに本番で閾値が上がるまでずっと放置されていることもありました。設定ミスがあって閾値超えても次のアクションが実行されてなかったりなんてことも...
今回お伝えすることは閾値のテストまではできないですが、アラートアクションの単純な設定ミスを事前に検知できるので必ず新規でアラートを追加した時には実施したいところです。
アラート通知
アラート通知テストをするためにAWSCLIを利用します。
AWSCLIのインストール
安定バージョンだとAWSCLI2系が有力のため、公式の手順をもとにインストール。
私の環境では以下のバージョンで実行します。
$ aws --version
aws-cli/2.7.27 Python/3.10.6 Darwin/21.2.0 source/x86_64 prompt/off
アラート状態に変更する
コマンド一発で強制的にアラーム状態に変更することができます。
※ alarm-name はご自身の環境に合わせて変更してみてください。
aws cloudwatch set-alarm-state --alarm-name "api-gateway-alarm-test" --state-value ALARM --state-reason "alarmtest"
はい、以上です。たったこれだけで出来ます。
このコマンドだけで簡単にテストできるとはAWSCLI有能すぎる!!
AWS IAM Identity Centerを用いた場合
たまにAWS IAM Identity Center(旧 AWS SSO)を用いた実行方法をど忘れしてしまうので備忘録として書き残しておきます。
aws sso login --profile <profile-name>
aws cloudwatch set-alarm-state --alarm-name "api-gateway-alarm-test" --state-value ALARM --state-reason "alarmtest" --profile <profile-name> --region ap-northeast-1
まとめ
アラートの通知も頻繁にテストする訳ではなく毎回忘れてしまうので、このような形で残しておくのは良いですね。
CloudWatch Alarmを怖がらずに活用していきましょう!