こんにちは、株式会社エヌ・エイ・シー・ケア システムインテグレーション事業部です。
今回はAWS CloudShellを使用したLambdaのカスタムレイヤー登録方法についてご紹介いたします。
AWS CloudShellは、ブラウザでAWSリソースを簡単に操作できるシェル環境です。
ツールのインストールや設定が不要で、AWSコンソールにログインするだけで、すぐに作業を開始できます。
AWS CloudShell
AWS Lambdaレイヤー(Lambda Layers)とは、Lambda関数で使用するライブラリや依存関係、カスタムコードを独立した形で管理・共有するための機能です。
レイヤーを使うことで、Lambda関数内で重複するコードや依存関係を複数の関数で再利用でき、デプロイパッケージを軽量化したり、管理を効率化することができます。
レイヤーには、あらかじめAWSによって提供されるレイヤーと、ユーザーが自分自身で作成するカスタムレイヤーがあります。
レイヤーによる Lambda 依存関係の管理
今回はPythonのrequestsライブラリを使用します。
Lambdaで使うためのカスタムレイヤーを作成する手順は以下の通りです。
まず、Lambda用のカスタムレイヤーを作成するため、必要なライブラリをインストールします。
CloudShell内で以下のコマンドを実行して、requestsライブラリをインストールします。
$ mkdir my-layer
$ cd my-layer
$ mkdir python
$ pip install requests -t python/
これで、requestsライブラリがインストールされました。
次に、インストールしたライブラリをZIPファイルに圧縮します。
このファイルがLambdaにアップロードするカスタムレイヤーになります。
$ zip -r my-layer.zip python/
次に、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
最後に、作成したカスタムレイヤーを既存の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は、インストール不要で、ブラウザだけでクラウド作業を行える点が大きな魅力です。
ぜひ試してみてください。