Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

関数へのレイヤーの追加

フォーカスモード
関数へのレイヤーの追加 - AWS Lambda

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

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

レイヤーを使用するよう Lambda 関数を設定する前に、以下を実行する必要があります。

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

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

注記

関数に追加するレイヤーが、関数のランタイムおよび命令セットアーキテクチャと互換性があることを確認します。

関数へレイヤーを追加するには (コンソール)
  1. Lambda コンソールの [関数ページ] を開きます。

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

  3. [Layers] (レイヤー) で [Add a layer] (レイヤーの追加) をクリックします。

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

    1. [AWS レイヤー] または [カスタムレイヤー] のレイヤーソースの場合、プルダウンメニューからレイヤーを選択します。[Version (バージョン)]のプルダウンメニューからレイヤーバージョンを選択します。

    2. [ARN を指定する] レイヤーソースの場合、テキストボックスに ARN を入力して [確認] を選択します。次に、[Add] (追加) を選択します。

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

関数のレイヤーのマージ順序を更新するには (コンソール)
  1. Lambda コンソールの [関数ページ] を開きます。

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

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

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

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

  6. [Save] を選択します。

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

関数のレイヤーバージョンを更新するには (コンソール)
  1. Lambda コンソールの [Layers (レイヤー)] ページを開きます。

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

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

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

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

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

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

関数からレイヤーコンテンツにアクセスする

Lambda 関数にレイヤーを含めると、Lambda は関数実行環境で/optディレクトリにレイヤーコンテンツを抽出します。Lambda は、関数によって一覧表示された順序 (低から高) でレイヤーを抽出します。Lambda は同じ名前のフォルダをマージします。複数のレイヤーに同じファイルが表示された場合は、関数は最後に抽出されたレイヤーのバージョンを使用します。

各 Lambda ランタイムは、PATH 変数に特定の /opt ディレクトリフォルダを追加します。関数コードはパスを指定しなくても、レイヤーコンテンツにアクセスできます。Lambda 実行環境のパス設定の詳細については、「定義されたランタイム環境変数」を参照してください。

レイヤー作成時にライブラリをどこに含めるかに関しては、各 Lambda ランタイムのレイヤーパス を参照してください。

Node.js または Python ランタイムを使用している場合は、Lambda コンソールの組み込みコードエディターを使用することができます。レイヤーとして追加した任意のライブラリを、現在の関数にインポートできるはずです。

レイヤー情報の確認

関数のランタイムと互換性のあるレイヤーをアカウントで検索するには、ListLayers API を使用します。たとえば、次の list-layers AWS Command Line Interface (CLI) コマンドを使用することができます。

aws lambda list-layers --compatible-runtime python3.9

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

{ "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": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.9", "python3.10", "python3.11", ] } } ] }

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

ListLayerVersions 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" ] } ] }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.