Amazon SQS のキューあたりのメッセージ数の制限

Amazon SQS のキューあたりのメッセージ数の制限を調べたので、ご紹介します。

AWS | Amazon Web Services

SQS のキューあたりの最大メッセージ数の制限

スタンダード キューの場合

最大12万インフライトメッセージのようです。

キューには最大 120,000 のインフライトメッセージが存在できます (received from a queue by a consumer, but not yet deleted from the queue)。この制限に達した場合、Amazon SQS は OverLimit エラーメッセージを返します。

FIFO キューの場合

最大2万インフライトメッセージのようです。

キューには最大 20,000 のインフライトメッセージが存在できます (received from a queue by a consumer, but not yet deleted from the queue)。この制限に達した場合、Amazon SQS はエラーメッセージを返しません。

SQS のメッセージ数の制限を知りたかった背景

バッチ処理で、「外部 API へリクエストを送信する処理を 1000 メッセージ近く SQS の キュー1つに積みたい」という要件が発生して、「SQS のキューあたりの最大メッセージ数の上限に掛からないようにしないとな」と思い、調べたという背景です。

以上、SQS のキュー毎の最大メッセージ数が気になった、現場からお送りしました。

参考情報