15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Amazon SESのBounceをSlackにPostする

Posted at

Amazon SESのBounceって登録しているメールには来るけど、最近は基本的にアラートをSlackに流しているのでこいつもSlackに流したい。

処理の流れ

Amazon SES -> Amazon SNS -> AWS Lambda -> Slack という流れで、SESからSlackにPostする。

bounce.png

Amazon SNS設定

まずは、SESから通知をうける為のSNSの設定を行う。
Create TopicからTopicを作成するだけ。

スクリーンショット 2015-10-31 18.56.26.png

Amazon SES設定

Amazon SESのコンソール画面から、Domainを選択し、Notification、Edit Configurationを選択する。

SNS Topic ConfigurationのBounceとCompliantsを先ほど作成したSESNotifyに変更する。

スクリーンショット 2015-10-31 18.50.58.png

Slack設定

通知したいチャンネルにIncomming Webhooksを設定し通知先URLを取得しておく。
https://api.slack.com/incoming-webhooks

AWS Lambda設定

Select blueprintという便利な機能があるのでsns-messageを選択する。これでSNSをhookするLambdaのひな形が提供される。

スクリーンショット 2015-10-31 18.59.14.png

Event sourceに先ほど作成したSESNotifyを指定する。

スクリーンショット 2015-10-31 19.00.27.png

次に、LambdaのCodeを記入するが、かなーり便利なscriptを公開している方がいたのでこれを拝借。
Lambda function codeに貼付ける。
urlだけさっき取得したslackのpost先に切り替える。
https://gist.github.com/vgeshel/1dba698aed9e8b39a464

Review画面のEnable event sourceは最初Enable latarにしておいて、Create functionを実行。

最後に、Testが実行出来るのでTestボタンを押して無事Slackに飛んでいけば完了。

設定の有効化(Disable -> Enable)をしたら完了。

まとめ

Amazon良く分からない三兄弟の、SNS、SES、SQSの内の二つを使って今回の要件を実現してみました。
はやりのLambdaもやっぱり便利で色々と夢が広がりました。

15
16
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
15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?