

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

# FIFO トピックの Amazon SNS メッセージ耐久性
<a name="fifo-message-durability"></a>

Amazon SNS FIFO トピックと Amazon SQS キューは耐久性があります。どちらのリソースタイプも、複数のアベイラビリティーゾーンにわたって冗長的にメッセージを保存し、例外的なケースを処理するためのデッドレターキューを提供します。

Amazon SNS では、クライアント側またはサーバー側のエラーにより、Amazon SNS トピックがサブスクライブされた Amazon SQS キューにアクセスできない場合、メッセージの配信は失敗します。
+ Amazon SNS FIFO トピックに古いサブスクリプションのメタデータがあると、クライアント側のエラーが発生します。クライアント側のエラーの一般的な 2 つの原因は、Amazon SQS キュー所有者が次のいずれかを行う場合です。
  + キューを削除します。
  + Amazon SNS サービスプリンシパルがメッセージを配信できないようにキューポリシーを変更します。

  Amazon SNS は、クライアント側のエラーにより失敗したメッセージの配信を再試行しません。
+ サーバー側のエラーは、次の状況で発生する可能性があります。
  + Amazon SQS サービスは利用できません。
  + Amazon SQS は、Amazon SNS サービスからの有効なリクエストを処理できません。

  サーバー側のエラーが発生すると、Amazon SNS FIFO トピックは、失敗した配信を 23 日間、最大 100,015 回再試行します。詳細については、「[Amazon SNS メッセージ配信の再試行](sns-message-delivery-retries.md)」を参照してください。

どのようなタイプのエラーでも、Amazon SNS は Amazon SQS デッドレターキューへのメッセージをサイドラインして、データが失われないようにします。

Amazon SQS では、コンシューマーアプリケーションがメッセージの受信、処理、およびキューからの削除に失敗すると、メッセージ処理は失敗します。最大数の受信リクエストが失敗した場合、Amazon SQS はメッセージをデッドレターキューにサイドラインし、データが失われないようにします。

[自動車部品価格管理のユースケース例](fifo-example-use-case.md)の場合、会社は Amazon SQS デッドレターキュー (DLQ) を各 Amazon SNS FIFO トピックサブスクリプションおよびサブスクライブされた各 Amazon SQS キューに割り当てることができます。これにより、価格更新の損失から会社を保護します。

![\[自動車部品価格管理システムで、メッセージの信頼性を確保するため、デッドレターキュー (DLQ) を Amazon SNS FIFO トピックおよび Amazon SQS キューと統合した例。卸売、小売、分析のための各 Amazon SNS FIFO サブスクリプションが、対応する Amazon SQS FIFO または標準キューとペアリングされ、それぞれに各タイプの DLQ が備えられ、処理の失敗によるメッセージ損失を防いでいる設定を示しています。\]](http://docs.aws.amazon.com/ja_jp/sns/latest/dg/images/sns-fifo-dlq.png)


Amazon SNS サブスクリプションに関連するデッドレターキューは、サブスクライブキューと同じタイプの Amazon SQS キューである必要があります。例えば、Amazon SQS FIFO キューの Amazon SNS FIFO サブスクリプションでは、デッドレターキューとして Amazon SQS FIFO キューが必要です。同様に、Amazon SQS 標準キューの Amazon SNS FIFO サブスクリプションには、デッドレターキューとして Amazon SQS 標準キューが必要です。詳細については、[Amazon SNS デッドレターキュー](sns-dead-letter-queues.md) と『*AWS コンピューティングブログ*』の「[Amazon SNS、Amazon SQS 用の DLQ を使用した耐久性のあるサーバーレスアプリケーションの設計、AWS Lambda](https://aws.amazon.com/blogs/compute/designing-durable-serverless-apps-with-dlqs-for-amazon-sns-amazon-sqs-aws-lambda/ )」の投稿を参照してください。

ダウンストリームの障害からの回復に役立つ耐久性が拡張され、トピック所有者は FIFO トピックを使用してメッセージを最大 365 日間アーカイブすることもできます。トピックサブスクライバーは、これらのメッセージをサブスクライブされたエンドポイントにリプレイして、ダウンストリームアプリケーションの障害によるメッセージを回復したり、既存のアプリケーションの状態を複製したりできます。詳細については、「[FIFO トピックの Amazon SNS メッセージのアーカイブとリプレイ](fifo-message-archiving-replay.md)」を参照してください。