みなさん、こんにちは。新人のRenです。
Amazon SNS使っている方多いと思いますが、今日はSNSからSlackに通知を送ってみました。
Amazon SNS(Amazon Simple Notification Service)とは、アプリケーション対アプリケーション(A2A)間と、アプリケーション対個人(A2P)間の両方の通信に使用できる、フルマネージド型メッセージングサービスです。サーバーレスでアプリケーションへの通知を可能にします。今回は、SNSを使ってSlack通知する方法について説明します。
AWS Chatbotとは
Slack通知の説明に入る前に、AWS Chatbotについて説明します。
AWS Chatbotとは、Amazon ChimeまたはSlackに対して安全かつ簡単に通知が送れるサービスです。AWS SNSとAWS Chatbotを利用することで初めてSlackへのイベント通知が可能になります。
Slack通知の設定
①AWS SNSのコンソールを開き、トピックの中にあるトピックの作成をクリックします。

②タイプ、名前、表示名を決める
※タイプは後から変更できないので注意
名前、表示名はわかりやすいものでOK

③その他暗号化、アクセスポリシー等ありますが後から設定の変更が可能なので、トピックの作成を完了します。

④AWS Chatbotから「新しいチャンネルを設定」をクリックします。

⑤設定名、チャンネルIDを入力
※設定名は後から変更できません。
チャネルIDは、連携したいSlackチャンネルのURLもしくはURL末尾のIDをコピーしてペーストしてください。

⑥アクセス許可設定
※「既存のIAMロールを使用する」または「テンプレートを使用してIAMロールを作成する」のいずれかを選択できます。
AWS Chatbotを使用したことがない人は、IAMロールの作成が必須になります。

⑦通知オプション
※リージョンを選択し、先ほど作成したトピックを選択してください。
右下の「設定」をクリックして完了となります。

⑧AWS Code Commitを使った通知ルールの作成
・イベント通知を行いたいリポジトリを選択し、「通知ルールの作成」をクリックします。

・通知ルールとトリガーの設定を行う
※フルとベーシックの違いは通知時の情報量の違いです。

・ターゲットの選択
※ターゲットタイプにSlackを選択します。
Submitをクリックして完了となります。

まとめ
①~⑧を行うことで設定が完了となります。AWS ChatbotとAmazon SNSを組み合わせることで比較的簡単に通知設定を行うことが出来ました。普段使用しているSlackと連携することができ、非常に便利だと感じています。ぜひ参考にしてみてください!
