chakimar Blog

AWS CloudWatch Syntheticsを使ってヘルスチェックを行う

February 29, 2020

CloudWatch Syntheticsを使うことでWebサービスなどのヘルスチェックが設定だけでできるようになった。

アーキテクチャ

architecture

手順

  1. SNS Topicの作成
  2. Chatbotの設定
  3. Canaryの作成
  4. アラームの設定

SNS Topicの作成

SNSのコンソールからトピックの作成を行う

sns console

名前を入力して、それ以外はそのままでOK

create topic01

トピックを作成したらARNをメモしておく

create topic02

Chatbotの設定

chatbotを初めて使う場合はクライアント設定を行う。2回目以降は新しいチャネル設定を行う。

chatbot console

Slackを選択 chatbot setting01

ワークスペースを選んで許可する chatbot setting02

設定名を入力する。ログの記録はお好みで。 chatbot setting03

チャンネルを選択する chatbot setting04

ロールを追加する ポリシーテンプレートは 通知のアクセス許可だけでOK chatbot setting05

先ほど作成したSNS Topicを選択する chatbot setting06

slackの該当チャネルで /invite @awsコマンドを入力する chatbot setting07

Canaryの作成

CloudWatchのコンソールからSynthetics -> Canariesを選択し Canaryを作成 synthetics console

設計図: ハートビートのモニタリング を選択 create canary01

名前を入力し、ヘルスチェック対象のURLを設定 create canary02

スケジュールを 継続的に実行にする create canary03

しきい値をONにする(後で編集可能) create canary04

ロールを作成or選択して Canaryを作成 create canary05

アラームの設定

しばらく待つとCloudWatchアラームに Synthetics-Alram-[canary名] というアラームができてるので編集 alarm setting01

メトリクスと条件は変更せずに 次へ を押して、アクションの設定画面で通知を追加 alarm setting02

アラーム状態トリガー: アラーム状態
SNSトピックの選択:トピックARNの使用
通知の送信先:作成したSNS TopicのARN
alarm setting03

[通知の追加]を押して以下の設定を追加 アラーム状態トリガー: OK
SNSトピックの選択:トピックARNの使用
通知の送信先:作成したSNS TopicのARN
alarm setting04

アラームの更新を行う

slackメッセージのサンプル

エラー時のメッセージ slack message sample01

正常時のメッセージ slack message sample02