メニュー
Amazon Simple Queue Service
開発者ガイド

Amazon Simple Queue Service とは

Amazon Simple Queue Service (Amazon SQS) は、分散されたソフトウェアシステムとコンポーネントを統合および分離することができる、安全で耐久性があり、利用可能なホストされたキューを提供します。Amazon SQS は、デッドレターキューコスト配分タグなど、一般的な構造を提供します。また、汎用ウェブサービス API を提供し、AWS SDK でサポートされている任意のプログラミング言語からアクセスできます。

Amazon SQS では、標準および FIFO キューの両方がサポートされています。詳細については、「どのようなキューが必要ですか。」を参照してください。

Amazon SQS の主な利点は何ですか。

  • セキュリティ – Amazon SQS キューとの間でメッセージを送受信できるユーザーは、お客様が管理します。サーバー側の暗号化 (SSE) は、AWS Key Management Service (AWS KMS) で管理されたキーを使用してキューのメッセージのコンテンツを保護するため、お客様は重要なデータを送信することができます。

  • 耐久性 – メッセージの安全性を確実にするため、Amazon SQS は複数のサーバーにメッセージを保存します。スタンダード キューは少なくとも 1 回のメッセージ配信をサポートし、FIFO キューは厳密に 1 回のメッセージ処理をサポートします。

  • 可用性 – Amazon SQS は、冗長なインフラストラクチャを使用して同時実行性が高いメッセージへのアクセスと、メッセージの作成と消費のための高い可用性を提供します。

  • スケーラビリティ – Amazon SQS はバッファされたリクエストを個別に処理できるため、透過的にスケールして、プロビジョニング指示を必要とせずに負荷の増大やスパイクに対応できます。

  • 信頼性 – Amazon SQS は処理中にメッセージをロックするため、複数のプロデューサーがメッセージを送信するのと同時に、複数のコンシューマーがメッセージを受信できます。

  • カスタマイズ – キューは完全に同一である必要はありません。たとえば、キューでデフォルトの遅延を設定することができます。Amazon DynamoDB または Amazon Simple Storage Service (Amazon S3) を使用し、Amazon SQS が Amazon S3 オブジェクトへのポインタを保持して、256 KB よりも大きいメッセージのコンテンツを保存できます。または、大きいメッセージを小さいメッセージに分割することができます。

Amazon SQS は Amazon MQ や Amazon SNS とはどう違うのですか?

Amazon SQS および Amazon SNS はキューおよびトピックサービスであり、高度にスケーラブルでシンプルに使用でき、メッセージブローカーをセットアップする必要がありません。新規のアプリケーションにはこれらのサービスをお勧めします。ほぼ無制限の拡張性とシンプルな API が利点です。

Amazon MQ はマネージド型メッセージブローカーサービスであり、多くの一般的なメッセージブローカーと互換性があります。API (JMS など) や、プロトコル (AMQP、MQTT、OpenWire、STOMP など) との互換性に依存する既存のメッセージブローカーからのアプリケーション移行に Amazon MQ をお勧めします。

どのようなキューが必要ですか。

スタンダード キュー FIFO キュー

すべての リージョンで使用できます。

無制限のスループット – スタンダード キューは、 アクションあたり、ほぼ無制限の数の 1 秒あたりのトランザクション (TPS) をサポートできます。

少なくとも 1 回の配信 – メッセージが少なくとも 1 回配信されます。ただし、まれにメッセージの複数のコピーが配信されます。

ベストエフォート型の順序 – メッセージが、送信された順序とは異なる順序で配信されることがあります。

米国東部(バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、および 欧州 (アイルランド) リージョンで使用できます。

高スループット – デフォルトでは、FIFO キューはバッチ処理により 1 秒あたり最大 3,000 件のメッセージをサポートします。制限の引き上げをリクエストする場合は、サポートリクエストを提出してください。 バッチ処理なしでは、FIFO キューは、1 秒あたり最大 300 件のメッセージ (1 秒あたり 300 件の送信、受信、または削除オペレーション) をサポートします。

1 回だけの処理 – メッセージは 1 回のみ配信され、コンシューマーが処理して削除するまで使用可能な状態で残り続けます。このキューでは、重複は導入されていません。

先入れ先出し配信 – メッセージが送信され受信された順序が厳格に保持されます。

スループットを重視する場合、アプリケーション間でデータを送信します。例:

  • 負荷の高いバックグラウンドの作業からライブユーザーリクエストを分離します: ユーザーはサイズ変更またはエンコード中にメディアをアップロードできます。

  • 複数のワーカーノードにタスクを割り当てます: 大量のクレジットカードの検証リクエストを処理します。

  • 今後の処理のためのバッチメッセージ: データベースに追加する複数のエントリをスケジュールします。

イベントの順序を重視する場合、アプリケーション間でデータを送信します。例:

  • ユーザーが入力したコマンドが正しい順序で実行されていることを確認します。

  • 価格の変更を正しい順序で送信して、正しい製品価格を表示します。

  • アカウントを登録する前に受講者がコースに登録できないようにします。

Amazon SQS の使用を開始するには

  • Amazon SQS を使用して最初のキューを作成し、メッセージを送信、受信、削除するには、「Amazon SQS の使用開始」を参照してください。

  • Amazon SQS の機能とアーキテクチャの詳細については、「Amazon SQS の仕組み」を参照してください。

  • Amazon SQS を最大限に活用するためのガイドラインと注意事項については、「Amazon SQS のベストプラクティス」を参照してください。

  • Amazon SQS アクションの詳細については、「Amazon Simple Queue Service API Reference」を参照してください。

  • Amazon SQS の AWS CLI コマンドについては、AWS CLI Command Referenceの Amazon SQS を参照してください。

ご意見をお待ちしております

ご意見をお待ちしております。お問い合わせの場合は、Amazon SQS フォーラムを参照してください。