既存の Lambda 関数で Lambda Insights を有効にするために AWS CDK を使用する
AWS CDK を使用して、既存の Lambda 関数で Lambda Insights を有効にするには、次の手順に従います。これらのステップを使用するには、既に AWS CDK を使用してリソースを管理している必要があります。
このセクションのコマンドは、TypeScript で記載されています。
まず、関数のアクセス許可を更新します。
executionRole.addManagedPolicy( ManagedPolicy.fromAwsManagedPolicyName('CloudWatchLambdaInsightsExecutionRolePolicy') );
次に、Lambda 関数に拡張機能をインストールします。layerArn
パラメータの ARN 値を、使用するリージョンと拡張バージョンに一致する ARN に置き換えます。詳細については、「Lambda Insights 拡張機能の利用可能なバージョン」を参照してください。
import lambda = require('@aws-cdk/aws-lambda'); const layerArn = 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14'; const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
必要に応じて、CloudWatch Logs の Virtual Private Cloud (VPC) エンドポイントを使用することもできます。このステップは、インターネットにアクセスできないプライベートサブネットで実行されている関数、および CloudWatch Logs VPC エンドポイントをまだ設定していない場合にのみ必要です。
const cloudWatchLogsEndpoint = vpc.addInterfaceEndpoint('cwl-gateway', { service: InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS, }); cloudWatchLogsEndpoint.connections.allowDefaultPortFromAnyIpv4();