Skip to content

SNS/SQSとは?

SNSとSQSは、メッセージングサービスです。非同期通信、疎結合アーキテクチャを実現します。

タイプ: Pub/Sub(1対多)
用途: 通知、ファンアウト
特徴:
- トピックに複数サブスクライバー
- プッシュ型
- 即時配信
サブスクライバー:
- Lambda
- SQS
- HTTP/HTTPS
- Email
- SMS
タイプ: メッセージキュー(1対1)
用途: 非同期処理、負荷平準化
キュータイプ:
Standard:
- 無制限スループット
- At Least Once(重複可能性)
- 順序保証なし
FIFO:
- 3,000メッセージ/秒(バッチ: 30,000)
- Exactly Once(重複なし)
- 順序保証あり
- .fifo拡張子必須
可視性タイムアウト:
- デフォルト: 30秒
- 処理中は他の受信者から見えない
- 処理完了後に削除
デッドレターキュー(DLQ):
- 処理失敗メッセージ保管
- 最大受信回数設定
Long Polling:
- 待機時間: 1-20秒
- 空ポーリング削減
- コスト削減
遅延キュー:
- 配信遅延: 0-15分
- 処理タイミング制御
ファンアウト:
SNS → SQS1(処理A)
→ SQS2(処理B)
→ Lambda(通知)
メリット:
- 疎結合
- 独立スケール
- 再試行分離
項目価格備考
リクエスト$0.50 / 100万Publish APIコール
Email通知$2.00 / 10万メール送信
SMS通知送信先国により異なるテキストメッセージ
モバイルプッシュ無料FCM, APNs等
キュータイプ価格無料枠備考
標準キュー$0.40 / 100万リクエスト月100万リクエスト順序保証なし
FIFOキュー$0.50 / 100万リクエストなし順序保証あり

料金計算例(SNS 1000万リクエスト、SQS標準 5000万リクエスト):

項目計算料金
SNS(1000万 / 100万) × $0.50$5.00
SQS(5000万 - 100万) / 100万 × $0.40$19.60
合計-$24.60/月

SNS + SQS ファンアウトパターンの料金:

  • SNS 1トピック → 3 SQSキューへ配信
  • 1000万メッセージ/月の場合
    • SNS: $5.00
    • SQS(3キュー × 1000万リクエスト): $11.60
    • 合計: $16.60/月

SNS/SQSの重要ポイント:

  • SNS: Pub/Sub、ファンアウト
  • SQS: キュー、非同期処理
  • FIFO: 順序保証、重複なし
  • ファンアウトパターン: SNS + SQS
  • DLQ: エラーハンドリング