SQS
Amazon Simple Queue Service
処理待ちのメッセージを安全にためるキューサービス。
一言でいうと
処理待ちのメッセージを安全にためるキューサービス。
概要
メッセージキューサービス。処理する側と依頼する側を分離し、非同期処理を安定させる。
主な用途
- 注文処理の非同期化
- Lambdaへの処理分散
- 障害時の再試行バッファ
CLF-C02 試験ポイント
- キューで疎結合化できる
- Standard QueueとFIFO Queueがある
- 可視性タイムアウトを理解する
SAA-C03 試験ポイント
- デッドレターキューで失敗メッセージを退避する
- 処理順序が必要ならFIFOを検討する
- Lambdaトリガーとして利用できる
実際の使いどころ
Amazon SQS は、AWS のフルマネージドなメッセージキューサービスである。メッセージを キューに送信する側(プロデューサー)と受信する側(コンシューマー)を分離することで、 処理を非同期化し、システム全体の疎結合化を実現する。送信側はコンシューマーの稼働 状況を意識せずメッセージを送れ、受信側は自身のペースでメッセージを取り出して処理 できるため、瞬間的な負荷変動に対する緩衝(バッファ)として機能する。SQS には Standard Queue と FIFO Queue の 2 種類があり、Standard は順序保証なし・少なくとも 1 回配信、FIFO は順序保証あり・正確に 1 回処理を提供する。 実務では、注文処理の非同期化、Lambda への処理分散、障害時のリトライバッファ、 ECS タスク間のジョブ受け渡しなどに利用される。可視性タイムアウト(Visibility Timeout)は SQS の重要概念で、コンシューマーがメッセージを取り出してから処理完了 (delete)するまでの間、そのメッセージを他のコンシューマーから見えなくする時間である。 処理がタイムアウト内に完了しなければメッセージは再び可視化され、別のコンシューマー が取り出せる。これにより少なくとも 1 回の処理が保証される代わりに、コンシューマー 側で冪等性(idempotency)を担保する必要がある。 料金はリクエスト数(API 呼び出し回数)に応じた従量課金で、データ転送量は別途課金 される。デッドレターキュー(DLQ)を設定することで、規定回数を超えて処理に失敗した メッセージを別キューに退避し、後続調査に回せる。CLF-C02 では「SQS = メッセージ キューによる疎結合化」という基本概念と、Standard / FIFO の使い分け、可視性タイム アウトが頻出論点となる。
公式ドキュメント
コスト注意点
- リクエスト数に応じて課金される
- 長すぎる保持期間は不要データを残す
セキュリティ注意点
- キュー操作権限を送信・受信で分ける
- メッセージに秘密情報を直接入れない
関連サービス
関連する比較記事
関連する構成図
この用語には、まだ関連構成図が登録されていません。
タグ
最終更新日:2026-06-18