【アップデート】CloudWatch Syntheticsのcanary実行がcron式でスケジュールできるようになりました

2021.05.10

どーもsutoです。

タイトルのとおりCloudWatch Syntheticsのカナリア実行がcron式でスケジュールできるようになったらしいので早速確認してみました。

cronスケジューリング機能は、中国リージョンを除く、CloudWatchSyntheticsが利用可能なすべてのリージョンで利用できるようです。

これまでCloudWatch Syntheticsで設定できたスケジュールとして、「○分ごと」「日次で○時○分に1回」または手動実行しか選択できませんでした。また、もう少し複雑なスケジュール実行としたい場合はEvent Bridgeと連携させる必要がありました(以下に参考記事)が、今回のアップデートで設定が楽になりました。

試してみた

Cloudwatchの画面からメニューより「Synthetics」を開き、「Canaryを作成」をクリック

Canaryの種類を選択し(今回は検証としてハートビートで設定します)、名前、アプリケーションのエンドポイントを入力

下へスクロールし「スケジュール」で「CRON expression」を選択してcron式を記述します。

本検証では「月〜金の9:00〜18:00の間で、2分おきに実行」でスケジューリングします。(時刻はUTCで設定する必要がありますので、実際の数値は以下のキャプチャ画面のとおり)

その他IAMロール等を選択したら右下の「Canaryを作成」をクリックして保存します。

Webサーバを正常に起動した15:56以降、設定どおり2分ごとに成功のステータスが返されています。

検証時に設定したcron式のように、今回のアップデートで「平日の業務時間にしか動作させないアプリケーション」に対して、稼働時間帯のみをURL監視すると言った柔軟な対応ができるので地味に便利になったと思います。

参考

Cron式の書き方

CloudWatch Syntheticsの機能について