AWSについてここ2年ぐらい触っていますが、以前の現場ではリーダーの方が色々やられたおかげで根本的なところが理解できておらず、家でアカウントを作ってコツコツとやってます。
今回はSNSについて。
基本的な登録方法に関しては下記のリンクがわかりやすかったのでこちらを見た方が良いと思います。
一言で言うと
何らかのイベントをトリガーにして、別のサービス(例としてSQS、Lambda、メール、ショートメッセージ)への通知を行うことができる仕組みです。
どんなことができるか
自分が過去に体験したプロジェクトでは、
- メール受信をトリガーにして、メールデータ自体をS3に保存、かつSQSに告知
- SQSのキューでS3のメールデータをサーバーに取り込み、任意の処理を発動
他に自作で作ったものとしては、
- メール受信をトリガーにしてLambdaに転送(この時S3に同時にメールのデータを保存)
- Lambda側でメールを他のメールアドレスに転送
などです。
Amazon SESについて(Route53登録→SESで受信→S3で保存)
あるメールの通知をSNSで受ける場合、当然AWS内での連携が必要になりますので、SESでメールアカウントを作る必要があります。
用語など
トピック
上記の1つ1つの通知の一単位になります。SNSを使う場合、基本的にはあるトピックを作ることになります。
サブスクリプション
通知先になります。
HTTP、メール、SQS、Lambda、ショートメールなどがあります。