AWS Batch ジョブを送信する際に発生する「リクエストが多過ぎるエラーが発生しています」というエラーを解決するにはどうすればよいですか?

最終更新日: 2021 年 4 月 29 日

AWS Batch ジョブが失敗し、「リクエストが多過ぎるエラーが発生しています」というエラーが表示されました。このエラーの解決方法を教えてください。

簡単な説明

AWS Batch API の制限に達すると、AWS Batch は次のエラーメッセージを返します。

「リクエストが多過ぎるエラーが発生しています (サービス: AWSBatch、ステータスコード: 429、エラーコード: TooManyRequestsException)。」

リクエストが多過ぎるエラーが発生しています」エラーが発生する一般的な理由としては、次の 2 つの理由が考えられます。

  • AWS コマンドラインインターフェイス (CLI) または AWS SDK を使用して、複数のジョブをプログラムで同時に送信している
  • AWS Lambda を使用して複数のジョブを送信している

注: AWS Batch API 制限は通常、DescribeJobs および SubmitJob API 呼び出しに適用されますが、これらに限定されません。

解決方法

注: エラーのトラブルシューティングを行う際には、次の点を考慮してください。

  • API の制限はアカウントには適用されませんが、AWS エンドポイントには適用されます。
  • AWS は、リージョンごとに各 AWS アカウントのすべての Amazon API リクエストを調整しています。これにより、あるアカウントでサービスエンドポイントが過剰なリクエストでフラッディングするのを防ぎます。
  • AWS は、すべての Amazon API への呼び出しが、許可されている最大 API リクエスト頻度を超えないようにします。最大 API リクエスト頻度は、リージョンによって異なります。

再試行およびジッターを採り入れたエクスポネンシャルバックオフアルゴリズムを使用し、ジョブを再送信する

詳細については、エクスポネンシャルバックオフとジッターをご参照ください。

AWS Batch 配列ジョブを使用して、単一の SubmitJob API 呼び出しで複数のジョブを送信する

詳細については、配列ジョブおよび SubmitJob をご参照ください。

注: AWS Batch 配列ジョブでは、最大 10,000 個のジョブのコピーを送信できます。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?