Lambda 関数の同時実行数の制限の引き上げをリクエストするにはどうすればよいですか?

所要時間2分
0

AWS Lambda 関数の同時実行数の制限を引き上げて、関数がスロットルされないようにする必要があります。

簡単な説明

Lambda 関数の同時実行数の制限を引き上げるには、Service Quotas ダッシュボードでクォータ引き上げのケースを開く必要があります。

詳細については、「Lambda 関数のスケーリング」および「Lambda 関数の同時実行数の管理」を参照してください。

重要: 同時実行数の制限を引き上げると、AWS アカウントのコストが増加する可能性があります。詳細については、AWS Lambda 料金を参照してください。同時実行数の制限は、特定の AWS リージョンにあるアカウントのすべての関数で共有されます。

解決方法

関数がスロットルされている理由を確認して、ユースケースで同時実行数の制限の引き上げが必要であることを確認する

「レートを超過しました」というエラーと 429「TooManyRequestsException」というエラーの Lambda 関数のスロットリングをトラブルシューティングするにはどうすればよいですか?」の手順に従います。

特定のリージョンのバースト同時実行数のクォータを超えていないことを確認します。バーストスケーリングによって制限されている場合は、同時実行数の制限を引き上げるのではなく、関数のためにプロビジョンされた同時実行数を設定します。

また、Service Quotas ダッシュボードの [Concurrent executions] (同時実行数) メトリクスを確認して、現在の同時実行の使用状況を確認します。

必要な同時実行数の制限を計算する

重要: ユースケースに見合った同時実行数の制限をリクエストしてください。AWS は、有効なユースケースを持たない高い同時実行数の制限のリクエストを拒否します。

関数の平均ランタイム時間 (秒) に、関数が 1 秒あたりに受け取る平均リクエスト (呼び出し) 数を乗じます。これによって、必要な同時実行数の制限がわかります。

重要: 予約されていない同時実行を使用している場合は、制限が AWS リージョンの同時実行数の制限を超えないようにしてください。

必要な同時実行数の制限を計算する際には、次の点に注意してください。

  • AWS リージョンあたりのデフォルトの同時実行数の制限は、いかなる時点においても 1,000 回の呼び出しです。ただし、新しい AWS アカウントでは、同時実行数とメモリのクォータが減少していることに注意してください。
  • リージョンあたりのデフォルトのバースト同時実行数のクォータは 500~3,000 で、リージョンごとに異なります
  • Lambda 関数には、同時実行数の上限はありません。ただし、制限の引き上げは、ユースケースで引き上げが必要な場合にのみ許可されます。
  • スロットリングを回避するには、引き上げが必要になる少なくとも 2 週間前に制限の引き上げをリクエストするのがベストプラクティスです。
  • Amazon CloudFront の CloudFront Lambda@Edge で Lambda を使用している場合は、リージョンごとに個別のクォータ引き上げのケースを開く必要があります。

同時実行数の制限の計算例

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

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