はじめに
AWS Lambda を使っていると、「毎回同じライブラリをアップロードするの面倒…」「関数が大きくなって管理しづらい…」と思ったことはありませんか?
そんなときに役立つのが Lambda Layer(レイヤー) です。
Layer を使えば、共通のライブラリやコードを複数の Lambda 関数で再利用できるようになります。
今回は、Python で Lambda Layer を作成する方法を、初心者向けにステップバイステップで紹介します。
Lambda Layer とは?
Lambda Layer は、関数とは分離してアップロードできる 追加コンテンツ(ライブラリや共通処理) のことです。
複数の関数で共通して使いたいコードやライブラリを Layer にまとめておくと、関数本体がスリムになります。
主な用途
- 外部ライブラリ(例:
requests
,pandas
など) - 共通のユーティリティ関数
- モデルや設定ファイルの共有
Layer を作成する手順
ディレクトリ構造を準備
まず、以下のようなディレクトリを作ります
python配下に利用したいコードを格納していきます。
python-layer/
└── python/
必要なライブラリをインストール
ライブラリを導入したい場合は、python以下にライブラリをインストールします。
たとえば、requests
ライブラリを追加したい場合
pip install requests -t python-layer/python
-t は指定フォルダにインストールするためのオプションです。
zipファイルに圧縮
Layer にアップロードできるように、python
フォルダを zip します
cd python-layer
zip -r python-layer.zip python
Layer を AWS にアップロードする
AWS マネジメントコンソールからアップロード
- Lambda → 「レイヤー」→「レイヤーの作成」
- 名前・説明を入力
- 作成した
python-layer.zip
をアップロード - 互換性のあるアーキテクチャを選択
- 対象のランタイム(例:Python 3.13)を選択
- 作成
互換性のあるアーキテクチャとランタイムを正確に選択しなければ、
ご自身のLambdaに追加する際に選択肢として出てこなくなるので注意が必要です。

Lambda 関数で Layer を使う
作成した Layer を関数に追加するだけで、インストールしたライブラリが使えるようになります。
設定方法
- Lambda 関数の設定画面を開く
- 「レイヤー」→「レイヤーの追加」
- 作成したレイヤーを選択・保存


注意点
- Layer サイズ上限は 250MB(圧縮前)
- Layersは5レイヤーまでアタッチ可能
まとめ
Lambda Layer を活用することで
- 複数関数でのライブラリ再利用が可能
- デプロイパッケージを小さく保てる
- 開発と保守がシンプルに
AWS Lambda をもっと効率的に使いたい方は、ぜひ Layer を取り入れてみてください
コメント