CloudWatch Alarm を一時停止する方法を教えてください

CloudWatch Alarm は AWS CLI コマンドで一時停止/再開をすることが可能です。
2021.01.12

困っていた内容

EC2 インスタンスの CloudWatch メトリクス CPUUtilization に対して、CloudWatch Alarm を設定しています。

CloudWatch Alarm はメトリクスがデータ不足に推移した場合も、アクションを実行するように設定しています。

コスト削減のため、EC2 インスタンスに対して深夜 0:00 に停止する処理を入れたところ、停止時に CloudWatch Alarm がデータ不足のアラーム状態となってしまいます。

これを回避するために、CloudWatch Alarm を一時停止する方法を教えてください。

どう対応すればいいの?

CloudWatch Alarm は AWS CLI コマンドで一時停止/再開をすることが可能です。

一時停止する方法

aws cloudwatch disable-alarm-actions --alarm-names <アラーム名>

再開する方法

aws cloudwatch enable-alarm-actions --alarm-name <アラーム名>

この処理を Lambda 関数として作成し、CloudWatch Events でスケジュールとして実行することで、特定の時間帯に CloudWatch Alarm を一時停止することも可能です。

現時点では、マネジメントコンソールで一時停止/再開を行う機能は提供されておりません。

参考資料

disable-alarm-actions — AWS CLI 1.18.195 Command Reference

enable-alarm-actions — AWS CLI 1.18.195 Command Reference

運用作業を行うのでCloudWatchのアラーム設定を無効化させたい | Developers.IO

テクニカルサポートノートとは?

クラスメソッドのカルチャー(CLP) の「情報発信を通じて、全ての人々の創造活動に貢献し続ける」という考えから、クラスメソッド メンバーズをご利用のお客様よりいただいたお問い合わせより、他の AWS ユーザーにとっても 有益な情報を一般的な TIPS としてご紹介しています。