

# 関数へのレイヤーの追加
<a name="adding-layers"></a>

Lambda レイヤーは、補助的なコードやデータを含む .zip ファイルアーカイブです。レイヤーには通常、ライブラリの依存関係、[カスタムランタイム](runtimes-custom.md)、または設定ファイルが含まれています。

このセクションでは、Lambda 関数にレイヤーを追加する方法を説明します。レイヤーの概念的な情報とその使用を検討する理由の詳細については、[レイヤーによる Lambda 依存関係の管理](chapter-layers.md) を参照してください。

レイヤーを使用するよう Lambda 関数を設定する前に、以下を実行する必要があります。
+ [レイヤーコンテンツのパッケージ化](packaging-layers.md)
+ [Lambda でレイヤーを作成](creating-deleting-layers.md)
+ レイヤーバージョンで [GetLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_GetLayerVersion.html) API を呼び出す権限があることを確認する。AWS アカウント の関数については、[ユーザーポリシー](access-control-identity-based.md)でこの権限を持っている必要があります。別のアカウントでレイヤーを使用するには、そのアカウントの所有者は、[リソースベースのポリシー](access-control-resource-based.md)で自分のアカウントにアクセス許可を付与する必要があります。例については、「[他のアカウントに Lambda レイヤーへのアクセス許可を付与する](permissions-layer-cross-account.md)」を参照してください。

Lambda 関数には最大 5 つのレイヤーを追加できます。関数とすべてのレイヤーの解凍後の合計サイズは、解凍後のデプロイパッケージのサイズクォータである 250 MB を超えることはできません。詳細については、「[Lambda クォータ](gettingstarted-limits.md)」を参照してください。

関数は、すでに追加したレイヤーバージョンであれば、そのレイヤーバージョンが削除された後でも、またはレイヤーへのアクセス権限が取り消された後でも、そのレイヤーバージョンを引き続き使用できます。しかし、削除されたレイヤーバージョンを使用して新しい関数を作成することはできません。

**関数にレイヤーを追加する方法**

1. Lambda コンソールの [[関数]](https://console.aws.amazon.com/lambda/home#/functions) ページを開きます。

1. 関数を選択します。

1. **[レイヤー]** セクションまで下にスクロールし、**[レイヤーの追加]** を選択します。

1. **[レイヤーを選択する]** で、レイヤーソースを選択します。

   1. **[AWS レイヤー]**: [AWS マネージド拡張機能](extensions-api-partners.md#aws-managed-extensions)のリストから選択します。

   1. **[カスタムレイヤー]**: AWS アカウントで作成したレイヤーを選択します。

   1. **[ARN の指定]**: [サードパーティ拡張機能](extensions-api-partners.md)など、[別の AWS アカウント](permissions-layer-cross-account.md)のレイヤーを使用するには、Amazon リソースネーム (ARN) を入力します。

1. **[Add]** (追加) を選択します。

レイヤーを追加する順序は、Lambda がレイヤーのコンテンツを実行環境にマージする順序です。レイヤーのマージ順序はコンソールを使用して変更できます。

**関数のレイヤーのマージ順序を更新するには (コンソール)**

1. Lambda コンソールの [[関数]](https://console.aws.amazon.com/lambda/home#/functions) ページを開きます。

1. 設定する関数を選択します。

1. **[Layers]** (レイヤー) で **[Edit]** (編集) をクリックします。

1. レイヤーの 1 つを選択します。

1. [**Merge earlier (前にマージする)**] または [**Merge later (後にマージする)**] を選択して、レイヤーの順序を調整します。

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

レイヤーはバージョン管理されています。各レイヤーバージョンのコンテンツは変更できません。レイヤーの所有者は更新されたコンテンツを提供するため、新しいレイヤーバージョンをリリースすることができます。関数に添付されているレイヤーバージョンを更新するには、コンソールを使用します。

**関数のレイヤーバージョンを更新するには (コンソール)**

1. Lambda コンソールの [[Layers (レイヤー)] ページ](https://console.aws.amazon.com/lambda/home#/layers)を開きます。

1. バージョンを更新したいレイヤーを選択します。

1. **[Functions using this version]** (このバージョンを使用する関数) タブを選択します。

1. 変更したい関数を選択してから、**[Edit]** (編集) を選択します。

1. **[Layer version]** (レイヤーバージョン) では、変更するレイヤーのバージョンを選択します。

1. **[Update functions]** (関数を更新) をクリックします。

AWS アカウント間で、関数のレイヤーバージョン更新することはできません。

## レイヤー情報の確認
<a name="finding-layer-information"></a>

関数のランタイムと互換性のあるレイヤーをアカウントで検索するには、[ListLayers](https://docs.aws.amazon.com/lambda/latest/api/API_ListLayers.html) API を使用します。例えば、以下の [list-layers](https://docs.aws.amazon.com/cli/latest/reference/lambda/list-layers.html) AWS Command Line Interface (CLI) コマンドを使用できます。

```
aws lambda list-layers --compatible-runtime python3.14
```

次のような出力が表示されます:

```
{
    "Layers": [
        {
            "LayerName": "my-layer",
            "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer",
            "LatestMatchingVersion": {
                "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
                "Version": 2,
                "Description": "My layer",
                "CreatedDate": "2025-04-15T00:37:46.592+0000",
                "CompatibleRuntimes": [
                    "python3.14"
                ]
            }
        }
    ]
}
```

アカウント内のすべてのレイヤーをリスト化するには、`--compatible-runtime` オプションを省略します。レスポンスの詳細には、各レイヤーの最新バージョンが表示されます。

[ListLayerVersions](https://docs.aws.amazon.com/lambda/latest/api/API_ListLayerVersions.html) API を使用して、最新バージョンのレイヤーを取得することもできます。たとえば、次の `list-layer-versions` CLI コマンドを使用することができます。

```
aws lambda list-layer-versions --layer-name my-layer
```

次のような出力が表示されます:

```
{
    "LayerVersions": [
        {
            "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
            "Version": 2,
            "Description": "My layer",
            "CreatedDate": "2023-11-15T00:37:46.592+0000",
            "CompatibleRuntimes": [
                "java11"
            ]
        },
        {
            "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1",
            "Version": 1,
            "Description": "My layer",
            "CreatedDate": "2023-11-15T00:27:46.592+0000",
            "CompatibleRuntimes": [
                "java11"
            ]
        }
    ]
}
```