AWS Lambda 関数の同時実行数の制限を引き上げて、関数がスロットルされないようにする必要があります。
簡単な説明
Lambda 関数の同時実行数の制限を引き上げるには、Service Quotas ダッシュボードでクォータ引き上げのケースを開く必要があります。
詳細については、「Lambda 関数のスケーリング」および「Lambda 関数の同時実行数の管理」を参照してください。
重要: 同時実行数の制限を引き上げると、AWS アカウントのコストが増加する可能性があります。詳細については、AWS Lambda 料金を参照してください。同時実行数の制限は、特定の AWS リージョンにあるアカウントのすべての関数で共有されます。
解決方法
関数がスロットルされている理由を確認して、ユースケースで同時実行数の制限の引き上げが必要であることを確認する
「「レートを超過しました」というエラーと 429「TooManyRequestsException」というエラーの Lambda 関数のスロットリングをトラブルシューティングするにはどうすればよいですか?」の手順に従います。
特定のリージョンのバースト同時実行数のクォータを超えていないことを確認します。バーストスケーリングによって制限されている場合は、同時実行数の制限を引き上げるのではなく、関数のためにプロビジョンされた同時実行数を設定します。
また、Service Quotas ダッシュボードの [Concurrent executions] (同時実行数) メトリクスを確認して、現在の同時実行の使用状況を確認します。
必要な同時実行数の制限を計算する
重要: ユースケースに見合った同時実行数の制限をリクエストしてください。AWS は、有効なユースケースを持たない高い同時実行数の制限のリクエストを拒否します。
関数の平均ランタイム時間 (秒) に、関数が 1 秒あたりに受け取る平均リクエスト (呼び出し) 数を乗じます。これによって、必要な同時実行数の制限がわかります。
重要: 予約されていない同時実行を使用している場合は、制限が AWS リージョンの同時実行数の制限を超えないようにしてください。
必要な同時実行数の制限を計算する際には、次の点に注意してください。
同時実行数の制限の計算例
60 second average function runtime duration x 20 requests on average per second = 1,200 required concurrency limit
Lambda 関数のユースケースの説明を記載する
同時実行数の制限の引き上げリクエストには、次の詳細が含まれているようにしてください。
- リクエストする同時実行数の制限
- 関数が 1 秒あたりに受け取る予想平均リクエスト数
- 関数が 1 秒あたりに受け取る予想最大リクエスト数
- 予想されるランタイム
- 関数のメモリサイズ
- 呼び出しのタイプ (イベントまたはリクエスト応答)
- イベントソース
- クォータの引き上げが必要な理由を説明するロードテストの結果
- お客様のユースケースを当社がよりよく理解するのに役立つ追加情報
Service Quotas ダッシュボードでクォータ引き上げのケースを開く
1. Service Quotas ダッシュボードを開きます。
2. AWS Lambda カードを選択します。Lambda の [Service quotas] (サービスクォータ) ページが開きます。
3. [Concurrent executions] (同時実行数) を選択します。
4. [Recent quota increase requests] (最近のクォータ引き上げリクエスト) ペインで、[Request quota increase] (クォータ引き上げリクエスト) ボタンを選択します。
5. リクエストする同時実行数の制限を入力します。その後、[Request] (リクエスト) を選択します。
注: [Quota Details] (クォータの詳細) ボタンを選択して、次の詳細を表示することもできます。
以前のクォータリクエスト
現在のクォータの使用率 (%)
同時実行数のメトリクスに関連付けられたアラームとタグ
Lambda 関数のユースケースの説明をリクエストに追加する
1. Service Quotas ダッシュボードを開きます。
2. ナビゲーションペインで、[Quota request history] (クォータリクエスト履歴) を選択します。クォータリクエストのリストが表示されます。
3. 同時実行数の制限の引き上げリクエストを見つけます。その後、クォータ引き上げリクエストの横にある [Status] (ステータス) オプションを選択します。リクエストのステータスと関連するサポートケースのリンクが表示されます。
注: リクエストの初期ステータスは [Pending] (保留中) です。ステータスが [Quota requested] (クォータがリクエストされました) に変わったら、AWS Support のケース番号が表示されます。
4. ケース番号を選択して、リクエストのチケットを開きます。
5. チケットのコメントスレッドで、Lambda 関数のユースケースの説明を追加します。
注: AWS Support から、リクエストを承認または拒否するステータス更新 E メールが届きます。詳細については、「クォータの増加リクエスト」を参照してください。
関連情報
Lambda の動作: アプリケーション設計 - スケーリングと同時実行数: パート 2