メモ > サーバ > サービス: AWS > SES・SNS・SQS の比較
SES・SNS・SQS の比較
SES ... Simple Email Service
SMTPサーバの代替サービス。
メールの大量送信や、顧客へのメール送信、メールの受信を行う。
信頼されたメールへ送ることを前提としているので、「メールアドレスで仮登録」のような仕組みとは相性が良くない。(後述の「SES メール送信 > メール送信のベストプラクティス」を参照。)
設定や運用に不備があると、サービスを停止される可能性があるので注意しつつ使用する。
SNS ... Simple Notification Service
メッセージをプッシュ通知する。
HTTP、メール、SMS、SQS、Push(Apple、Google、Windowsなど)に送ることができる。
メールに通知する場合、
「トピック作成 → AWSにメールアドレス登録 → AWSから送信される英語メールでURLをクリックして送信承認」
という承認が必要なフローとなるので注意。
SQS ... Simple Queue Service
メッセージキューの管理。
キューに対して任意のメッセージを送り、ポーリング(プル)によって別のアプリケーションからそのキューのメッセージを取得する。
例えば動画変換など非常に時間がかかる処理があった場合、1リクエストで完結させようとするとタイムアウトやネットワークの専有が発生する。
これを「動画変換の受け付け → 動画変換完了の通知」という仕組みにすることにより、バックグラウンドで処理を行わせることができる。
その際のキューの管理を行う。
「仮登録のためにメールアドレスを入力してもらい、本登録用のURLを送信する」
「問い合わせフォームの自動返信メールを送信する」
のような用途にはどれも向かないかもしれない。(不特定多数のアドレスに送ることになるため。)
SESやSNSでメールを送信するとしても、EC2からのメール送信が不要になるわけでは無さそう。
ただしバウンスの処理をきちんと行うなら、SESでのメール送受信でひととおり対応できるかもしれない。