その他サービス

Amazon SQS 完全ガイド|マネージドメッセージキューの活用

SQS は AWS のフルマネージド メッセージキューサービス。プロデューサーがメッセージを送り、コンシューマーがポーリングで受信する非同期処理基盤。Standard キュー(高スループット・順序非保証)と FIFO キュー(順序保証・重複排除)の 2 種類があり、サービス...

AWS のフルマネージド メッセージキュー。Standard と FIFO の 2 種で、サービス間の疎結合と非同期処理を実現。


1. 概要(端的に)

SQS は AWS のフルマネージド メッセージキューサービス。プロデューサーがメッセージを送り、コンシューマーがポーリングで受信する非同期処理基盤。Standard キュー(高スループット・順序非保証)と FIFO キュー(順序保証・重複排除)の 2 種類があり、サービス間疎結合の標準ツール。


2. 何ができるか

  • メッセージキューイング:送信→保管→受信
  • 2 種のキュー:Standard / FIFO
  • 遅延配信:Visibility Timeout
  • DLQ(Dead Letter Queue):処理失敗時の隔離
  • ロングポーリング:受信効率化
  • Lambda トリガー:自動コンシューム
  • 暗号化:KMS

Standard vs FIFO

観点StandardFIFO
スループット無制限300 メッセージ/秒(バッチで 3,000)
順序ベストエフォート厳密保証
重複あり得る排除
用途大量・順序非依存順序・重複排除必須

3. 特徴

観点特徴
追加料金リクエスト数 + データ転送
無料枠月 100 万リクエスト
メッセージ最大サイズ256 KB
保持期間60 秒〜14 日
配信少なくとも 1 回(Standard)/ 1 回のみ(FIFO)

Visibility Timeout

  • メッセージ受信後、他コンシューマから見えなくなる時間
  • デフォルト 30 秒、最大 12 時間
  • 処理時間に合わせて調整必要

DLQ

  • 処理失敗が maxReceiveCount 回続いたメッセージを別キューへ
  • 障害分析・再処理用

4. 仕組み

SQS は プロデューサー → キュー → コンシューマー のシンプルなモデル。コンシューマーは Lambda / EC2 / ECS など何でも OK。

動作の流れ

  1. プロデューサーが SendMessage
  2. SQS キューに格納
  3. コンシューマーが ReceiveMessage(ロングポーリング推奨)
  4. メッセージ取得 → Visibility Timeout 適用
  5. 処理完了 → DeleteMessage
  6. 失敗で再表示 → 再処理 or DLQ 行き

5. ユースケース

ユースケース 1:マイクロサービス疎結合

注文サービス → SQS → 在庫サービス。

ユースケース 2:Lambda の負荷平準化

スパイクトラフィックを SQS でキューイング → Lambda 順次処理。

ユースケース 3:バッチジョブ

ジョブ投入 → ワーカー EC2 が逐次処理。

ユースケース 4:イベント駆動アーキテクチャ

SNS → SQS → Lambda の Fan-out パターン。

ユースケース 5:FIFO で順序保証

決済処理など順序が重要な業務。


6. 関連用語


7. 関連サイト

AWS 公式


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFキューの概念、SNS との違い
SAA疎結合設計、Lambda 連携
DVADLQ・Visibility Timeout(頻出
SOA運用・モニタリング