SQS ロングポーリングによるコスト削減と空レスポンス低減

ア(誤り):可視性タイムアウトを0秒にすると処理中のメッセージが即座に再取得され重複処理を引き起こす。 イ(誤り):デッドレターキューはエラーメッセージの退避先である。 ウ:Amazon SQSのロングポーリングは、`ReceiveMessage` 呼び出しの受信待機時間(WaitTimeSeconds)を1〜20秒に設定することで、キュー内にメッセージが存在しない場合にメッセージが到着するまで接続を維持して待機する。これにより空のレスポンスが劇的に減少し、コスト削減とレスポンス高速化が達成される。 エ(誤り):保持期間短縮はメッセージロストを招く。

コンシューマーアプリケーションがAmazon SQSキューに対して頻繁に受信リクエスト(ReceiveMessage)を発行していますが、キューが空の時間が多いため大量の空レスポンス(Empty Response)が返り、API呼び出しコストと不要なCPU負荷が増加している。メッセージが到着するまで接続を最大20秒間待機させ、コストと効率を劇的に改善するSQS設定を1つ選択してください。

出典AWS非公式・オリジナル問題
ア
可視性タイムアウト(Visibility Timeout)を0秒に短縮する
イ
キューのタイプをデッドレターキューに変更する
ウ
受信待機時間を最大20秒にして、ロングポーリングを使う
エ
メッセージ保持期間(MessageRetentionPeriod)を1分に変更する