既存の Lambda 関数で Lambda Insights を有効にするために AWS CloudFormation を使用する
AWS CloudFormation を使用して、既存の Lambda 関数で Lambda Insights を有効にするには、次の手順に従います。
ステップ 1: レイヤーをインストールする
Lambda Insights レイヤーを Lambda Insights レイヤー ARN 内の Layers
プロパティに追加します。次の例では、Lambda Insights の最初のリリースにレイヤーを使用しています。Lambda Insights 拡張レイヤーの最新リリースバージョンについては、「Lambda Insights 拡張機能の利用可能なバージョン」を参照してください。
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 の使用」を参照してください。
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