我一直在尝试使用 packer 从 Lambda 为特定用例创建 AMI。我正在使用 bash 自定义运行时环境。我拉了加壳包,解压了。
但是当我尝试运行可执行文件时,Lambda 以退出状态 1 将我抛出并且该错误也不是描述性的。我尝试通过几种方式解决此问题-
将加壳程序目录路径添加到 $PATH,但我无法获取 .profile 或 .bashrc,它说它们不存在。
尝试向 Lambda 添加带有加壳程序可执行文件的层,但仍然无济于事。
代码-
echo "Installing Packer..."
curl -qL -o packer.zip https://releases.hashicorp.com/packer/1.1.1/packer_1.1.1_linux_amd64.zip
echo "Unzipping Packer"
unzip packer.zip
echo "Changing permissions on packer"
chmod 777 ./packer
echo "Running Packer Validate"
./packer validate ${LAMBDA_TASK_ROOT}/packer.json
Lambda 控制台日志 -
% Total % Received % Xferd Average Speed Time Time
Time Current Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 15.8M 100 15.8M 0 0 48.3M 0 --:--:-- --:--:-- --:--:-- 49.2M
END RequestId: 14cb72cf-c7ff-4a4d-a1c1-99d145395aef
REPORT RequestId: 14cb72cf-c7ff-4a4d-a1c1-99d145395aef Init
Duration: 61.04 ms Duration: 5623.92 ms Billed Duration: 5700 ms Memory Size: 1408 MB Max Memory Used: 274 MB
RequestId: 14cb72cf-c7ff-4a4d-a1c1-99d145395aef Error: Runtime
exited with error: exit status 1
Runtime.ExitError
附带说明一下,是否可以采取任何措施使 lambda 日志更具描述性?如果执行失败,它甚至不打印 echo 语句?
有没有人遇到过这种情况?任何线索都会有所帮助。
在此先感谢您的帮助:)
最佳答案
不要尝试在 Lambda 中运行 Packer,使用 AWS ECS Fargate 并运行 official docker image .
关于bash - 从 AWS Lambda 创建 AMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55113982/