Blog ブログ
2025.03.25

【お役立ち情報】AWS CloudShellを使用したLambdaのカスタムレイヤー登録のご紹介

お役立ち情報

はじめに

こんにちは、株式会社エヌ・エイ・シー・ケア システムインテグレーション事業部です。
今回はAWS CloudShellを使用したLambdaのカスタムレイヤー登録方法についてご紹介いたします。

AWS CloudShellとは

AWS CloudShellは、ブラウザでAWSリソースを簡単に操作できるシェル環境です。
ツールのインストールや設定が不要で、AWSコンソールにログインするだけで、すぐに作業を開始できます。
AWS CloudShell

AWS Lambdaレイヤーとは

AWS Lambdaレイヤー(Lambda Layers)とは、Lambda関数で使用するライブラリや依存関係、カスタムコードを独立した形で管理・共有するための機能です。
レイヤーを使うことで、Lambda関数内で重複するコードや依存関係を複数の関数で再利用でき、デプロイパッケージを軽量化したり、管理を効率化することができます。

レイヤーには、あらかじめAWSによって提供されるレイヤーと、ユーザーが自分自身で作成するカスタムレイヤーがあります。
レイヤーによる Lambda 依存関係の管理

Lambdaのカスタムレイヤー登録

今回はPythonのrequestsライブラリを使用します。
Lambdaで使うためのカスタムレイヤーを作成する手順は以下の通りです。

1. カスタムレイヤーの準備

まず、Lambda用のカスタムレイヤーを作成するため、必要なライブラリをインストールします。
CloudShell内で以下のコマンドを実行して、requestsライブラリをインストールします。

$ mkdir my-layer
$ cd my-layer
$ mkdir python
$ pip install requests -t python/


これで、requestsライブラリがインストールされました。

2. レイヤーをZIP化

次に、インストールしたライブラリをZIPファイルに圧縮します。
このファイルがLambdaにアップロードするカスタムレイヤーになります。

$ zip -r my-layer.zip python/

3. カスタムレイヤーのアップロード

次に、AWS CLIを使ってLambdaにカスタムレイヤーをアップロードします。
以下のコマンドを実行することで、my-custom-layerという名前でレイヤーがAWSに登録されます。

$ aws lambda publish-layer-version \
–layer-name my-custom-layer \
–zip-file fileb://my-layer.zip \
–compatible-runtimes python3.12

4. Lambda関数へのレイヤー追加

最後に、作成したカスタムレイヤーを既存のLambda関数に追加します。
以下のコマンドを実行して、my-lambda-functionというLambda関数にrequestsライブラリを使えるように設定します。

$ aws lambda update-function-configuration \
–function-name my-lambda-function \
–layers arn:aws:lambda:us-west-2:123456789012:layer:my-custom-layer:1

これで、my-lambda-functionにrequestsライブラリを使うためのカスタムレイヤーが追加されました。


最後に

簡単にご紹介させていただきましたが、いかがでしたでしょうか。
AWS CloudShellを使う最大の利点は、その手軽さと効率性です。
従来の開発や管理作業では、ローカル環境にツールをインストールしたり、AWS CLIの設定を行ったりする手間がかかりました。
AWS CloudShellは、インストール不要で、ブラウザだけでクラウド作業を行える点が大きな魅力です。
ぜひ試してみてください。