CloudWatch Alarm を有効化/無効化する方法

CloudWatch Alarm は AWS CLI コマンドで有効化/無効化をすることが可能です。2022/11/15 更新: マネジメントコンソールからも有効化/無効化ができるようになりました。
2021.01.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

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

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

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

これを回避するために、CloudWatch Alarm を無効化する方法を教えてください。

どう対応すればいいの?

CloudWatch Alarm は マネジメントコンソール、及び、AWS CLI コマンドで有効化/無効化をすることが可能です。

マネジメントコンソールで実行する

無効化する方法

アラーム一覧から「アクション▼」⇒「アラームアクション - 新規」⇒「無効化」を選択します。

ダイアログボックスにて「無効化」ボタンを押下します。

無効化されました。

有効化する方法

アラーム一覧から「アクション▼」⇒「アラームアクション - 新規」⇒「有効化」を選択します。

有効化されました。

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