カテゴリ: AWS CloudWatch 更新日: 2026/08/22

AWS CloudWatchのアラーム通知をSlackに送る方法を初心者向けに解説!監視設定と通知連携の完全ガイド

536
【AWS】CloudWatchのアラーム通知をSlackに送る方法

先生と生徒の会話形式で理解しよう

生徒

「AWSでサーバー監視をしているのですが、異常が発生したときにSlackへ通知する方法はありますか?」

先生

「はい、できます。AWSではCloudWatchという監視サービスを使って、CPU使用率やメモリなどの異常を検知し、アラームをSlackへ通知する仕組みを作れます。」

生徒

「CloudWatchアラームとSlackを連携するには、どのような設定が必要ですか?」

先生

「CloudWatchアラーム、SNS、そしてSlackのWebhookを組み合わせることで通知できます。AWS初心者でも分かるように、設定手順を順番に解説していきます。」

1. AWS CloudWatchとは何か

1. AWS CloudWatchとは何か
1. AWS CloudWatchとは何か

AWS CloudWatchとは、Amazon Web Servicesが提供している監視サービスです。AWSで動いているEC2やRDS、Lambdaなどのリソースの状態を監視することができます。

例えば次のような監視を行うことができます。

  • EC2のCPU使用率監視
  • ディスク使用量の監視
  • ネットワーク通信量の監視
  • アプリケーションログの監視

CloudWatchにはアラーム機能があり、設定した条件を超えたときに通知を送ることができます。

しかしデフォルトではメール通知が多く、運用チームで共有しづらいことがあります。そこで便利なのがSlack通知です。

Slackと連携することで、サーバーの異常をリアルタイムでチーム全体に共有できるようになります。

2. CloudWatchアラームをSlackへ通知する仕組み

2. CloudWatchアラームをSlackへ通知する仕組み
2. CloudWatchアラームをSlackへ通知する仕組み

AWS CloudWatchアラームをSlackへ通知するには、いくつかのAWSサービスを組み合わせます。

基本的な構成は次のようになります。

  • CloudWatchアラーム
  • SNS(Simple Notification Service)
  • AWS Lambda
  • Slack Webhook

通知の流れは次の通りです。

  1. CloudWatchがサーバーを監視
  2. 設定した条件を超えるとアラーム発生
  3. SNSが通知を受け取る
  4. LambdaがSlackへWebhook送信
  5. Slackチャンネルに通知が表示

この構成により、AWS監視アラートをSlackにリアルタイム通知できます。

3. SlackでWebhook URLを作成する

3. SlackでWebhook URLを作成する
3. SlackでWebhook URLを作成する

まずはSlack側で通知を受け取るためのWebhook URLを作成します。

手順は次の通りです。

  • Slack APIページへアクセス
  • Incoming Webhooksを有効化
  • 通知先チャンネルを選択
  • Webhook URLを発行

作成すると次のようなURLが発行されます。


https://hooks.slack.com/services/XXXX/XXXX/XXXXXXXX

このURLにHTTPリクエストを送信することで、Slackチャンネルにメッセージが投稿されます。

このWebhook URLは後ほどAWS Lambdaのプログラムで使用します。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. SNSトピックを作成する

4. SNSトピックを作成する
4. SNSトピックを作成する

次にAWS SNSを使用して通知を受け取る仕組みを作ります。

SNSとはAWSの通知サービスで、CloudWatchアラームから通知を受け取る役割があります。

作成手順は次の通りです。

  1. AWSコンソールを開く
  2. SNSサービスを選択
  3. トピックを作成
  4. トピックタイプはStandard

トピック作成後、Lambdaをサブスクライブします。

これにより、CloudWatchアラームがSNSへ通知し、その通知をLambdaが受け取るようになります。

5. LambdaでSlackへ通知するプログラムを作る

5. LambdaでSlackへ通知するプログラムを作る
5. LambdaでSlackへ通知するプログラムを作る

次にAWS Lambdaを作成し、Slackへメッセージを送信します。

Node.jsのLambdaコードの例を紹介します。


const https = require("https");

exports.handler = async (event) => {

const webhookUrl = "https://hooks.slack.com/services/XXXX/XXXX/XXXX";

const message = JSON.stringify({
text: "CloudWatchアラームが発生しました"
});

const url = new URL(webhookUrl);

const options = {
hostname: url.hostname,
path: url.pathname,
method: "POST",
headers: {
"Content-Type": "application/json"
}
};

const req = https.request(options);

req.write(message);
req.end();

return "Slack通知完了";

};

