Pause AWS CloudWatch Alarms on a Schedule Without Lambdas
AWS CloudWatch Alarms includes most of the features you would expect in a monitoring solution. However, the ability to set up blackout windows to pause alarms is sorely lacking.
Popular solutions includes relying on lambdas - to enable / disable the alarm, or to act as a gateway for the alarm. Here’s a solution which does not use lambdas.
Edit (2021–09–09): As aleksipekkala pointed out, you can use HOUR
in the match expression and significantly reduce the complexity (see https://stackoverflow.com/a/68376062)
Step 1 — Specify a Blackout Window
Set up a blackout window using CloudWatch Event Rules schedule cron expressions. For instance, this cron expression triggers every minute from 8 am UTC to 8:59 am UTC.
0/1 8 * * ? *