Amazon SQS イベントソースの Lambda 関数が最適にスケーリングされないのはなぜですか?

所要時間1分
0

Amazon Simple Queue Service (Amazon SQS) キューをイベントソースとして使用する場合、AWS Lambda 関数の同時実行数が最適になるようにしたいと考えています。

解決方法

**注:**Amazon SQS キューをイベントソースとして設定すると、Lambda 関数は 1 分あたりさらに 60 インスタンスまで最適にスケールアップできます。同時呼び出しの最大数は 1,000 です。FIFO イベントソースマッピングを使用する場合、関数はアクティブなメッセージグループの数まで同時にスケールインできます。詳細については、「スケーリングおよび処理」を参照してください。

Lambda 関数呼び出しエラーを特定して解決する

スケーリング時のエラーを防ぐため、Lambda は呼び出しエラーが発生したときに関数のスケーリングを制限します。エラーが解決されると、Lambda は引き続き関数をスケーリングします。詳細については、「](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-backoff-strategy)失敗した呼び出しのバックオフ戦略[」を参照してください。

Lambda 関数呼び出しエラーを解決するためのベストプラクティスについては、「Lambda の問題のトラブルシューティング」と「Lambda 関数の失敗をトラブルシューティングする方法」を参照してください?

ユースケースに最適な同時実行で Lambda 関数を設定する

予約された同時実行数

関数に予約された同時実行数を設定した場合、Lambda は予約された値に達すると関数を調整します。関数に割り当てられている同時実行数が、次の値以上であることを確認してください:

予約されていない同時実行数

関数に予約された同時実行数を設定しない場合、その関数のデフォルトの予約されていない同時実行クォータは 1,000 になります。このデフォルトクォータは、同じ AWS アカウントと AWS リージョンの他の機能に適用されます。関数のリージョンで利用できる予約されていない同時実行が 1,000 件以上ある場合、関数は利用可能な最大同時実行数に達するまでスケーリングされます。アカウントの同時実行がすべて使用されると、Lambda は呼び出しを制限します。

**注:**Lambda 関数は、最初はバーストキャパシティに応じてスケーリングされます。

デフォルトのバーストキャパシティよりも早く予想されるトラフィックに達する場合は、プロビジョニングされた同時実行数を使用して関数が利用可能であることを確認できます。プロビジョニングされた同時実行数では、関数は引き続き事前定義された値にスケーリングされます。プロビジョニングされた同時実行数が完全に使用されると、関数はアカウントの予約されていない同時実行プールを使用します。

**重要:**追加の同時呼び出しをスケールアップするには、アカウントがリージョンのスケーリングまたはバースト同時実行数のサービスクォータに近づいていない必要があります。リージョンの同時実行数を増やす必要がある場合は、サービスクォータコンソールサービスクォータの引き上げをリクエストしてください。

Amazon SQS キューに Lambda 関数をスケーリングするのに十分なメッセージがあることを確認します

Amazon SQS キューが Lambda 関数を呼び出すように設定されている場合、Lambda はキューにメッセージがある場合にのみ呼び出しをスケーリングします。

Amazon SQS キューでまだ処理する必要があるメッセージの数を確認するには、**ApproximateNumberOfMessagesVisible **メトリクスを確認します。

メトリクスが低いか 0 の場合、関数はスケーリングできません。

メトリクスが高く、呼び出しエラーがない場合は、イベント通知のバッチサイズを増やしてみてください期間メトリクスがバッチサイズメトリクスよりも速く増加するまで、バッチサイズを増やします。詳細については、「Lambda コンソールでの関数のモニタリング」を参照してください。

**注:**標準 Amazon SQS キューの最大バッチサイズは 10,000 レコードです。FIFO キューの場合、最大バッチサイズは 10 レコードです。詳細については、Amazon SQS API リファレンスの「ReceiveMessage」を参照してください。

関連情報

Amazon SQS での Lambda の使用

AWS Lambda 関数の同時実行数の管理

Amazon SQS イベントソースの最大同時実行数の設定

AWS公式
AWS公式更新しました 10ヶ月前