既存の Lambda 関数で Lambda Insights を有効にするために AWS CloudFormation を使用する - Amazon CloudWatch

既存の 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