Lambda 関数のメモリ使用量をモニタリングするにはどうすればよいですか?

最終更新日: 2021 年 8 月 16 日

AWS Lambda 関数のメモリ使用量をモニタリングしたいと考えています。どうすればよいですか?

解決方法

次の AWS のサービスとツールを使用して、 Lambda 関数のメモリ使用量をモニタリングできます。関数メトリクスのモニタリングの詳細については、Lambda オペレータガイドの「モニタリングとオブザーバビリティ」を参照してください。

注: Lambda 関数のメモリ使用量を最適化するには、「最適なメモリサイズの選択」および「AWS Lambda Power Tuning を使用した関数のプロファイリング」を参照してください。

Amazon CloudWatch Logs Insights

CloudWatch Logs Insights では、特殊なクエリ構文を使用して、メモリ使用量メトリクスのログデータを検索および分析できます。詳細およびサンプルチュートリアルについては、「 CloudWatch Logs Insights を使用したログデータの分析」を参照してください。

オーバープロビジョニングされたメモリの量を決定するクエリの例については、サンプルクエリの「Lambda ログのクエリ」セクションを参照してください。

注: CloudWatch Logs Insights クエリを実行すると、AWS アカウントに料金が発生します。詳細については、Amazon CloudWatch の料金をご覧ください。

CloudWatch Lambda Insights

CloudWatch Lambda Insights は、インストールされている Lambda 関数からメモリ使用量のメトリクスを自動的に収集します。詳細とチュートリアルの例については、「Lambda Insights の使用」を参照してください。

メモリ使用量を追跡および分析するワークフローの例については、Lambda デベロッパーガイドの「関数の異常を検出するワークフローの例」を参照してください。

ログイベントの例については、CloudWatch ユーザーガイドの「Lambda Insights の使用」セクションの「テレメトリイベントの例」を参照してください。

注: CloudWatch Lambda インサイトに必要な CloudWatch Lambda 拡張機能をインストールすると、AWS アカウントに料金が発生します。詳細については、 Lambda Insights の使用の「料金」セクションを参照してください。

(Python 関数の場合のみ) Lambda Powertools

Lambda Powertools により、アプリケーションからメモリ使用量やその他のメトリクスを自動的に収集できます。Lambda Powertools は現在、Python で記述された関数をサポートしており、ランタイムバージョン 3.6 以降がサポートされています。

詳細については、「Lambda Powertools を使用してサーバーレスのベストプラクティスを簡素化する」を参照してください。