CloudWatchの請求アラームをAWS ChatbotでSlackに通知してみた
以前、
CloudWatchで請求アラームを作成する、
マルチアカウントで各アカウントの請求アラームを作成してみた
という記事を書きましたが、いずれもSNS経由でメールに通知する方法だったので、今回はChatbotも使用して、Slackに通知する方法を紹介します。
イメージ
CloudWatchアラームで請求額を監視し、しきい値を超えたらSNS(Simple Notification Service)からメールとChatbotに連携します。ChatbotからはSlackに通知を送信します。
動画
CloudWatchアラームの作成方法
以前書いた、
CloudWatchで請求アラームを作成する
をご覧ください。
ChatbotとSlackの連携設定
以下の公式手順でも紹介されています。
Slack と AWS Chatbot で ChatOps をやってみよう
設定方法
Chatbotコンソールに移動します。
チャットクライアントの設定で「Slack」を選択します。
ワークスペースへのアクセスを許可します。
「新しいチャネルを設定」をクリックします。
各種設定を行います。
- 設定名
- 任意の名前を入力します
- ログ記録
- チェックを入れると通知ログを残すことができます
- CloudWatch Logsの利用料金がかかります
- Slackチャネル
- 通知先のチャンネルを選択します
アクセス許可を設定します。
- IAMロール
- デフォルトでは自動作成です
- 既存のロールを選択することもできます
- ロール名
- 任意のロール名を入力します
- ポリシーテンプレート
- 自動作成のロールの場合テンプレートを選択できます
- 基本的にデフォルトのままでよいです
Chatbotに通知を送るSNSトピックを選択します。ここで請求アラーム通知用のトピックを選択しましょう。
ちなみに、トピックはリージョンごとに複数選択できます。
最後に「設定」をクリックします。
以上で連携の設定は完了です。
通知のテストを行うには作成したチャネルを選択し、「テストメッセージを送信」をクリックします。
Slackに以下のようなテストメッセージが届けば成功です。
請求アラームをSlackに飛ばしてみる
CloudWatchアラームとChatbotの設定ができのたで、請求のしきい値を0USD
にして、Slackに通知が飛ばしてみます。
しばらくすると、Slackに以下の通知が飛んできました。
ちなみにSNSトピックでメールにも飛ばしているのでメールにも通知が来ています。
これで実際にSlackとメールの両方に請求アラームが来ることが確認できました!
※0USD
に変更したしきい値は元に戻しておきましょう。
まとめ
今回はCloudWatchの請求アラームをメールだけでなく、Chatbotも使用してSlackに通知する方法を紹介しました。
Chatbotはノーコーディング、数クリックで簡単にSlackと連携できる嬉しいサービスです。ただし、通知内容は英語なので日本語で通知したい場合はLambdaなどで通知をカスタマイズする必要があります。
Chatbotでも日本語通知に対応してもらえる日が来るのかな??
今回の内容が参考になれば幸いです。
Discussion