lambda
python2.7
paramiko

AWS LambdaでParamikoを使う際にエラー

デプロイパッケージ作成環境

デプロイ

以下を1つのzipにまとめる
- lib/python2.7/site-packages
- lib64/python2.7/site-packages
- その他実行に必要なファイル

発生したエラー

libffi-ce7fcc27.so.6.0.4が存在しないと言われる。

START RequestId: 41c696bf-d590-11e7-9db7-39e26d6c6a84 Version: $LATEST
Unable to import module 'handler': libffi-ce7fcc27.so.6.0.4: cannot open shared object file: No such file or directory

END RequestId: 41c696bf-d590-11e7-9db7-39e26d6c6a84
REPORT RequestId: 41c696bf-d590-11e7-9db7-39e26d6c6a84  Duration: 0.46 ms   Billed Duration: 100 ms     Memory Size: 128 MB Max Memory Used: 27 MB  

対処

該当のファイルは

lib64/python2.7/site-packages/.libs_cffi_backend/libffi-ce7fcc27.so.6.0.4

に存在している。このファイルをプロジェクトのルートに配置してデプロイ用zipを作成すればいい。

Lambdaの環境変数 LD_LIBRARY_PATH でデプロイパッケージ内のpathを追加する方法がわからなかった…