AWS Chatbot を使って Amazon Chime のチャットルームに CloudWatch Alarm の通知を飛ばしてみる
2020-05-14AWS Chatbot は連携先のクライアントとして、 Slack と Amazon Chime を選択することができます。 Slack に関しては以前に別のエントリで書いたので、今回は Amazon Chime をクライアントとして AWS Chatbot と連携してみます。
目次
- 概要
- 1. Amazon Chime で Webhook URL を生成
- 2. AWS Chatbot でクライアントの設定
- CloudWatch Alarm を Amazon Chime のチャットルームに通知する
- まとめ
概要
AWS Chatbot と Amazon Chime を連携させて、 Amazon Chime のチャットルームに CloudWatch Alarm の通知を飛ばしてみます。
やることとしては次のとおりです。
- Amazon Chime で Webhook URL を生成
- AWS Chatbot でクライアントの設定
より詳細な手順については下記の公式ドキュメントの Setting up AWS Chatbot with Amazon Chime パートを参照してください。
前提
Amazon Chime でチャットルームの作成をするには Amazon Chime のアカウントを作成している必要があります。アカウントの作成については省略するので、下記のリンクから作成しておきます。
1. Amazon Chime で Webhook URL を生成
まずは Amazon Chime で Webhook URL を生成します。ここからの操作は Amazon Chime の Web クライアント、およびデスクトップクライアントで行います。今回は Web クライアントで操作してみますが、デスクトップクライアントでもほぼ同じです。
チャットルームを作成する
Webhook URL はチャットルームに対して作成するので、まずはチャットルームを作成します。
Home の右側にある Quick actions の中から Create a new chat room をクリックします。
チャットルームの名前を入力するダイアログが表示されるので、任意の名前を入力して Create ボタンを押します。
これでチャットルームが作成され、画面左の CHAT ROOMS に表示されます。
Webhook URL を生成する
続いて Webhook URL を生成します。
先ほど作成したチャットルームを開いて、画面上にある設定アイコンを押します。表示されるメニューから Manage webhooks and bots を選択します。
すると次のようなダイアログが表示されるので、上部の Add webhook をクリックします。
選択中のチャットルームに対する webhook を作成するダイアログが表示されるので、任意の名前を入力して Create ボタンを押します。
これで webhook が作成され、 Manage webhooks and bots のダイアログに一覧として表示されます。 Copy URL をクリックして、作成した webhook の URL をコピーしておきます。
2. AWS Chatbot でクライアントの設定
続いて、 AWS Chatbot でクライアントの設定をします。 前回 はチャットクライアントとして Slack を選択しましたが、今回は Amazon Chime を選択します。
すると、次のような Amazon Chime ウェブフックの設定フォームが表示されます。
クライアントを Slack にした場合との違いは、一番上の 設定の詳細 の項目です。
名前
設定する Amazno Chime Webhook の名前を入力します。 名前には a-z, A-Z, 0-9, -, _ を使用できます。
ウェブフック URL
先ほどコピーしておいた Amazon Chime の Webhook URL を入力します。
ウェブフックの説明
ここも必須になっているので、この設定に関する説明を入力します。説明のフォーマットとして チャットルーム名/ウェブフックの目的
を書かれていますが、特にこのフォーマットである必要はありません。
以降の設定については Slack の場合と同様です。アクセス許可については、ポリシーテンプレートから 通知のアクセス許可 を選択しておきます。
通知用の SNS トピックを指定して 設定 ボタンを押します。
これで AWS Chatbot のクライアント設定が完了しました。
CloudWatch Alarm を Amazon Chime のチャットルームに通知する
では、 AWS Chatbot 経由で CloudWatch Alarm の通知を Amazon Chime のチャットルームに飛ばしてみます。今回も
前回
と同様に CloudFront の Alarm 画面から、あるディストリビューションに対する 4xx Error Rate
に関するアラームを設定しました。
設定後、該当のディストリビューションに対して意図的に 4xx エラーを発生させて暫く待つと、次のような通知が Amazon Chime のチャットルームに届きました。
ちなみに、同時に Slack の方にも届いた通知は次のような内容でした。
内容は全く同じですね。
まとめ
AWS Chatbot と Amazon Chime を連携させて、 Amazon Chime のチャットルームに CloudWatch Alarm の通知を飛ばしてみた話でした。
クライアント設定の部分が違うだけで、 Slack の場合と同様に整形された通知を受け取ることができました。個人的には Amazon Chime はオンラインセミナーでの Instant meeting しか利用したことがなかったのですが、 Slack が利用できない環境の場合は Amazon Chime のチャットルームで通知を確認する方法もあるということがわかりました。
ただ、 Slack と違って AWS Chatbot をチャットルームに招待するわけではなく Webhook での連携なので、チャットルームから AWS CLI コマンドを実行することはできないようです。CLI コマンドの実行もしたい場合は Slack を利用したほうが良さそうです。
comments powered by Disqus