Lambda 関数の呼び出しのスパイクの原因を特定するにはどうすればよいですか?
最終更新日: 2021 年 9 月 8 日
AWS Lambda 関数の呼び出しリクエストが増加し、請求額が急増しました。
解決方法
呼び出しリクエストの原因を検出、停止、および特定するには、次の手順に従います。
増加した呼び出しリクエストを検出する
Lambda 関数の呼び出しまたはスロットリングメトリクスの Amazon CloudWatch アラームを設定します。アラームは、呼び出しリクエストの数をユーザーに通知します。手順については、静的しきい値に基づいて CloudWatch アラームを作成するを参照してください。
増加した呼び出しリクエストを停止する
予約された同時実行を使用し、同時実行の量を 0 に設定して、すべての関数の呼び出しをスロットリングします。詳細については、Lambda 関数の同時実行数の管理を参照してください。
呼び出しリクエストのスパイクの原因を特定する
これらのベストプラクティスを使用して、呼び出しのスパイクの原因を特定します。
- AWS CloudTrail データイベントを有効にします。その後、Lambda 呼び出し API アクションは、呼び出しのパターンとソースの分析のために CloudTrail にログ記録されます。
- Lambda 関数のイベントオブジェクトをログ記録します。イベントオブジェクトは、Lambda 関数のデータとメタデータを提供します。
- クライアントおよびソースアプリケーションが、Lambda 関数を呼び出して予期しないスパイクを発生させる DDoS 攻撃を受けていないことを確認します。
- Lambda 関数で再帰的な関数コードを使用しないようにしてください。再帰的な Lambda 関数コードは、条件が満たされるまで自らを呼び出します。これは、予期しない関数の呼び出しと請求額につながります。詳細については、AWS Lambda 関数を使用するためのベストプラクティスを参照してください。