【初心者向け】AWS LambdaでPython Layerを作成して再利用性を高めよう!

AWS

はじめに

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 を関数に追加するだけで、インストールしたライブラリが使えるようになります。

設定方法

  1. Lambda 関数の設定画面を開く
  2. 「レイヤー」→「レイヤーの追加」
  3. 作成したレイヤーを選択・保存
Screenshot

注意点

  • Layer サイズ上限は 250MB(圧縮前)
  • Layersは5レイヤーまでアタッチ可能

まとめ

Lambda Layer を活用することで

  • 複数関数でのライブラリ再利用が可能
  • デプロイパッケージを小さく保てる
  • 開発と保守がシンプルに

AWS Lambda をもっと効率的に使いたい方は、ぜひ Layer を取り入れてみてください

参考リンク

AWS Lambda Layers 公式ドキュメント

コメント

タイトルとURLをコピーしました