Amazon CloudWatch SyntheticsとAWS Chatbotで外形監視をSlackに通知する

概要

Amazon CloudWatch Synthetics + AWS Chatbotで外形監視の通知システムを作ったのでログに残す。

構成図

f:id:mMQnaZ7vL2DWkoU:20210427192432p:plain

作業内容

今回の通知は本番環境のみ利用するのでコード化せず、GUIで作成した。
作業詳細は公式ドキュメント参照。

https://docs.aws.amazon.com/chatbot/index.html
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html

大まかな手順は下記。

  1. 通知用のSNSトピック作成
  2. AWS ChatBotの作成とSNS連携
  3. Canary作成とSNS連携

Canaryはユースケースに応じたBluePrintが用意されている。今回はHeartBeatを選択。
f:id:mMQnaZ7vL2DWkoU:20210427194051p:plain

Canaryリソースの削除

Canaryを作ると下記リソースが自動で作られる。

  • CloudWatch Alarm
  • lambda(puppeteer実行)
  • S3(結果の保存)

今回の目的の場合、通知用のSNSトピックは自分で作る必要がある。 また、保存先のS3を自動作成されたもの以外にするときは、命名変更の都合上IAMリソースも手動で作成する必要がある。

関連リソースは自動で削除されないので探して手動で削除する。 下記ドキュメントには書いていないがIAM Policyも作られる。 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/synthetics_canaries_deletion.htm

まとめ

AWS Chatbotを使うことで少ない手順でSlack連携できた。
Amazon CloudWatch Syntheticsを使うことで外形監視システムを導入できた。