1
1

More than 1 year has passed since last update.

AnsibleをAWS Systems Managerから実行するCI/CDを構築する。(その3:SNS、Chatbotの準備)

Last updated at Posted at 2022-10-29

はじめに

前回はCodeCommitの準備まで行いました。

今回はCI/CDの実行結果通知の準備としてAmazon SNSAWS Chatbotの設定を行い、Slackへ通知する設定を行ってみようと思います。

今回の構成

今回はChatbotを使った一般的なSlackへの通知の構成を作ってみようと思います。

Slackへの通知手順

Chatbotを使ってSlackへ通知するための設定手順は以下となります。

尚、今回はSlackプライベートチャンネルに通知してみようと思います。

Slackのチャンネル作成

Chatbotからの通知を受け付けるためのSlackチャンネルを作成します。

Slack画面より、「チャンネル」の右にある「」→「チャンネルを作成する」を選択します。

Monosnap_20220923_153108.png

今回はプライベートチャンネルで通知を受けたいので、「プライベートチャンネルにする」にチェックを入れ、適当な名前(今回は「ssm_ansible」)をつけて、「作成」を選択します。

Monosnap_20220923_153216.png

メンバーは特に追加しなくて良いのでそのまま「後でする」を選択。

Monosnap_20220923_153317.png

Slackのチャンネル一覧に作成したチャンネルが表示されていれば完了です。

SNSトピックの作成

Chatbotへメッセージを通知するためのSNSトピックを作成します。

Amazon SNS」→「トピック」から「トピックの作成」で以下のように設定を行います。

Monosnap_20220923_160114.png

本来はこの後、設定したトピックを購読するためのサブスクリプション設定が必要となりますが、次のChatbotの設定を行うことで自動的にサブスクリプション設定が追加されるため、サブスクリプション設定は行いません。

Chatbot_クライアントの設定

先程Slack側で作成したチャンネルが所属するワークスペースに対してChatbotからアクセスできるようにするため、クライアントの設定を行います。

AWS Chatbot」→「設定済みクライアント」から「新しいクライアントを設定」を選択。

Monosnap_20220923_160723.png

Slack」にチェックを入れ「設定」を選択。

Monosnap_20220923_160809.png

Slack側の認証画面に遷移するため、「許可する」を選択。

Monosnap_20220923_160857.png

Slackの 「App」に「aws」が追加されれば完了です。

Monosnap_20220923_161050.png

また、次手順でプライベートチャンネルの「チャンネルID」が必要となるため、Slack画面より、先程作成したチャンネル名を右クリック→「チャンネル詳細を表示する」を選択し、以下赤枠部分のIDを控えておきます。

Monosnap_20220923_161716.png

Chatbot_Slackチャネルの設定

続いて先程作成したSlackのチャンネルに対してアクセスできるように設定を行います。

AWS Chatbot」→「Slack」を選択すると、前手順で設定したSlackワークスペース名が表示されているはずなので、ワークスペース名の画面から「新しいチャネルを設定」を選択。

設定画面が表示されるため、今回は以下のように設定を行いました。

Monosnap_20220923_165000.png

Monosnap_20220923_165059.png

Monosnap_20220923_165154.png

SlackでAWSアプリの招待(プライベートチャンネルの場合のみ)

プライベートチャンネルChatbotの通知を受ける場合はSlack側で、先程追加された「aws」のアプリの招待が必要となるため、メッセージ欄に以下コマンドを入力して実行します。

尚、パブリックチャンネルで通知を受ける場合はコマンド実行は不要です。

awsアプリの招待コマンド
/invite @aws

Monosnap_20220923_172358.png

Slackへの通知確認

再度Chatbotのワークスペースの画面に戻り、先程設定したチャンネルを選択した後、「テストメッセージを送信」を選択します。

Monosnap_20220923_165327.png

Slack画面に以下のようなテストメッセージが送信されれば完了です。

Monosnap_20220923_172635.png

おわりに

今回構築した仕組みは、通知元サービスを変えることで様々な通知をSlackに送信することが可能となるため、広く使える仕組みとなります。

今回最終的に構築しようとしているCI/CDの通知のためだけではなく、その他のサービス通知でもぜひともこの仕組みを使ってもらえればと思います。

次回は今回構築した通知の仕組みも使ってCodeBuildからのRunCommand実行を試してみようと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1