

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

CloudFormation を使用して、既存の Lambda 関数で Lambda Insights を有効にするには、次の手順に従います。

**ステップ 1: レイヤーをインストールする**

Lambda Insights レイヤーを Lambda Insights レイヤー ARN 内の `Layers` プロパティに追加します。次の例では、Lambda Insights の最初のリリースにレイヤーを使用しています。Lambda Insights 拡張レイヤーの最新リリースバージョンについては、「[Lambda Insights 拡張機能の利用可能なバージョン](Lambda-Insights-extension-versions.md)」を参照してください。

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**ステップ 2: マネージドポリシーを追加する**

**CloudWatchLambdaInsightsExecutionRolePolicy** IAM ポリシーを関数実行ロールに追加します。

```
Resources:
  MyFunctionExecutionRole:
    Type: 'AWS::IAM::Role'
    Properties:
      ManagedPolicyArns:
        - 'arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy'
```

**ステップ 3: (オプション) VPC エンドポイントを追加する**

このステップは、インターネットにアクセスできないプライベートサブネットで実行されている関数、および CloudWatch Logs Virtual Private Cloud (VPC) エンドポイントをまだ設定していない場合にのみ必要です。詳細については、「[インターフェイス VPC エンドポイントでの CloudWatch Logs の使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html)」を参照してください。

```
Resources:
  CloudWatchLogsVpcPrivateEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      PrivateDnsEnabled: 'true'
      VpcEndpointType: Interface
      VpcId: !Ref: VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.logs
      SecurityGroupIds:
        - !Ref InterfaceVpcEndpointSecurityGroup
      SubnetIds:
        - !Ref PublicSubnet01
        - !Ref PublicSubnet02
        - !Ref PublicSubnet03
```