CloudwatchのアラートをSlackへ通知

PHPプログラマーの松永です。

今回は、Slackのアプリ「Email」を使用し、AWSのCloudwatchのアラートをSlackの特定チャンネルに通知する方法をご紹介します。

目次

前提

Slackは有料版を使用しております。
AWSのCloudwatchの設定自体は作成済みであることが前提となります。

Slack設定

  1. 通知するチャンネルを作成します。
    ※こちらは通常のSlackの使用方法のため、割愛させていただきます。
  2. https://xxxxxx.slack.com/apps/manageからEmailを検索し、追加します。
    追加するとメールアドレスが発行されるので、そのまま「通知するチャンネル」、「説明」を設定し保存します。

    この時点で発行されたメールアドレスにメールを送信すると、「通知するチャンネル」に選択したチャンネルに送信したメールの通知が届くようになります。

Slack側の設定は以上でございます。

AWS設定

  1. Cloudwatchのセクションにアクセスし、アラームのアクションに通知を追加します。
    赤枠をクリックすると青枠が追加されます。
  2. 新しいリストをクリックし、「名前」と「先ほど発行したSlackのメールアドレス」を設定します。
  3. 保存します。

AWS側の設定は以上でございます。

通知の確認方法

通知確認用のCloudwatchを作成し、正常に通知されるかを確認します。
「メモリの1%を使用していたらアラート」などの通常ではありえないような設定をし、アラートが発生するよういにします。

通知内容

通知内容は、Cloudwatchから送信されるメールと同一の内容が通知されます。
今回は「test2」という確認用Cloudwatchを設定してみました。



以上でございます。

まとめ

一番簡単な設定はメーラーからSlackのメールアドレスに転送することですが、この設定は「誰でも見れる設定ではない」ので情報や設定がバラバラとしてしまいます。
あまりよくないですよね。

情報や設定はできる限りまとめて一元化しておくことで運用しやすくなりますので、今回の方法を選択しました。

今回の方法は運用しやすく、容易なのでおすすめです。 AWSとSlackを使用している方は、導入してみてはいかがでしょうか。

この記事を書いた人 matsunaga 自宅に音楽スタジオがあるとこを夢見るPHPエンジニア
TOP