将 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 个新文件:package
,box-disk1.vmdk
,Vagrantfile
和 box.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
密钥文件附加到它,然后你就可以进入,你就可以了。