我一直在尝试使用packer从Lambda创建AMI以便特定的用例。我正在使用bash自定义运行时环境。我下载了packer软件包并解压缩了它。
但是,当我尝试运行可执行文件时,Lambda会抛出退出状态1,并且错误信息也不太具体。我尝试通过以下几种方式来解决这个问题 -
但是,当我尝试运行可执行文件时,Lambda会抛出退出状态1,并且错误信息也不太具体。我尝试通过以下几种方式来解决这个问题 -
- 将packer目录路径添加到$PATH中,但我无法源. profile或.bashrc,它说它们不存在。
- 尝试向Lambda添加包含packer可执行文件的层,仍然无法解决问题。
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语句吗?
有人遇到过类似情况吗?任何线索都会有所帮助。
提前感谢您的帮助 :)
curl
命令后面看起来像是一个错误。许多无服务器框架允许使用Docker镜像。AWS Lambda是否允许使用Hashi Packer镜像,还是在这种功能上仍然落后?你可以直接跳到packer validate
这一步。 - Matt Schuchardbash -x
以获取命令跟踪输出)? - wjordan