AWS Lambda Insightsを有効化する方法と無効化する方法

Lambda Insightsの有効化と無効化の操作方法について記載します。

有効化後のLambda Insightsの使い方や収集できる情報については以下の記事をご参照ください。

Lambda Insightsの有効化で追加されるCloudWatchメトリクスについて

AWS Lambda Insightsを有効化後に追加されるメトリクスの確認方法
Lambda Insightsを有効化後に「CloudWatchに追加されるメトリクス」「メトリクスの確認方法」について記載します。 メトリクスはCloudWatchのメトリクスから確認可能。EC2などのメトリクスと同様の確認方法。追加されるメトリクスは「init_duration(コールドスタート)」など8つです。

CloudWatchのLambda Insights画面について

AWS Lambda Insightsの見方
Lambda Insightsではマルチファンクションとシングルファンクションのどちらかを選択可能。 マルチファンクション→すべての関数のメトリクスを確認するときに使う。シングルファンクションー1つの関数を指定してメモリクスを確認するときに使う。「最新の 1000 回の呼び出し」からコールドスタートも確認可能

Lambda Insightsの有効化で出力されるパフォーマンスログについて

AWS Lambda Insightsを有効化後に出力されるパフォーマンスログの活用方法
Lambda Insightsを有効にすると、関数が呼び出されるたびに 「実行時間」「CPU」「メモリ」「コールドスタート」などの情報がパフォーマンスログとして出力されます。 ログインサイトを利用したパフォーマンスログの活用方法について記載します。コールドスタートやリクエスト毎のリソース状態の調査をすることが可能です。

コールドスタータの確認方法について

AWS Lambdaのコールドスタートの有無とコールドスタートに要した時間を確認する方法
Lambdaのコールドスタートの有無やコールドスタートにかかった時間を調査する方法を記載します。 コールドスタートの情報を得るにはLambda Insightsを有効にしておく必要があります。 Lambda Insightsを有効にすることによって出力されるパフォーマンスログからコールスタートの情報を取得できます。

それでは、本題のLambda Insightsの有効化について記載していきます。

Lambda Insightsの有効化は、以下の設定を行うだけで簡単に始められます。

有効化する方法
  • 新規関数作成時
    • 関数の作成
    • ロールの設定
    • Lambda Insightsの設定
  • 既存関数使用時
    • ロール設定
    • Lambda Insightsの設定

 

まず、関数作成から始めていきます。

Lambda Insightsを無効化したい場合は「Lambda Insightsの無効化(終了)方法」まで読み飛ばして大丈夫です。

スポンサーリンク

Lambda Insightsの有効化方法

関数作成して、Lambda Insightsを有効化していきます。

やること

関数の作成
→既存関数のLambda Insightsを有効化する場合はこのステップはスキップしてください
ロールの設定
Lambda Insightsの設定

Lambda関数作成

Lambda関数を作成します。既存関数のLambda Insightsを有効化する場合はこのステップはスキップしてください。

  • 関数名:適切なもの
  • ランタイム:Node.js 18.x
Lambda関数作成

Lambda関数作成

ソースコードを以下のソースコードに置き換えデプロイします。

1秒スリープ後にレスポンスを返すソースコードになります。


const sleep = (m) => {
  return new Promise((resolve) => setTimeout(resolve, m));
};
export const handler = async(event) => {
    console.log("Start!");
    await sleep(1000);
    console.log("End!");
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

Lambdaのロール設定

Lambda Insightsを開始のため、必要なロールを割り当てます。

必要なロールはCloudWatchlogsへのアクセス権限の追加のみです。


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

Lambda Insightsを有効化(開始)する

「設定タブ→モニタリングおよび運用ツール」から開始します。

以下の画面で「拡張モニタリング」をONにします。

Lambda Insights 開始

Lambda Insights 開始

Lambda Insightsの確認

「CloudWatch->インサイト->Lambda Insights」から確認できます。

グラフが表示されればOKです。

Lambda Insightsの無効化(終了)方法

「設定タブ→モニタリングおよび運用ツール」から終了します。

拡張モニタリング」をOFFにすればOKです。

まとめ

AWS Lambda Insightsの有効化と無効化の切り替えは簡単に行えます。

Lambda Insightsは有料ですので、エラー発生時など調査が必要な時だけ有効化、不要な時は無効化した方がいいと思います。

料金の詳細は以下を参照していただければと思いますが、Lambda関数の実行数に応じて料金も増えていくので、実行数が多い場合は要注意かと思いますー

料金 - Amazon CloudWatch | AWS
Amazon CloudWatch は無料で始めることができ、また 、無料利用枠内でご利用いただけるアプリケーションも多数ご用意しています。このページでは Amazon CloudWatch に関する各種お見積もりや API 使用時のコスト予測についてご説明します。

計画的に使いましょ!