

# 既存の Lambda 関数で Lambda Insights を有効にするために AWS CDK を使用する
<a name="Lambda-Insights-Getting-Started-clouddevelopmentkit"></a>

AWS CDK を使用して、既存の Lambda 関数で Lambda Insights を有効にするには、次の手順に従います。これらのステップを使用するには、既に AWS CDK を使用してリソースを管理している必要があります。

このセクションのコマンドは、TypeScript で記載されています。

まず、関数のアクセス許可を更新します。

```
executionRole.addManagedPolicy(
 ManagedPolicy.fromAwsManagedPolicyName('CloudWatchLambdaInsightsExecutionRolePolicy')
);
```

次に、Lambda 関数に拡張機能をインストールします。`layerArn` パラメータの ARN 値を、使用するリージョンと拡張バージョンに一致する ARN に置き換えます。詳細については、「[Lambda Insights 拡張機能の利用可能なバージョン](Lambda-Insights-extension-versions.md)」を参照してください。

```
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();
```