Stepfunctionsから実行したlambdaのエラーでcloudwatchアラームが発生しない

0

Stepfunctionsから実行したlambdaのエラーでcloudwatchアラームが発生しません。 Lambdaを直接実行した際にはアラームが発生します。 この原因は何でしょうか?

cloudwatchアラートは以下の設定をしております。 メトリクス名:Errors 統計:合計 期間:1分 閾値の種類:静的 閾値:1以上 データポイント:1/1 欠落データの処理:欠落データを見つかりませんとして処理

Lambdaの処理時間は一律30秒ほどです。

1回答
0

Step Functions から実行された Lambda 関数のエラーが CloudWatch アラームを発生させない原因には、いくつかの可能性があります。

  1. メトリクスの違い: Step Functions から実行される Lambda 関数のエラーは、通常の Lambda メトリクスとは異なるメトリクスで記録される可能性があります。Step Functions は Lambda 関数のエラーを "LambdaFunctionsFailed" というメトリクスで記録します。現在のアラーム設定が Lambda の "Errors" メトリクスを監視している場合、Step Functions 経由のエラーを検出できない可能性があります。

  2. メトリクスの遅延: Step Functions のメトリクスは best-effort ベースで配信され、遅延や不完全な場合があります。1分間の期間で評価しているため、メトリクスの遅延によってアラームが発生しない可能性があります。

  3. エラー処理の違い: Step Functions は Lambda 関数のエラーを独自に処理し、再試行やエラーハンドリングを行う場合があります。これにより、Lambda 関数自体のエラーメトリクスには反映されない可能性があります。

  4. 名前空間の違い: Step Functions から実行される Lambda 関数のメトリクスは "AWS/States" 名前空間に記録される可能性があります。現在のアラームが "AWS/Lambda" 名前空間を監視している場合、Step Functions 経由のエラーを検出できません。

解決策として、以下のアプローチを検討してください:

  1. "LambdaFunctionsFailed" メトリクスを使用してアラームを設定する。
  2. アラームの評価期間を長くする(例:5分)。
  3. Step Functions の実行レベルのメトリクス(例:ExecutionsFailed)を監視する。
  4. "AWS/States" 名前空間のメトリクスを確認し、適切なメトリクスでアラームを設定する。

これらの調整により、Step Functions から実行される Lambda 関数のエラーを適切に検出し、アラームを発生させることができるはずです。
Sources
Monitoring Step Functions metrics using Amazon CloudWatch - AWS Step Functions
AWS Step Functions - Amazon CloudWatch

profile picture
回答済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン