bash - 从 AWS Lambda 创建 AMI

标签 bash amazon-web-services aws-lambda packer

我一直在尝试使用 packer 从 Lambda 为特定用例创建 AMI。我正在使用 bash 自定义运行时环境。我拉了加壳包,解压了。

但是当我尝试运行可执行文件时,Lambda 以退出状态 1 将我抛出并且该错误也不是描述性的。我尝试通过几种方式解决此问题-

  1. 将加壳程序目录路径添加到 $PATH,但我无法获取 .profile 或 .bashrc,它说它们不存在。

  2. 尝试向 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/

相关文章:

php - AWS S3 : Image resize using lambda in laravel 5. 3

lambda - AWS Lambda 可以运行多个特定的 cron 作业吗?

linux - 在linux中合​​并两个md5文件

linux - bash 脚本中的这个 if 语句有什么作用?

angularjs - 如何在不知道Content-Type的情况下生成AWS S3预签名URL请求?

android - 使用 Amazon Device Farm 或类似工具检查浏览器

python - 使用 AWS Lambda 从 S3 读取 csv 并插入到 MySQL 表中

java - 开发 AWS Lambda 函数时无法理解要使用哪个 Java SDK

bash - 删除名称中带有 ^M 的文件夹

bash - 环境变量不在父 shell 中持久化