用語解説
Amazon SQS / SNSとは、AWSが提供するマネージドメッセージングサービスです。SQS(Simple Queue Service)はメッセージキュー・SNS(Simple Notification Service)はPub/Sub型の通知サービスで、サービス間の非同期通信を実現します。
SQSはプロデューサーとコンシューマーを疎結合にすることでシステムの耐障害性を高め、SNSは1つのメッセージを複数のサブスクライバー(Lambda・SQS・HTTP・メール等)に同時配信するファンアウトパターンに使用します。
どんな場面で活用するか
- 注文処理システムで注文受付・在庫確認・決済・発送の各マイクロサービスをSQSで連結する場合
- SNS → 複数SQSのファンアウトパターンでイベントを複数の処理パイプラインに並行配信する場合
- バースト的な処理リクエストをSQSにバッファリングしてLambdaでスロットリング処理する場合
よくある誤解
「SQSは同じメッセージを1度しか配信しない」は誤りです。正しくはSQSの標準キューはAt-Least-Once配信のため同じメッセージが複数回配信される場合があります。冪等処理の実装か、FIFOキューの使用でExactly-Onceを保証してください。
判断のヒント
デッドレターキュー:処理に繰り返し失敗したメッセージをDLQ(Dead Letter Queue)に移動させる設定を必ず行いましょう。DLQ内のメッセージをモニタリングすることで処理エラーの早期発見と原因調査が可能になります。