AWS CodeDeployで完了通知を受け取る
久々に書きます。
近頃、個人開発にてAWS CodeDeployを使っていて、デプロイ時に通知を受け取りたいなぁと思ったので設定してみました。
やったこと
- Amazon SNS トピックの作成
- デプロイグループがSNSトピックを発行するためのアクセス権限
- デプロイグループのトリガー設定
の3つです。
Amazon SNS トピックの作成
Amazon SNS(Simple Notification Service) とは
サブスクライブしているエンドポイントまたはクライアントへのメッセージの配信または送信を調整し、管理するウェブサービスです。Amazon SNS には、発行者とサブスクライバーという 2 種類のクライアントが存在し、それぞれ生産者と消費者とも呼ばれます。
-- Amazon SNSとは
今回は、CodeDeployのデプロイグループが生産者、通知を受けたアクション(email)が消費者ということになりそうです。
トピックの作成
SNSコンソールから新しいトピックを作成します
サブスクリプションの登録
作成したトピックを選択して、「トピックへのサブスクリプション」
Emailを選択します。
登録したメールアドレスに、承認メールが届きます。
デプロイグループがSNSトピックを発行するためのアクセス権限付与
IAMコンソール→ロール→CodeDeployで使用しているロールを選択
SNS publish用のポリシーを作成・アタッチします。
以下のドキュメント通りです。
https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/monitoring-sns-event-notifications-permisssions.html?icmpid=docs_acd_console_triggers
デプロイグループのトリガー設定
デプロイグループの編集で詳細設定→トリガーの作成を選択します。
デプロイ時に無事にメールが届きました!