Lambda レイヤーの使い方

Lambda

はじめに

フェイス・ソリューション・テクノロジーズ株式会社 IS 本部 OS ユニットの Saitoです。
前回の記事で、AWS Lambda 上にLINE bot 用の関数を設定しました。その際、ライブラリを関数のデプロイパッケージ内にアップロードしていました(画像赤枠)。

これでも問題なく動きますが、
同じライブラリを使った別の関数を作成するときに再度アップロードするのは面倒ですし、コードのストレージの無駄遣いになります。
また、サイズの大きなライブラリをアップロードしてデプロイパッケージの合計が3MBを超えた場合、コンソールエディタが使えなくなります。
(ちなみにLINE botの記事で利用したライブラリline-bot-sdk-pythonはzip圧縮したサイズが2.89MBでギリギリセーフでした。)
Lambda レイヤーを使えば、これらの不満を解決できます。

Lambdaレイヤーを実際にやってみる

ローカルでLambdaレイヤーを作成する

まず、レイヤー用にアップロードするzipを用意します。
Lambdaの実行環境は /opt ディレクトリ上にあり、レイヤーは /opt/python/ ディレクトリに置く必要があります。そのためzip化する際は、ライブラリを入れたpythonディレクトリを圧縮します。
→ 

Lambdaレイヤーをアップロードする

Lambda コンソールより「レイヤーの作成」に進みます。

さきほどzip化したライブラリをアップロードしてレイヤーを作成します。

Lambda関数にレイヤーを追加する

関数にレイヤーを追加します。

これで、デプロイパッケージをスッキリさせつつ、同様にlambda関数を実行できるようになりました。

実行結果

レイヤーに移動する前と同様に動いています。

プロフィール
この記事を書いた人
Saito

三度のメシより一度のラーメン

Saitoをフォローする
フェイスでは一緒に働く仲間を募集しています

フェイス・ソリューション・テクノロジーズ株式会社では、一緒に働いてくれる仲間を募集しています。
いろいろな案件があるので、いろいろなことに挑戦できる会社です。
「面白いこと」に積極的なので、あなたの「面白そうなことだからやってみたい」を形にできるチャンスがあります!

Lambda
フェイススタッフブログ

コメント

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