インフラ設計

LamdaでPhtyonのレイヤ設定の注意点!!上手くレイヤが機能しない場合のポイント!!

LamdaのPhtyonは、ライブラリがあるようでありません。
例えばrequestsとかpandaとかです。

AWS側で用意してくれないライブラリについては、ユーザ側でレイヤとして用意する必要があります。

今回は、私がこのレイヤ設定で失敗したポイントを2つご紹介。
両方とも理由はしょぼいです。

ケース1:Phtyonのバージョンが違う

私は、S9を使って普段開発しています。
ってきり、S9 のPhtyonは3.8かと思っていました。
そのため、S9でライブラリをzipにして、Lamdaでレイヤ登録。

Lamdaの実行をPhtyon3.8にしたら上手くレイヤが機能しませんでした。

原因はS9のPhtyonが3.7だったことが原因。
理由はしょぼいですが、ちゃんと環境チェックを事前にすべしとの教訓になりました。

S9のPhtyonは、python --version コマンドで確認しましょう。

レイヤがうまく起動しなかったらpython --versionでバージョン確認しましょう。


ケース2:Zipの中身のフォルダ名がpython じゃない。

これはLamdbaの謎仕様が原因。

Lamdbaにレイヤをあげる場合は、ZIpで固めます。
問題は、Zipの中身のフォルダ名がpython であることが必須なことです。

本当に頭にきます。
というか仕様確認漏れです。

複数のレイヤを用意したので、ライブラリ名でフォルダを作成していたら動きませんでした。

こちらも基本中の基本ですが、引っかかってしまいました。


まとめ

二つとも仕方のない事例ですが、ひっかかるとイライラするもの。
こんなことで開発が滞らないように注意しましょう。

created by Rinker
¥400 (2024/10/13 03:51:36時点 Amazon調べ-詳細)
  • この記事を書いた人

marusuke1216

30代のシステムエンジニア。 インフラ関連の案件中に従事している。 資格は、ネットワークスペシャリスト、PMO等を保有。

-インフラ設計