如何获取要在自定义Ubuntu 18.04 AMI上执行的用户数据?

时间:2018-12-04 15:23:42

标签: ubuntu amazon-ec2 terraform packer cloud-init

我已经基于Canonical的官方Ubuntu 18.04 AMI使用Packer创建了一个自定义AMI,并使用Packer安装了Nginx,但是在部署由Packer生成的AMI时,我无法让用户数据执行。

以下是我在Packer构建中执行的shell命令:

"provisioners": [ { "type": "shell", "inline": [ "sudo apt-get update", "sudo apt-get upgrade -y", "sudo apt-get install nginx -y", "sudo rm -f /var/log/cloud-init.log", "sudo rm -f /var/log/cloud-init-output.log", "sudo rm -rf /var/lib/cloud/*", "sudo cloud-init init", "sudo cloud-init modules -m final" ] } ]

我尝试删除最后的2条命令,但这似乎没有任何作用。

1 个答案:

答案 0 :(得分:-1)

我们尝试了这种方法,并且在计算机启动时无法运行自定义脚本。我假设您正在使用Terraform / Ansible / Cloudformation来配置资源。我们将用户数据脚本移动到了terraform脚本(也可以在Ansible中完成),以配置基础结构并分配AMI。它对我们有用。