运行 从 centos 7 创建的自定义 EC2 AMI 上的用户数据
Run userdata on custom EC2 AMI created from centos 7
我使用 https://aws.amazon.com/marketplace/pp/B00O7WM7QW 提供的 ami-3ecc8f46
。
如果我直接使用此 AMI,并指定一个用户数据脚本,例如:
#!/bin/bash
echo "Hello from userdata!"
.. commands
然后一切正常,命令 运行。但是,我想制作一个自定义 AMI,即这个 centos7 AMI + 一些软件包。
例如,我想要一个 ami-3ecc8f46
实例,安装 python 3.7,并将其重新映像为自定义 AMI。当我这样做时,用户数据不再 运行s,并且 curl http://169.254.169.254/latest/user-data
returns 404 错误。
不幸的是,ec2/userdata/cloudinit 的某种组合似乎已将此实例标记为已经 运行 一次,因此无需再提供或 运行 用户数据。采用自定义 CentOS AMI、在顶部安装一些软件包并重新映像为自定义 AMI 的最简单方法是什么,它仍然会 运行 我的用户数据脚本?
要创建自定义 AMI,您可以使用 Packer。
将自定义 AMI 的构建定义为代码 (Infrastructure as Code) 具有优势。用户数据将能够 运行 在该自定义 AMI 中。
另请参阅 existing issue 上的其他解决方案。
我使用 https://aws.amazon.com/marketplace/pp/B00O7WM7QW 提供的 ami-3ecc8f46
。
如果我直接使用此 AMI,并指定一个用户数据脚本,例如:
#!/bin/bash
echo "Hello from userdata!"
.. commands
然后一切正常,命令 运行。但是,我想制作一个自定义 AMI,即这个 centos7 AMI + 一些软件包。
例如,我想要一个 ami-3ecc8f46
实例,安装 python 3.7,并将其重新映像为自定义 AMI。当我这样做时,用户数据不再 运行s,并且 curl http://169.254.169.254/latest/user-data
returns 404 错误。
不幸的是,ec2/userdata/cloudinit 的某种组合似乎已将此实例标记为已经 运行 一次,因此无需再提供或 运行 用户数据。采用自定义 CentOS AMI、在顶部安装一些软件包并重新映像为自定义 AMI 的最简单方法是什么,它仍然会 运行 我的用户数据脚本?
要创建自定义 AMI,您可以使用 Packer。
将自定义 AMI 的构建定义为代码 (Infrastructure as Code) 具有优势。用户数据将能够 运行 在该自定义 AMI 中。
另请参阅 existing issue 上的其他解决方案。