Amazon SQS の標準キューからFIFOキューへの移行 - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SQS の標準キューからFIFOキューへの移行

スタンダード キューを使用している既存のアプリケーションがあり、FIFO キューの特徴である順序付けや 1 回のみ処理を活用する場合、キューとアプリケーションを正しく設定する必要があります。

注記

既存のスタンダードキューをFIFOキューに変換することはできません。この移行を行うには、アプリケーション用に新しい FIFO キューを作成するか、既存のスタンダードキューを削除して FIFO キューとして再作成する必要があります。

アプリケーションがFIFOキューを使用して正しく動作することを確認するために次のチェックリストを使用すること。

  • スループットを向上させるには、FIFO に推奨される高スループットモードを使用してください。メッセージングのクォータの詳細については、「Amazon SQS メッセージクォータ」を参照してください。

  • FIFOキューでは、メッセージ単位の遅延をサポートしていません。キュー単位の遅延のみをサポートします。アプリケーションで、各メッセージのDelaySecondsパラメータが同じ値に設定されている場合、アプリケーションを変更してメッセージ単位の遅延を削除し、代わりにキュー全体にDelaySecondsを設定する必要があります。

  • メッセージグループは、お客様がそれぞれの順序を維持しながらメッセージを並列処理できるようにする独自の FIFO 機能です。お客様はメッセージグループ ID を指定してメッセージをメッセージグループに整理します。メッセージグループは、多くの場合、特定のワークロードのビジネスディメンションに基づいています。FIFO キューでの拡張性を高めるには、メッセージ ID のビジネスディメンションをより細かく設定してください。メッセージを配信するメッセージグループ ID が多いほど、FIFO が使用できるメッセージの数も増えます。

  • FIFOキューにメッセージを送信する前に、以下を確認してください。

    • アプリケーションが同一のメッセージ本文を使用してメッセージを送信する場合は、アプリケーションを変更して、送信される各メッセージに対して一意のメッセージ重複排除 IDを提供できます。

    • アプリケーションが一意のメッセージ本文を使用してメッセージを送信する場合は、コンテンツベースの重複排除を有効にできます。

  • コンシューマーのコードを変更する必要はありません。ただし、メッセージの処理に長時間かかり、可視性タイムアウトが高い値に設定されている場合は、各ReceiveMessage アクションに受信リクエスト試行 ID を追加することを検討してください。これは、ネットワーク障害の場合に受信試行を再試行し、受信試行の失敗によりキューが停止するのを防止します。

詳細については、 Amazon Simple Queue Service APIリファレンスを参照してください。