遅咲きさんのゆるりAWS認定試験、Amazon SQSとは?

その他

2025年7月11日

ど~も。うさノリブログです。

今回はAWSでのサービスの中でアプリケーションの
処理負荷軽減などをする
Amazon SQSについてゆるりお話ししていきましょう♪

クラウドやアプリの開発において、異なるシステムや
サービス同士を”うまく連携”させるのは大きな課題です。

あるシステムが大量のリクエストを一気に送信した
場合、受信側がパンクしてしまうかもしれません。
そんなときに役立つのが
Amazon SQS(Simple Queue Service) です。

この記事では、Amazon SQSの基本的な仕組みから
使い方、メリット・ユースケースまで、
わかりやすく詳しく解説します。


Amazon SQSとは?

Amazon Simple Queue Service(SQS) は、
AWSが提供する フルマネージド型の
メッセージキューサービス です。

システム間のメッセージのやりとりを一時的に”キュー”と
いう箱に入れて順番に処理させることで、
アプリケーションの処理負荷を軽減したり、非同期な
処理を実現できます。

一言でいうと

Amazon SQSは「メッセージの順番待ちボックス」。
送信者と受信者の間に入り、処理のスムーズ化を図ります。


なぜキューが必要?

アプリケーション開発では次のような問題があります:

  • 処理が一時的に集中してサーバーがダウン
  • 一部のサービスが遅延してシステム全体が停止
  • リアルタイム処理が難しいバッチ処理の混在

Amazon SQSは、これらの問題を”非同期処理”という
考え方で解決します。

※非同期処理:


Amazon SQSの主な機能

機能内容
メッセージキューメッセージ(処理要求)を
一時的に保管し、順番に配信
非同期通信送信と受信がリアルタイム
でなくてもOK
自動スケーリングトラフィック量に応じて
自動で拡張
デッドレターキュー処理できなかった
メッセージを別キューに
保存して再処理可能
冗長性と高可用性AWSインフラ上で信頼性の
高い運用が可能

SQSの2種類のキュー

Amazon SQSには2つのキュータイプがあります。

1. 標準キュー(Standard Queue)

  • 高スループット対応
  • メッセージの順序は保証されない
    (ベストエフォート)
  • 同じメッセージが複数回配信される可能性あり
    (少数)

2. FIFOキュー(First-In-First-Out Queue)

  • メッセージの順番が厳密に守られる
  • 同じメッセージは一度だけ配信
  • スループットは制限あり(標準より低い)

Amazon SQSの動作フロー

  1. 送信側(Producer)
    メッセージをSQSに送信(送るだけ)
  2. SQS
    メッセージを保存し、待機状態に
  3. 受信側(Consumer)
    処理可能になったタイミングでSQSから
    メッセージを取得
  4. 処理完了
    受信側がメッセージを削除

この仕組みにより、送信と受信を分離し、負荷の分散や
遅延処理が実現できます。


Amazon SQSのメリット

メリット説明
✅ 高可用性複数のAZにまたがって
メッセージを保存し、
障害に強い
✅ 柔軟な処理同時に複数のコンシューマ
で並列処理が可能
✅ コスト効率従量課金制で、小規模〜
大規模まで対応
✅ セキュリティIAMによるアクセス制御、
暗号化オプションあり

よくあるユースケース

ユースケース説明
バックグラウンドジョブ処理画像変換や動画エンコード
など重い処理を非同期で実行
注文処理システムECサイトの注文を順番に
処理して在庫の整合性を保つ
マイクロサービス間通信独立したサービス間の
非同期メッセージ連携に利用
障害時のメッセージ保存通信不能時もメッセージを
保持し、後で再処理可能

Amazon SQSの使い方(ステップバイステップ)

  1. AWSマネジメントコンソールでSQSを開く
  2. 新しいキューを作成(標準 or FIFO)
  3. 設定:キュー名・保持期間・可視性タイムアウト
    などを指定
  4. メッセージを送信
  5. 別のアプリケーションやLambda関数で受信処理

SQS × 他サービスの連携例

  • AWS Lambda
    メッセージをトリガーに処理を自動実行
  • Amazon SNS
    SNSで受け取った通知をSQSに送信して分散処理
  • Amazon EC2
    バックエンドアプリケーションからメッセージを送信・受信
  • Step Functions
    ワークフロー内で順番に処理を進める際にSQSを活用

SQS利用時の注意点

  • FIFOキューの順序保証にはメッセージグループID
    が必要
  • 可視性タイムアウト(Visibility Timeout)を適切に
    設定しないと、二重処理の可能性
  • 処理失敗時の再試行ポリシーとデッドレターキュー
    の設計が重要

料金について

  • 最初の100万件/月までは無料枠あり
    (標準キュー)
  • その後は送信・受信ごとに数円〜の従量課金
  • 長期保存や大量処理が必要な場合は
    コストシミュレーション推奨

SEOキーワード候補

  • Amazon SQSとは
  • AWS キューサービス 比較
  • SQS FIFOと標準の違い
  • SQS メッセージ再試行
  • AWS 非同期処理設計

まとめ

Amazon SQSは、システム間のやりとりを滑らかにし、
アプリケーションの信頼性やスケーラビリティを高める
強力なツールです。

リアルタイム性を重視せず、負荷分散や非同期処理を
取り入れたいなら、SQSは非常に有効な選択肢です。


本記事を参考に、SQSを活用した柔軟なアーキテクチャ
をぜひ実現してみてください。

以上!今回はここまで!

コメント

Translate »
タイトルとURLをコピーしました