3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Chatbotを使ってヘルスチェックアラートをSlackに送る

Posted at

AWS Chatbot

AWS Chatbotを使うことで、これまでSlackへの通知をLambdaで実装する必要があったのですが、簡単にAWSコンソールを触ることで連携が可能となります。
今回はRoute 53のヘルスチェックエラーをChatbotを使ってSlackに通知を送るよう実装しました。

参考:AWS Chatbot

AWS Chatbot は、Slack チャンネルや Amazon Chime チャットルームで AWS のリソースを簡単にモニタリングおよび操作できるようにしてくれるインタラクティブエージェントです。

手順

  1. SNS(Amazon Simple Notification Service)でトピックの作成
  2. AWS Chatbotでクライアントの設定
  3. AWS ChatbotでSlackチャンネルを設定
  4. Route53でヘルスチェックの作成

SNS(Amazon Simple Notification Service)でトピックの作成

トピックは名前を決めるくらいなのですが、リージョンをバージニア北部(us-east-1)で作成します。
参考:ヘルスチェックを作成または更新するときに指定する値
他のリージョンはヘルスチェックアラートに設定できないので注意

image.png

AWS Chatbotでクライアントの設定

クライアントを設定をクリックするとSlackの画面に飛ぶのでログイン後(ログイン済みの場合は不要)連携を許可します。
image.png

AWS ChatbotでSlackチャンネルを設定

名前を決め、投稿するチャンネルを選択します。
image.png

image.png

Route53でヘルスチェックの作成

ヘルスチェックは通常の作成します。
今回はhttpstat.usを利用しました。このサイトは
httpstat.us/200だとhttpステータス200を
httpstat.us/503だとhttpステータス503を返すように任意のステータスをスラッシュ以後に書くと帰ってくるので非常に便利で、今回はテスト用に利用させていただきました。
image.png

アラームを作成して、通知先を先程作成したSNSトピックを選択します。上述したとおり、バージニア北部にSNSトピックがないとここに現れないので注意が必要です。
image.png

設定完了

以上で設定完了です。
ヘルスチェックアラートは以下のようなSlackが飛んできます。
メッセージ内容はうまい具合にやってくれて、画像も添付してくれます。

スクリーンショット 2020-11-16 18.05.24.png

困ったこと

Chatbotはメッセージを上述のようにデフォルトできれいに送信してくれる一方カスタムができません。
なので緊急度の高いメッセージでも@channel@someoneなどつけることができません。通知設定はSlack側でコントロールするか、カスタマイズが必要な場合はやはり自前でLambdaを利用する必要がありそうです。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?