このLambda関数では、SNSから受け取ったイベントをトリガーとしてSlackへ通知を送信します。

Webhook URLへPOSTリクエストを送信することで、Slackチャンネルにメッセージが表示されます。

6. CloudWatchアラームを作成する

6. CloudWatchアラームを作成する
6. CloudWatchアラームを作成する

次にCloudWatchアラームを作成します。

CloudWatchアラームとは、AWSリソースの状態を監視して異常を検知する機能です。

今回はEC2のCPU使用率を監視する例を紹介します。

設定手順は次の通りです。

  1. CloudWatchコンソールを開く
  2. アラームを作成
  3. メトリクスを選択
  4. EC2 CPUUtilizationを選択
  5. しきい値を設定

例えば次のような設定にします。


CPU使用率
80%以上
5分間継続

この条件を満たした場合、CloudWatchアラームが発生します。

アラームの通知先にSNSトピックを設定することで、Lambda経由でSlackへ通知されます。

7. Slack通知メッセージをカスタマイズする

7. Slack通知メッセージをカスタマイズする
7. Slack通知メッセージをカスタマイズする

Lambdaコードを少し変更することで、Slack通知の内容を分かりやすくすることができます。

例えば次のようなメッセージを送信できます。


const message = JSON.stringify({
text: "【AWSアラート】EC2のCPU使用率が80%を超えました"
});

さらに詳細な情報を追加することも可能です。

  • アラーム名
  • EC2インスタンスID
  • リージョン
  • 発生時間

このようにカスタマイズすることで、AWS監視通知をより実用的にすることができます。

8. CloudWatchとSlack連携を運用で活用するポイント

8. CloudWatchとSlack連携を運用で活用するポイント
8. CloudWatchとSlack連携を運用で活用するポイント

AWS CloudWatchとSlackを連携すると、システム運用の効率が大きく向上します。

実際の運用では次のような監視を設定することが多いです。

  • EC2 CPU使用率監視
  • ディスク容量監視
  • ALBエラー率監視
  • RDS接続数監視
  • アプリケーションエラー監視

Slack通知にすることで、メールよりもリアルタイム性が高くなり、障害対応が早くなります。

また、チームメンバー全員が同じチャンネルで監視情報を確認できるため、インフラ運用の可視化にもつながります。

AWS CloudWatchアラームとSlack通知の連携は、AWS運用監視の基本構成の一つです。サーバー監視、システムアラート、インフラ運用を効率化したい場合には、ぜひ導入しておきたい仕組みです。

まとめ

まとめ
まとめ

CloudWatchとSlack通知連携の全体理解

ここまで AWS CloudWatch と Slack を連携してサーバー監視通知を実現する方法について詳しく解説してきました。 AWS を利用したシステム運用では サーバー監視 障害検知 アラート通知 がとても重要になります。 特に EC2 RDS ALB などのクラウド環境では サーバー状態を常に監視し 異常発生時にすぐ気付く仕組みが必要です。

AWS CloudWatch は AWS の標準監視サービスであり CPU使用率 ディスク使用量 ネットワーク通信量 アプリケーションログなどを監視できます。 そして CloudWatch アラームを設定することで 条件を超えた場合に通知を送ることができます。 しかし メール通知だけでは運用チーム全体での共有が遅れることがあります。

そこで活用されるのが Slack 通知連携です。 Slack は多くの企業で利用されているコミュニケーションツールであり AWS監視通知と組み合わせることで リアルタイム監視通知システムを構築できます。

今回解説した構成では 次の四つのサービスを組み合わせて通知を実現しています。

  • CloudWatch アラームによる監視
  • SNS による通知受信
  • Lambda による通知処理
  • Slack Webhook によるメッセージ送信

この構成を利用することで AWS サーバー監視 アラート通知 システム障害検知 を自動化できます。 インフラ監視運用の基本構成として多くの現場で利用されている方法です。

CloudWatchアラーム通知の流れを再確認

