将 Vagrant Box 图像上传到 Amazon AWS AMI

你有一个要上传到 Amazon AWS 的本地流浪者框。首先,你需要创建一个 .box 文件:

vagrant package --base my-virtual-machine

此步骤需要一段时间,具体取决于图像的大小。然后,你需要从 .box 文件中获取 .vmdk 图像:

gunzip -S .box package.box
tar xf package

完成此步骤后,你应该有 4 个新文件:packagebox-disk1.vmdkVagrantfilebox.ovf。现在,上传到 AWS。假设你拥有 AWS 账户 ,请创建一个 S3 存储桶以将图像存储在 Amazon 的服务器上。你将需要亚马逊的 EC2 CLI进行下一步(据我所知,你无法通过控制台执行此操作):

ec2-import-instance box-disk1_1.vmdk -f VMDK -t t2.micro -a x86_64 -b <S3-bucket-name> -o $AWS_ACCESS_KEY -w $AWS_SECRET_KEY -p Linux

此命令的结果应该需要一段时间 - 它将大图像文件上传到 S3,但命令本身返回的速度更快。你可以使用 ec2-describe-conversion-tasks 命令检查导入的进度。

完成后,你将在 AWS 控制台中看到你的盒子的实例正在运行。但是,你可能无法访问它,因为它没有公共 IP 地址和/或没有与之关联的 .pem 文件。因此,下一步是从实例创建 AMI。要创建 AMI,请停止实例(不要终止!)并右键单击实例并转到 Image-> Create Image。这也需要一段时间。你可以在控制台的 AMI 视图中查看进度。一旦完成,使用 AMI 启动一个实例,将一个 .pem 密钥文件附加到它,然后你就可以进入,你就可以了。