サーバレス初心者向け「AWS Lambda」「Amazon API Gateway」「Amazon EventBridge」を組み合わせたSlack通知AWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「AWS Lambda」と「Amazon API Gateway」を使って、Slackにメッセージを送るAPIを作成する方法、「Amazon EventBridge」を利用して一定間隔でメッセージを自動送信する方法を紹介する。

» 2022年07月28日 05時00分 公開
[天野盛介東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、サーバレスでコードを実行できる「AWS Lambda」と、APIを作成、公開、管理できる「Amazon API Gateway」を使って、Slackにメッセージを送るAPIを作成する方法を紹介します。

 API GatewayとLambdaを組み合わせて利用するのはとてもよくあるユースケースです。今回の内容はとてもシンプルなので「LambdaやAPI Gatewayは触ったことがないからよく分からない」方も、試しやすい内容になっています。

図1 API GatewayとLambdaを利用したSlack通知

 また、APIとしてのLambdaの実行とは別に「Amazon EventBridge」を利用して一定間隔でメッセージを自動送信する方法についても併せて紹介します。

図2 EventBridgeとLambdaを利用したSlack通知

API GatewayとLambdaを利用したSlack通知

 次の手順で作業します。

  1. SlackへのIncoming Webhookの追加
  2. Lambda関数の構築
  3. API Gatewayを利用したREST APIの作成
  4. REST APIのデプロイ

1.SlackへのIncoming Webhookの追加

 Incoming WebhookはSlackのアプリケーションの一つで、外部のサービスからSlackへのメッセージ送信を簡易化できます。

 Slackワークスペースのサイドバー上部から「Slackをブラウズする」→「App」を選択して、アプリの一覧からIncoming Webhookを探して「追加」をクリックします。

図3 SlackアプリケーションとしてIncoming Webhookを追加

 ブラウザで「Slackapp directory」が開くので「Slackに追加」をクリックします。

図4 Slackapp directory の画面

 Incoming Webhookの設定画面に遷移したら、メッセージを送信する対象のチャンネルを選択して、「Incoming Webhookインテグレーションの追加」をクリックします。

図5 メッセージの送信先となるチャンネルの選択

 以上でIncoming Webhookのセットアップは完了です。遷移先ページで表示された「Webhook URL」を控えておきましょう。

図6 Webhook URLの取得

2.Lambda関数の構築

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。