Lambda 関数の呼び出しが急増した原因を特定するにはどうすればよいですか?

所要時間1分
0

AWS Lambda 関数の呼び出しリクエストが増加し、請求額が急増しました。

解決策

増加した呼び出しリクエストを検知する

Lambda 関数の呼び出し、エラー、またはスロットリングメトリクスに関する Amazon CloudWatch アラームを設定します。これで、アラームは呼び出しリクエストの数をユーザーに通知します。手順については、「静的しきい値に基づいて CloudWatch アラームを作成する」を参照してください。

増加した呼び出しリクエストを停止する

予約された同時実行を使用し、同時実行の量を 0 に設定して、すべての関数の呼び出しをスロットリングします。詳細については、「予約済同時実行数の設定」を参照してください。

呼び出しリクエストの急増の原因を特定する

以下のベストプラクティスを使用して、呼び出しが急増した原因を特定します。

  • AWS CloudTrail データイベントを有効にします。その後、Lambda 呼び出し API アクションは、呼び出しのパターンとソースの分析のために CloudTrail のログに記録されます。
  • CloudWatch メトリクスにエラーとスロットルがないか確認します。非同期呼び出しの場合、Lambda はデフォルトで 2 回までエラーを再試行します。スロットリングされたリクエストは、イベントがイベントの最大有効期間に達するまで再試行されます。詳細については、「非同期呼び出しのエラー処理の設定」を参照してください。
  • Lambda 関数のイベントオブジェクトをログに記録します。イベントオブジェクトは Lambda 関数のデータとメタデータを提供します。
  • クライアントおよびソースアプリケーションが、Lambda 関数を呼び出して予期しないスパイクを発生させる DDoS 攻撃を受けていないことを確認します。
  • Lambda 関数では再帰的な関数コードを使用しないでください。再帰的な Lambda 関数コードは、条件が満たされるまで自身を呼び出します。その結果、想定外の関数呼び出し数と請求額につながります。詳細については、「AWS Lambda 関数を使用するためのベストプラクティス」を参照してください。

関連情報

Recursive patterns that cause run-away Lambda functions

Amazon S3 での AWS Lambda の使用

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