Q39 — AWS SAP-C02 第3章

第 39/75 問 | ← 第3章

Q264. ある企業は、イベント駆動型アーキテクチャを用いて注文システムを実装しました。初期テスト中に、このシステムが注文の処理を停止しました。その後のログ分析により、Amazon Simple Queue Service(Amazon SQS)の標準キュー内の1件の注文メッセージがバックエンドでエラーを引き起こし、それ以降のすべての注文メッセージの処理をブロックしていたことが明らかになりました。キューの可視性タイムアウトは30秒に設定されており、バックエンドの処理タイムアウトは10秒に設定されています。ソリューションズアーキテクトは、不正な注文メッセージを分析するとともに、その後続するメッセージの処理を継続できるようにする必要があります。これらの要件を満たすために、ソリューションズアーキテクトが取るべき措置はどれですか?

正解: D. 不正なメッセージを隔離するため、新しいSQS標準キューをデッドレターキューとして設定する。

解説

不正なメッセージを隔離するために、新しいAmazon SQS標準キューがデッドレターキューとして設定されます。元のキュー(ホームキュー)内のメッセージが処理できない場合、または再試行回数の上限を超えた場合、そのメッセージは自動的にデッドレターキューに移動します。新しい標準キューをデッドレターキューとして使用することで、例外メッセージを他の処理中のメッセージに影響を与えることなく、容易に追跡・デバッグできます。 選択肢Aでは、バックエンドの処理タイムアウトを30秒に増加させることを提案していますが、これは単に処理時間を延長するだけで、不正メッセージの問題を解決しません。選択肢Bでは、可視性タイムアウトを短縮して不正メッセージを自動的に削除することを提案していますが、これにより正当なメッセージが誤って削除される可能性があります。選択肢Cでは、新しいSQS FIFOキューをデッドレターキューとして設定することを提案していますが、FIFOキューのデッドレターキューはFIFOキューでなければならず、元のキューが標準キューである本ケースでは機能しません。同様に、標準キューのデッドレターキューは標準キューでなければなりません。