AWS CloudWatch から Slack 通知が届くまでの流れをもう一度整理します。 この流れを理解することで AWS監視構成をより深く理解できます。

  1. CloudWatch が AWS リソースを監視
  2. 設定した条件を超えるとアラーム発生
  3. アラーム通知が SNS トピックへ送信
  4. SNS が Lambda 関数を呼び出す
  5. Lambda が Slack Webhook にメッセージ送信
  6. Slack チャンネルに監視通知が表示

この仕組みを導入すると AWS EC2 CPU監視 RDS監視 アプリケーションエラー監視などをチーム全体でリアルタイム共有できます。 障害発生時にすぐ気付くため システム復旧までの時間を短縮できます。

Lambda通知プログラムの例

Slack 通知を送信する Lambda 関数は シンプルなプログラムで実装できます。 次のサンプルは Webhook URL にメッセージを送信する基本構成です。


public class CloudWatchSlackMessage {

    public static String createMessage() {

        String message = "AWS CloudWatch アラーム通知 EC2 CPU 使用率 上昇";

        return message;
    }

    public static void main(String[] args) {

        String text = createMessage();

        System.out.println("Slack通知メッセージ");
        System.out.println(text);

    }
}

このように通知メッセージ内容を整理しておくことで 監視通知を分かりやすく表示できます。 実際の運用では アラーム名 インスタンス識別番号 発生時刻 リージョン情報などを含めると便利です。

Webhook通信確認コマンド

Slack Webhook が正しく動作しているか確認する場合は curl コマンドを使ってテスト送信する方法があります。 Linux 環境では次のように実行します。


curl -X POST -H "Content-type: application/json" --data '{"text":"CloudWatch監視テスト通知"}' https://hooks.slack.com/services/XXXX/XXXX/XXXX
ok

このように表示されれば Slack チャンネルにメッセージが投稿されていることを確認できます。 AWS CloudWatch 監視設定を行う前に Webhook 動作確認をしておくとトラブル防止になります。

運用監視で役立つCloudWatch監視設定

実際のクラウド運用では 次のような監視設定を組み合わせることで 安定したシステム運用を実現できます。

  • EC2 CPU 使用率監視
  • EC2 メモリ監視
  • ディスク容量監視
  • ロードバランサー エラー監視
  • データベース接続数監視
  • アプリケーションエラーログ監視

これらの監視アラームを Slack 通知と組み合わせることで AWS運用監視 自動通知 システム障害検知の仕組みを簡単に構築できます。

AWS CloudWatch と Slack 連携は クラウドインフラ監視の基本技術です。 サーバー運用 自動監視 アラート通知 を効率化したい場合には必ず覚えておきたい設定方法です。 初心者の方でも今回の手順を順番に実践すれば AWS監視通知システムを構築できます。

先生と生徒の振り返り会話

生徒

先生 今回の内容で AWS CloudWatch と Slack を連携すると サーバー監視通知が自動で送られる仕組みが理解できました

先生

とても大事なポイントを理解できています CloudWatch は AWS の監視サービスであり アラームを設定することでシステム異常を検知できます

生徒

そして SNS と Lambda を使うことで Slack に通知できるのですね

先生

その通りです CloudWatch アラーム SNS Lambda Slack Webhook この四つの仕組みを組み合わせることで AWS監視通知システムが完成します

生徒

これならサーバー障害が起きた時にすぐチーム全員が気付けますね

先生

そうです Slack 通知にすることでリアルタイム共有が可能になります インフラ運用では監視通知のスピードがとても重要です

生徒

これから EC2 CPU監視や ディスク監視 も設定してみます

先生

とても良い学習です AWS CloudWatch 監視設定 Slack通知連携を理解すると クラウドインフラ運用の基礎力が大きく向上します ぜひ実際の環境で設定して経験を積んでください

AWS CloudWatchの一覧へ
新着記事
Flutter
FlutterでWebアプリをビルドする方法と注意点
FlutterでWebアプリをビルドする方法と注意点を徹底解説【初心者向け】
Flutter
Flutter Web開発の始め方!環境構築と基本の流れ
Flutter Web開発の始め方を完全ガイド!初心者でもわかる環境構築と基本の流れ
Flutter
FlutterのInheritedWidgetとは?仕組みと活用方法
FlutterのInheritedWidgetとは?仕組みと活用方法を初心者向けにやさしく解説
Flutter
Blocパターンの仕組みと導入方法をわかりやすく解説
FlutterのBlocパターンを完全ガイド!初心者でもわかる状態管理と導入方法
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク