AWS Lambda Invocationメトリクス解説

サーバーレスアプリケーションのパフォーマンスを監視・最適化するための重要指標

Lambdaの呼び出しメトリクスとは?

Lambda関数の実行に関する様々な指標を測定し、アプリケーションの健全性、パフォーマンス、コストを最適化するための重要なデータです。

1
Invocations(呼び出し回数)

Lambda関数が呼び出された回数を示します。APIゲートウェイ、S3イベント、定期的なスケジュールなど、様々なソースからの呼び出しがカウントされます。

重要度: ⭐⭐⭐⭐⭐

単位: Count

確認ポイント: 想定外の呼び出し回数の急増や減少は、問題の兆候かもしれません。

2
Errors(エラー)

関数の実行中に発生したエラーの数を示します。コード内の例外、タイムアウト、権限の問題などが含まれます。

重要度: ⭐⭐⭐⭐⭐

単位: Count

確認ポイント: エラー率(Errors/Invocations)を監視し、通常は5%未満に保つべきです。

3
Duration(実行時間)

関数がコードの実行に費やした時間を測定します。初期化時間は含まれず、純粋なコード実行時間のみです。

重要度: ⭐⭐⭐⭐

単位: ミリ秒

確認ポイント: タイムアウト制限に近づいていないか、また実行時間の急な増加はパフォーマンスの問題を示す可能性があります。

4
Throttles(スロットル)

同時実行の制限によりスロットルされた呼び出しの数です。AWSはアカウントごとにデフォルトで1000の同時実行数を設定しています。

重要度: ⭐⭐⭐⭐

単位: Count

確認ポイント: スロットルが発生する場合は、同時実行制限の引き上げをリクエストするか、関数のアーキテクチャを見直す必要があります。

5
ConcurrentExecutions(同時実行数)

特定の時点で同時に実行されているLambda関数のインスタンス数を示します。

重要度: ⭐⭐⭐

単位: Count

確認ポイント: 予約済み同時実行数を設定している場合は、その使用率を監視します。

6
IteratorAge(イテレータ年齢)

ストリームベースの呼び出し(KinesisやDynamoDB Streams)において、レコードがストリームに追加されてからLambdaで処理されるまでの時間です。

重要度: ⭐⭐⭐

単位: ミリ秒

確認ポイント: 処理が遅れている場合は、関数のパフォーマンスか、シャードの数を見直す必要があります。

Invocationメトリクスの関係性

Invocationメトリクスの関係性の図 確認ポイント: 処理が遅れている場合は、関数のパフォーマンスか、シャードの数を見直す必要があります。3個のコンポーネント(矩形)、矢印や接続線で構成された図。16個のラベル付き要素を含む。 9:00 10:00 11:00 12:00 13:00 14:00 15:00 0 25 50 75 100 1日のLambda呼び出しパターン Invocations(呼び出し) Errors(エラー) Throttles(スロットル)

⚠️ 注意ポイント:

昼のピーク時(12:00頃)に、呼び出し回数が急増し、それに伴いエラーとスロットルも増加しています。これはリソース制限に達している可能性を示唆しています。

Invocationメトリクスの監視方法

Invocationメトリクスの監視方法の図 昼のピーク時(12:00頃)に、呼び出し回数が急増し、それに伴いエラーとスロットルも増加しています。5個のコンポーネント(矩形)で構成された図。10個のラベル付き要素を含む。 AWS CloudWatch Lambda Metricsダッシュボード Invocations 2,457 前日比 +12% Errors 73 エラー率: 2.97% Avg. Duration 187ms 前日比 -5ms

Lambda Invocationメトリクスの活用ベストプラクティス

アラームの設定

エラー率が5%を超えた場合や、スロットルが発生した場合に通知を受け取るようにCloudWatchアラームを設定しましょう。

ダッシュボードの作成

関連するメトリクスを一覧できるカスタムダッシュボードを作成し、定期的に確認する習慣をつけましょう。

予約済み同時実行数の設定

重要な関数には、予約済み同時実行数を設定して、スロットルを防止しましょう。

コールドスタート対策

Duration メトリクスに大きなばらつきがある場合は、予備容量(Provisioned Concurrency)の設定を検討しましょう。

リトライ戦略の最適化

非同期呼び出しの場合、適切なリトライ回数と最大経過時間を設定しましょう。

Created by SSuzuki1063

AWS SAP Learning Resources