

# Lambda でのレイヤーの作成と削除
<a name="creating-deleting-layers"></a>

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

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

あなたが[レイヤーコンテンツをパッケージ化](packaging-layers.md)したら、次のステップは Lambda でのレイヤーの作成です。このセクションでは、Lambda コンソールまたは Lambda API のみを使用して、レイヤーを作成および削除する方法を示します。AWS CloudFormation を使用してレイヤーを作成するには、[AWS CloudFormation を使用したレイヤー](layers-cfn.md) を参照してください。AWS Serverless Application Model (AWS SAM) を使用してレイヤーを作成するには、[AWS SAM を使用したレイヤー](layers-sam.md) を参照してください。

**Topics**
+ [レイヤー作成](#layers-create)
+ [レイヤーバージョンの削除](#layers-delete)

## レイヤー作成
<a name="layers-create"></a>

レイヤーを作成するには、ローカルマシンから、または Amazon Simple Storage Service (Amazon S3) から .zip ファイルのアーカイブをアップロードします。Lambda は、関数の実行環境を設定する際に、レイヤーの内容を `/opt` ディレクトリに抽出します。

レイヤーには、1 つまたは複数の[レイヤーバージョン](chapter-layers.md#lambda-layer-versions)を含めることができます。レイヤーを作成すると、Lambda はレイヤーのバージョンをバージョン 1 に設定します。既存のレイヤーバージョンの権限はいつでも変更することができます。ただし、コードを更新したり、その他の構成を変更したりするには、新しいバージョンのレイヤーを作成する必要があります。

**レイヤーを作成するには (コンソール)**

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

1. [**Create layer**] (レイヤーの作成) を選択します。

1. [** レイヤー設定 **] の [** 名前 **] に、レイヤーの名前を入力します。

1. (オプション) [**Description**] (説明) で、レイヤーの説明を入力します。

1. レイヤーコードをアップロードするには、次のいずれかを実行します。
   + コンピューターから .zip ファイルをアップロードするには、[** .zip ファイルをアップロード **] を選択します。[**Upload**] (アップロード) を選択して、ローカルの .zip ファイルを選択します。
   + Amazon S3 からファイルをアップロードするには、[**Upload a file from Amazon S3**] (Amazon S3 からファイルをアップロードする) を選択します。その後、[**Amazon S3 link URL**] (Amazon S3 のリンク URL) で、ファイルへのリンクを入力します。

1. (オプション) **[互換性のあるアーキテクチャ]** では、1 つまたは両方の値を選択します。詳細については、「[Lambda 関数の命令セットアーキテクチャの選択と設定](foundation-arch.md)」を参照してください。

1. (オプション) **[互換性のあるランタイム]** では、お使いのレイヤーと互換性のあるランタイムを選択します。

1. (オプション) [**License**] (ライセンス) で、必要なライセンス情報を入力します。

1. **[作成]** を選択します。

または、[publish-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-layer-version.html) AWS Command Line Interface (CLI) コマンドを実行することもできます。例:

```
aws lambda publish-layer-version --layer-name my-layer --zip-file fileb://layer.zip --compatible-runtimes python3.14
```

`publish-layer-version` を実行するたびに、Lambda は新しい[レイヤーバージョン](chapter-layers.md#lambda-layer-versions)を作成します。

## レイヤーバージョンの削除
<a name="layers-delete"></a>

レイヤーバージョンを削除するには、[DeleteLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_DeleteLayerVersion.html) の API オペレーションを使用します。例えば、レイヤー名およびレイヤーバージョンが指定された状態で [delete-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/delete-layer-version.html) AWS CLI コマンドを実行します。

```
aws lambda delete-layer-version --layer-name my-layer --version-number 1
```

レイヤーバージョンを削除すると、そのバージョンを使用する Lambda 関数を設定できなくなります。ただし、該当バージョンをすでに使用している関数は引き続きそのバージョンにアクセスできます。また、Lambda はレイヤー名にバージョン番号を再利用することはありません。

[クォータ](gettingstarted-limits.md)を計算する場合、レイヤーバージョンを削除すると、関数とレイヤーの保存に関するデフォルトの 75 GB クォータの一部としてカウントされなくなります。ただし、削除されたレイヤーバージョンを使用する関数の場合、レイヤーコンテンツは引き続き関数のデプロイパッケージサイズのクォータ (.zip ファイルアーカイブの場合は 250MB) にカウントされます。