vagrant - Packer + Vagrant - 从 ISO 创建 AMI

标签 vagrant iso amazon-ami packer

是否可以从 ISO 创建 AMI?

我正在实现一个构建系统,它使用基础 iso,修改它,安装东西,然后在 .ovf 和 A​​MI 中输出它。

.ovf 有效。但是对于 AMI,我能想到的只是它需要预先存在的 AMI。它是否正确?

有什么方法可以使用 iso 并生成 AMI?

谢谢。

最佳答案

当您从 ISO 中说您正在寻找创建受信任的基础虚拟机时。您想先在本地从头开始安装,然后将其作为受信任的私有(private) AMI 导入 ec2。如果您不介意使用 veewee,这里有一篇很棒的帖子,使用 veewee 而不是 packer:veewee这一切都是为 CentOS 设置的。您需要做的就是克隆它并针对您的用例进行调整。

但是由于您正在寻找像我一样的打包程序,那么您需要的是打包程序中的 virtualbox-iso 构建器和一些 aws-cli 命令来上传和从 OVA 中创建 AMI。不幸的是,Packer 没有为此提供后处理器。然后,您可以使用 vagrant 为基于 ec2 的开发引用新的 AMI,并使用 vagrant-aws 插件从您信任的基础 ami 中创建新的 ami。

以下是要遵循的步骤:

1.) 为图像导入创建一个 S3 存储桶。

2.) 设置您的 AWS 账户。创建“vmimport”IAM 角色和策略以及 X509 key 和证书对以防万一。您将需要它来注册私有(private) AMI。您还将为策略引用存储桶的名称。

3.) 使用 Packer 的 virtualbox-iso builder 用 VirtualBox 构建一个 VM,并让它输出一个 ova 格式的图像。

4.) 使用 aws-cli 和您的 aws 帐户将 OVA 上传到您创建的存储桶。 aws s3 cp命令。

5.) 将 OVA 注册为 ami。您将使用 aws ec2 import-image为此命令。 (这部分可能需要很长时间 30 分钟 - 1 小时)。

您可以通过以下方式跟踪进度:aws ec2 describe-import-image-tasks完成后,AMI 将出现在您的私有(private) AMI 列表中。

关于vagrant - Packer + Vagrant - 从 ISO 创建 AMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345118/

相关文章:

amazon-web-services - 使用 cli 将 ami 复制到不同的区域

amazon-web-services - 使用 Packer 启用的 imds v2 构建 AMI

python - 无法在 Vagrant 中使用 Virtualenv 导入模块

smartcard - 智能卡通信标准

java - 在 Java 中检查字符串是否是 ISO 语言的 ISO 国家/地区的更简洁方法

ubuntu - 如何使用 Amazon EC2 面板运行 GPU 实例?

mysql - Vagrant,如何在主机上访问/同步 phpmyadmin

windows - Vagrant:如何禁用 Windows 主机的 NFS 同步文件夹?

python-3.x - 这段 python 代码挂了我的整个系统,有人知道吗?

objective-c - 将 ISO 8601 转换为 NSDate