見出し画像

【便利ツール】CloudwatchのアラートをSlackへ通知する

先日、Cloudwatchで設定したアラームを、Slackに飛ばす実装をしました。
今回は、その手順をご紹介します。文面等通知にカスタマイズをしない、シンプルなパターンの装置です。

使うサービスは、以下の3つです。

  1. Amazon Cloudwatch

  2. Amazon SNS

  3. Amazon Chatbot


(1)Amaznon SNS でトピックを作成

スタンダードを選択し、名前と表示名を適宜設定。

(2)AWS ChatbotでSlackを紐付ける

chatbotから[新しいクライアントを設定]にいくと、上記画像のような選択を迫られますので、Slackを選び設定しましょう。
(初期設定の場合はちょっと画面が違うかもしれませんが、操作は一緒です)

その後、Slackとの連携設定の画面に移りますので、適宜ログインをして連携を許可しましょう。

連携後はこんな感じ。「Slack - くふうしずおか」が追加されました。

(3)チャネルの設定

次は実際に通知がいくチャネルを設定します。
上記画像で言う「Slack - くふうしずおか」を開き、「新しいチャネルを設定」を選択。

設定名は適宜設定します。

上記エリアでSlackのチャネルを設定。
通知先のチャネルがパブリックの場合は検索窓をクリックすると一覧表示されます。
※プライベートの場合は各チャネルのプライベートIDを入力してください。

通知オプションはお使いのリージョンを選択後、(1)で作成したSNSトピックを選択します。

(4)CloudWatchよりアラームを作成

通知の設定は(1)〜(3)で終了です。あとは実際にCloudWatchより通知を設定したいメトリクスよりアラームを設定します。

メトリスクと条件の指定をした後、アクションの設定で通知を設定します。
通知の送信先で、先ほど作成したSNSトピックを選択します。

今回は、閾値を超えたメトリクスに対してアラートを通知したいので、上記の設定にしました。

その後、適宜アラーム名を設定します。

(5)通知

こんな形でSlackに通知が届きます。

SNSやChatbotの設定は1回でOKですが、アラームの設定はメトリクスごとに設定する必要があるので、CPUやメモリなど必要に応じてアラームを設定してください。

まとめ

SNSだけだと専用のLambda組む必要がありましたが、Chatbot、便利ですね!

CloudWatch以外にも通知設定できるサービスもたくさんあるので、ぜひ試してみてください。