環境
・ランタイム:python3.11
・アーキテクチャ:x86_64
現象
Numpyのレイヤーを適応して実行すると下記エラーが起きました。
[ERROR] Runtime.ImportModuleError: Unable to import module 'getComments_lamda': No module named 'numpy'
レイヤーにするzipファイルは下記コマンドで環境を合わせて作成しています。
Dockerコンテナ起動
docker run -it --name lambda-build amazonlinux:2023 bash
レイヤー用ディレクトリ作成
※ディレクトリ名は必ずpythonである必要がある。
mkdir -p /tmp/layer/python
必要なライブラリをインストール(python3.11)
python3.11 -m pip install numpy -t /tmp/layer/python
.zip化
zip -r9 /tmp/numpy_layer.zip python
解決
有志の方がKlayersというNumpy, pandasをはじめとしたライブラリをアップロードしており、それを使用するとうまくレイヤーをインポートすることができました。
GitHub - keithrozario/Klayers: Python Packages as AWS Lambda Layers
Python Packages as AWS Lambda Layers. Contribute to keithrozario/Klayers development by creating an account on GitHub.
まとめ
結局原因は不明ですが、私と同じようにNumpyインポートでハマっている多数の記事を発見しましたのでAWSの仕様的に難しいのかもしれません。
こちらの記事も NumPy 関連のトラブルについて触れていますが、ほかの記事にはあまり見られない“原因の核心部分”まで踏み込んだ内容だったので参考としてリンクを貼っておきます。
私の場合はこの記事を試してもエラーは解決しませんでしたが。。。

AWS LambdaでPython向けLayerを作ろうとしたらはまった話 - Qiita
AWS Lambda(Python)を使ってGoogle APIにアクセスしようとしたらライブラリではまった話です。 (Python初心者なので誤った記述があるかもしれません) 環境 開発環境用にEC2 Amazon Linux2 + Py...