カテゴリ: AWS Lambda 更新日: 2025/10/27

【AWS入門】Lambdaのレイヤー(Layer)とは?使い方・作成・活用例を初心者向けに徹底解説

265
【AWS】Lambdaのレイヤー(Layer)とは?使い方・作成・活用例まとめ

先生と生徒の会話形式で理解しよう

生徒

「先生、AWS Lambdaで使うレイヤーってなんですか?なんだか難しそうで…」

先生

「いい質問ですね。Lambdaレイヤーは、共通のライブラリやコードを再利用できる便利な仕組みです。」

生徒

「共通のライブラリって、たとえばどういうものですか?」

先生

「例えば、Pythonで書いたLambda関数に外部ライブラリを使いたいとき、そのライブラリをレイヤーにしておけば、他の関数でも共通して使えるようになります。」

生徒

「なるほど!それじゃあ、Lambdaレイヤーの使い方を詳しく教えてください!」

1. AWS Lambdaレイヤーとは?

1. AWS Lambdaレイヤーとは?
1. AWS Lambdaレイヤーとは?

AWS Lambdaレイヤー(Layer)とは、関数の実行環境に外部ライブラリや共通コードを追加するための仕組みです。複数のLambda関数で同じライブラリや共通モジュールを使うとき、毎回関数内に埋め込むのではなく、レイヤーとして切り出しておくことで再利用性が高まり、保守性も向上します。

例えば、Pythonでrequestsライブラリを使う場合や、JavaScriptで共通のヘルパーモジュールを使う場合に便利です。

2. Lambdaレイヤーの主な用途

2. Lambdaレイヤーの主な用途
2. Lambdaレイヤーの主な用途

Lambdaレイヤーの代表的な用途には以下があります:

  • PythonやNode.jsの外部ライブラリの共有
  • JavaのJARファイルや依存関係の共有
  • 共通の設定ファイルやユーティリティ関数の利用
  • サードパーティ製のSDKやツールの適用

チーム開発において、共通の開発環境やコードベースを複数のLambda関数で効率的に活用できるのが特徴です。

3. Lambdaレイヤーの作り方

3. Lambdaレイヤーの作り方
3. Lambdaレイヤーの作り方

LambdaレイヤーはZIP形式で作成します。以下はPythonの外部ライブラリをレイヤー化する例です。

ステップ1:ディレクトリ構成を作成

mkdir -p python
pip install requests -t python/
zip -r layer.zip python
ステップ2:レイヤーを作成(マネジメントコンソール)

AWSコンソールで「レイヤーの作成」を選び、ZIPファイルをアップロードします。ランタイムには、Python3.9やNode.jsなど関数で使う言語を選びましょう。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. Lambda関数にレイヤーを追加する方法

4. Lambda関数にレイヤーを追加する方法
4. Lambda関数にレイヤーを追加する方法

レイヤーを作成したら、次にLambda関数に追加します。

  • AWS Lambdaの関数設定画面を開く
  • 「レイヤーを追加」をクリック
  • 作成済みのレイヤーとバージョンを選択
  • 保存

これで関数からレイヤーのライブラリやコードを読み込めるようになります。

5. Lambdaレイヤーを活用するメリット

5. Lambdaレイヤーを活用するメリット
5. Lambdaレイヤーを活用するメリット

Lambdaレイヤーを使うことで得られるメリットは多くあります:

  • 関数コードを軽量化できる
  • 共通ライブラリのアップデートが一括で可能
  • コードの重複を防ぎ、バージョン管理がしやすくなる
  • Lambdaの最大パッケージサイズ制限(250MB)を回避しやすくなる

6. Lambdaレイヤーの使用上の注意点

6. Lambdaレイヤーの使用上の注意点
6. Lambdaレイヤーの使用上の注意点

便利なLambdaレイヤーですが、いくつか注意点もあります:

  • 最大5個までしか関数に追加できない
  • レイヤーのアップデートにはバージョンを新たに作成する必要がある
  • ランタイムバージョンの整合性に注意

レイヤーと関数のランタイムが一致しないと、動作しない可能性があるため、常に対象ランタイムの確認をしましょう。

7. Lambdaレイヤーの活用例:Node.jsと共通モジュール

7. Lambdaレイヤーの活用例:Node.jsと共通モジュール
7. Lambdaレイヤーの活用例:Node.jsと共通モジュール

以下は、Node.jsで共通のログ出力処理をレイヤーにした例です。


// logger.js
exports.log = (message) => {
    console.log(`[LOG] ${message}`);
};

このlogger.jsをZIPでレイヤーにし、Lambda関数側で以下のように使います。


const logger = require('/opt/logger');

exports.handler = async (event) => {
    logger.log("Lambda関数が呼び出されました");
};

/opt/はレイヤーがマウントされるパスです。Node.jsやPythonでも共通で使えます。

8. Lambdaレイヤーを活用するためのベストプラクティス

8. Lambdaレイヤーを活用するためのベストプラクティス
8. Lambdaレイヤーを活用するためのベストプラクティス
  • レイヤー名とバージョン管理を明確にする
  • レイヤー単位での権限(IAM)管理を徹底する
  • 本番・開発環境で異なるレイヤーを使用し分離する

これらを意識することで、AWS Lambdaの開発や運用がスムーズになり、チーム全体の生産性も向上します。

AWS Lambdaの一覧へ
新着記事
Java の HashMap から特定のキーや値を検索する(containsKey, containsValue)
JavaのHashMapでキーや値を検索する方法を完全解説 containsKeyとcontainsValueの使い方入門
Flutterのリスト表示を学ぼう!ListView・GridViewの使い方
Flutterのリスト表示をマスター!初心者向けListView・GridViewの使い方完全ガイド
Java の HashMap を作成してデータを追加・取得する方法
JavaのHashMapの使い方を完全解説!初心者でもわかる作成・追加・取得の基本
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503など】
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503などを徹底解説】
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク