Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

FIFO トピックの Amazon SNS メッセージ順序の詳細

フォーカスモード
FIFO トピックの Amazon SNS メッセージ順序の詳細 - Amazon Simple Notification Service

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

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

Amazon SNS FIFO トピックは、常に、メッセージがトピックに発行されるのとまったく同じ順序で、サブスクライブされた Amazon SQS FIFO キューにメッセージを 1 回だけ配信します。Amazon SQS FIFO キューをサブスクライブすると、キューのコンシューマーは、メッセージがキューに配信されるのとまったく同じ順序で、メッセージを重複することなく受信します。ただし、 SQS 標準キューをサブスクライブすると、キューのコンシューマーはメッセージを順序どおりではなく、さらに重複して受信する可能性があります。これにより、サブスクライバーをパブリッシャーからさらに切り離すことができ、次の図に示すように、「Amazon SNS FIFO トピックのユースケース例」に基づいて、サブスクライバーはメッセージの使用とコストの最適化をより柔軟に行うことができます。

Amazon SNS FIFO (先入れ先出し) トピックのメッセージ配信システムの例。メッセージが一貫して厳密な順序で Amazon SQS FIFO キューに配信されることを示しています。これは、メッセージが順序どおりに到達しなかったり複数回到達したりする可能性がある、Amazon SQS 標準キューの動作とは対照的です。この例では、分析関数、卸売アプリケーション、小売アプリケーションという 3 つの異なるサブスクライバータイプを示し、それぞれが、サブスクライブするキューのタイプに応じて、厳密な順序またはベストエフォートな順序でメッセージを受信する方法を示しています。

サブスクライバーの暗黙の順序付けはないことに注意してください。次の例は、メッセージ m1 が卸売サブスクライバー、小売サブスクライバー、分析サブスクライバーの順に配信されることを示しています。メッセージ m2 は、小売サブスクライバー、卸売サブスクライバー、分析サブスクライバーの順に配信されます。2 つのメッセージは異なる順序でサブスクライバーに配信されますが、メッセージの順序は Amazon SQS FIFO サブスクライバーごとに保持されます。各サブスクライバーは、他のサブスクライバーとは切り離して認識されます。

Amazon SNS FIFO トピックと、Amazon SQS FIFO や標準キューなどのさまざまなタイプのサブスクライバーが、メッセージの順序付けと配信を処理する方法の例。メッセージがトピックに発行されて、さまざまなタイプのキューに配信される場合に、FIFO キューでは順序付けられた配信が確保され、標準キューではベストエフォートな順序となることを示しています。この設定は、さまざまなコンポーネントで正確な処理を行うために特定の順序で高い信頼性でメッセージが配信される必要のある e コマースプラットフォームのシナリオをサポートします。

Amazon SQS キューサブスクライバーが到達不能になると、同期が失われる可能性があります。例えば、卸売アプリケーションキュー所有者が誤って Amazon SQS キューポリシーを変更し、Amazon SNS サービスプリンシパルがメッセージをキューに配信できなくなったとします。この場合、卸売キューへの価格更新配信は失敗し、小売キューと分析キューへの配信は成功するため、サブスクライバーは同期しなくなります。卸売アプリケーションキュー所有者がキューポリシーを修正すると、Amazon SNS はサブスクライブされたキューへのメッセージ配信を再開します。対応するサブスクリプションにデッドレターキューが設定されていない限り、誤設定されたキューを対象とするトピックに発行されたメッセージはすべてドロップされます。

Amazon SNS FIFO セットアップでのメッセージ配信の動作の例。ここでは Amazon SQS キューを介してさまざまなサブスクライバータイプ (卸売、小売、分析) にメッセージが発行されています。キューポリシーの設定ミスによる、さまざまなサブスクライバーキューにわたるメッセージ配信の同期に与える影響が示されています。この例では、ポリシーエラーのために卸売サブスクライバーへのメッセージ配信は失敗しますが、小売サブスクライバーおよび分析サブスクライバーへの配信は正常に続行されています。データ配信の同期を維持するために正しいキュー設定が重要であることを示しています。このシナリオでは、FIFO トピックの機能によって通常の状況下では順序付けられて確実に 1 回配信されることが示され、さらに設定エラーによる結果が示されています。

複数のアプリケーション (または同じアプリケーション内の複数のスレッド) が、SNS FIFO トピックにメッセージを並行して発行できます。これを行うと、メッセージシーケンスを Amazon SNS サービスに効果的に委任します。確立されたメッセージのシーケンスを決定するには、シーケンス番号を確認します。

シーケンス番号は、Amazon SNS が各メッセージに割り当てる、連続しない大きな数字です。シーケンス番号の長さは 128 ビットで、メッセージグループごとに増え続けます。シーケンス番号は、メッセージ本文の一部として、サブスクライブされた Amazon SQS キューに渡されます。ただし、raw メッセージ配信を有効にすると、Amazon SQS キューに配信されるメッセージには、シーケンス番号やその他の Amazon SNS メッセージメタデータは含まれません。

複数の Lambda 関数が Amazon SNS FIFO (先入れ先出し) トピックにメッセージを発行し、さらにこれらのメッセージを Amazon SQS FIFO キューに配信して、メッセージ処理の厳密な順序を維持する例。この設定は、メッセージがアプリケーションのさまざまなコンポーネント間で送信された順序で正確に処理されるようにするために使用され、シーケンス番号はグループ内の各メッセージの順序を示しています。このタイプの設定は、オペレーションとメッセージの順序を厳密に維持して一貫性を確保する必要があるアプリケーションにとって非常に重要です。

Amazon SNS FIFO トピックは、メッセージグループのコンテキストで順序を定義します。詳細については、「FIFO トピックの Amazon SNS メッセージのグループ化」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.