

# 関数の Lambda Insights 拡張機能バージョンを更新する
<a name="Lambda-Insights-Update-Extension"></a>

ベストプラクティスとして、Lambda Insights 拡張機能を最新バージョンに更新しておくことをお勧めします。このページのトピックでは、その方法について説明します。

**注記**  
このページでは、既に Lambda Insights を使用している関数で使用される拡張機能バージョンを更新する方法について説明します。Lambda Insights の開始方法については、「[Lambda Insights の使用を開始する](Lambda-Insights-Getting-Started.md)」を参照してください。

## Lambda コンソールを使用して Lambda Insights 拡張機能バージョンを更新する
<a name="Lambda-Insights-Update-Extension-console"></a>

Lambda コンソールを使用して Lambda Insights 拡張機能バージョンを更新するには、次のステップに従います。

**Lambda コンソールを使用して更新するには**

1. AWS Lambda コンソールの [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) を開いてください。

1. 関数の名前を選択します。

1. **[レイヤー]** セクションで **[編集]** を選択します。

1. レイヤーのリストで **LambdaInsightsExtension** を検索し、レイヤーのバージョンを [Lambda Insights 拡張機能の利用可能なバージョン](Lambda-Insights-extension-versions.md) にリストされている最新バージョンに変更します。

1. **[保存]** を選択します。

## AWS CLI を使用して Lambda Insights 拡張機能バージョンを更新する
<a name="Lambda-Insights-Update-Extension-CLI"></a>

AWS CLI を使用して Lambda Insights 拡張機能バージョンを更新するには、次のコマンドを入力します。レイヤーパラメータの ARN 値を、使用するリージョンと拡張バージョンに一致する ARN に置き換えます。Lambda Insights 拡張レイヤーの最新リリースバージョンについては、「[Lambda Insights 拡張機能の利用可能なバージョン](Lambda-Insights-extension-versions.md)」を参照してください。

```
aws lambda update-function-configuration \
--function-name function-name \
--layers "arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53"
```

## AWS SAM CLI を使用して 1 つ以上の関数の Lambda Insights 拡張機能を更新する
<a name="Lambda-Insights-Update-Extension-SAM-CLI"></a>

すべての Lambda 関数の Lambda Insights 拡張機能バージョンを更新するには、AWS サーバーレスアプリケーションモデル (SAM) テンプレートの `Globals` セクションの `Layers` プロパティを Lambda Insights レイヤーの ARN で更新します。Lambda Insights 拡張レイヤーの最新リリースバージョンについては、「[Lambda Insights 拡張機能の利用可能なバージョン](Lambda-Insights-extension-versions.md)」を参照してください。

以下は、すべての Lambda 関数を更新します。

```
Globals:
  Function:
    Layers:
       - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

以下は、1 つの関数だけを更新します。

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

## CloudFormation を使用して 1 つ以上の関数の Lambda Insights 拡張機能を更新する
<a name="Lambda-Insights-Update-Extension-CloudFormation"></a>

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

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

## AWS CDK を使用して 1 つ以上の関数の Lambda Insights 拡張機能を更新する
<a name="Lambda-Insights-Update-Extension-CDK"></a>

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

```
import lambda = require('@aws-cdk/aws-lambda'); 
const layerArn = 'arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53'; 
const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
```

## Serverless Framework を使用して 1 つ以上の関数の Lambda Insights 拡張機能を更新する
<a name="Lambda-Insights-Update-Extension-Serverless"></a>

Serverless Framework を使用して、既存の Lambda 関数の Lambda Insights 拡張機能バージョンを更新するには、次の手順に従います。Serverless Framework の詳細については、[Serverless Framework のドキュメント](https://serverless.com)を参照してください。

このメソッドは、Serverless の Lambda Insights プラグインを使用します。詳細については、「[serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights)」を参照してください。

最新バージョンの Serverless コマンドラインインターフェイスをまだ使用していない場合は、まずインストールまたはアップグレードする必要があります。詳細については、「[Setting Up Serverless Framework With AWS](https://www.serverless.com/framework/docs/getting-started/)」を参照してください。

**Lambda コンソールを使用して更新するには**

1. Lambda Insights を更新します。まだ更新していない場合は、ファイルの最後に `custom` セクションを追加し、`lambdaInsightsVersion` プロパティ内で Lambda Insights のバージョンを指定します。

   ```
   custom:
       lambdaInsights:
           lambdaInsightsVersion: 53 #specify the Layer Version
   ```

1. 次のコマンドを入力して、Serverless サービスを再デプロイします。

   ```
   serverless deploy
   ```

## Lambda コンテナイメージをデプロイして Lambda Insights 拡張機能バージョンを更新する
<a name="Lambda-Insights-Update-Extension-container"></a>

Lambda コンテナイメージで Lambda Insights を更新するには、「[Lambda コンテナイメージをデプロイして Lambda Insights を有効化する](Lambda-Insights-Getting-Started-docker.md)」の手順に従って、最新バージョンの Lambda Insights でイメージを再構築します。次に、AWS CLI を使用して[関数コードを更新](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html)し、コンテナイメージ URI を `--image-uri` パラメータの値として指定します。