Serverless Framework を使用して、既存の Lambda 関数で Lambda Insights を有効にする
Serverless Framework を使用して、既存の Lambda 関数で Lambda Insights を有効にするには、次の手順に従います。Serverless Framework の詳細については、serverless.com
これは、Serverless の Lambda Insights プラグインから行えます。詳細については、「serverless-plugin-lambda-insights
最新バージョンの Serverless コマンドラインインターフェースをまだ使用していない場合は、まずインストールまたはアップグレードする必要があります。詳細については、Serverless Framework Open Source & AWS
Serverless Framework を使用して、Lambda 関数で Lambda Insights を有効化するには
Serverless のディレクトリで次のコマンドを実行し、Lambda Insights 用の Serverless プラグインをインストールします。
npm install --save-dev serverless-plugin-lambda-insights
serverless.yml
ファイルで、図のようにplugins
セクション内にプラグインを追加します。provider: name: aws plugins: - serverless-plugin-lambda-insights
Lambda Insights を有効にします。
次のプロパティを serverless.yml ファイルに追加することで、関数ごとに個別に Lambda Insights を有効化できます。
functions:
myLambdaFunction
: handler: src/app/index.handler lambdaInsights: true #enables Lambda Insights for this function次のカスタムセクションを追加すると、
serverless.yml
ファイル内にあるすべての関数に対して Lambda Insights を有効化できます。custom: lambdaInsights: defaultLambdaInsights: true #enables Lambda Insights for all functions
次のコマンドを入力して、Serverless サービスを再デプロイします。
serverless deploy
これにより、すべての関数が再デプロイされ、指定した関数に対し Lambda Insights が有効になります。ここでは、Lambda Insights レイヤーを追加し、
arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy
IAM ポリシーを使用して必要なアクセス許可をアタッチすることで、Lambda Insights を有効にしています。