Amazon CloudWatch SyntheticsでURL監視を設定

Amazon CloudWatch Syntheticsがプレビューされていましたので早速試してみました。
CloudWatch Syntheticsとは、サービスのエンドポイントやAPIのエンドポイントなどをモニタリングするサービスになります。DataDogでも同様のサービスがありますね。

現時点では、US East (N. Virginia), US East (Ohio), and EU (Ireland)のいずれかのリージョンでし利用できませんので、今回は、バージニア北部を利用しました。

Canaryを作成

以下の画面からCanaryを作成を選択します。
f:id:cloudfish:20191127080636p:plain

デフォルトで以下のように選択されていますのでそのまま次進みます。
f:id:cloudfish:20191127081041p:plain

Canary名と監視対象のURLを入力します。
スクリプトエディタの内容は自動で生成されるます。
f:id:cloudfish:20191127081558p:plain

以降はデフォルトのままとし、Canaryを作成します。
f:id:cloudfish:20191127081926p:plain
f:id:cloudfish:20191127082114p:plain

モニタリングの実行

作成直後はステータスがグレイアウトされていますが、しばらくすると以下のように実行結果が表示されます。
f:id:cloudfish:20191127082405p:plain

詳細を確認するとスクリーンショットやHARファイルなどを見ることができます。
実際の画面を取得してくれるのはすごくいいですね。
f:id:cloudfish:20191127082814p:plain

ログを確認してみると、Lambdaのログに似ていたので、Lambdaのコンソールを確認したところsynthetics用の関数が自動で作成されていました。消したりしないように注意が必要ですね。

f:id:cloudfish:20191127100526p:plain

アラート通知

また、Threshholdsを有効にし、Canaryでしきい値を有効にすると、アラームが作成されますので、これをもとにchatbotやLambdaと連携することでアラート通知が可能になります。

カスタマイズ

スクリプトがカスタマイズできるので、Basic認証やログインしての監視なども可能ですね。
ちなみにログイン情報などの秘匿情報が必要な場合はSecrets Managerの利用が推奨されています。

料金

1canaryあたり月額$0.0012となっています。

まとめ

特にドキュメント読むことなく簡単に設定することができました。また、スクリプトをカスタマイズできるなど拡張性も高いと思いますので、ぜひ使っていきたいですね。