Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将本地Vagrant package.box上载到AWS_Amazon Web Services_Amazon Ec2_Vagrant - Fatal编程技术网

Amazon web services 将本地Vagrant package.box上载到AWS

Amazon web services 将本地Vagrant package.box上载到AWS,amazon-web-services,amazon-ec2,vagrant,Amazon Web Services,Amazon Ec2,Vagrant,所以,在过去的一个月里,我一直在本地一个流浪的ubuntu盒子里工作:我花了很多时间来定制它,并在上面安装我想要的所有软件。这一切都是我通过普通的流浪汉开始的(也就是说,没什么特别的)。我将我的本地流浪者箱放入一个package.box文件中。现在,我想将我的开发环境(例如,package.box文件)移动到AWS上的AmazonEC2实例。我知道我不应该要求软件推荐,但我的问题基本上是:这可能吗?如果可能,你能给我举一些人们这样做的例子吗?我已经读到这可能是一个选择,但在我看来(一个非常缺乏经

所以,在过去的一个月里,我一直在本地一个流浪的ubuntu盒子里工作:我花了很多时间来定制它,并在上面安装我想要的所有软件。这一切都是我通过普通的流浪汉开始的(也就是说,没什么特别的)。我将我的本地流浪者箱放入一个
package.box
文件中。现在,我想将我的开发环境(例如,
package.box
文件)移动到AWS上的AmazonEC2实例。我知道我不应该要求软件推荐,但我的问题基本上是:这可能吗?如果可能,你能给我举一些人们这样做的例子吗?我已经读到这可能是一个选择,但在我看来(一个非常缺乏经验的观点),也许我应该从那开始,而不是现在就尝试使用它。任何帮助都将不胜感激——我不想在本地建立一个新环境的时候花几个星期来建立一个新环境

编辑

进步!我遵循@error2007s链接并遵循教程。我已经将VMDK映像上载到s3并使用它配置了一个实例(所有操作都是通过CLI上的
ec2 import instance
命令自动完成的)。但是,在启动新实例后,我看不到可以访问它的公共IP。
我认为这与
cloudinit
有关,但我不确定这到底是什么。我用盒子附带的
/etc/cloud/cloud.cfg
文件和列出的文件都试过了,我上传的两个盒子都没有给我一个公共IP来访问

编辑2

以下是我在控制台中看到的一些东西(它们在我看来都是对的,但经验丰富的眼睛可能会看到一些错误):

子网信息:

自动分配公共IP:是

网络ACL:

专有网络信息:

DNS解析:是

DNS主机名:是

ClassClink DNS支持:否

VPC CIDR:172.31.0.0/16

DHCP选项集:

选项:域名=ec2。内部域名服务器=AmazonProvidedDNS

从我的角度来看,这些看起来都不错,还是我遗漏了什么?

我为每个用户分配了一个弹性IP,但当我
ssh ec2 user@
时,它会显示
ssh:connect to host port 22:Connection-seeded
。分配给实例的安全组设置为允许所有端口上的所有协议。此外,这是我第一次遇到弹性IP,我不确定它到底在做什么。

Amazon允许您将Vm作为EC2实例传输到AWS。检查本教程,这更简单


您想使用此处找到的流浪AWS提供商:

这是一个Vagrant 1.2+插件,它向Vagrant添加了一个AWS提供程序, 允许流浪者控制和提供EC2和VPC中的机器

这将允许您使用Vagrant配置AWS实例,从而允许您将相同的本地开发环境迁移到AWS EC2实例

这里有一个很好的教程:


您好,我找到了这些文章,但我自己还没有测试过。我仍然在整理我的个人笔记和识别我的技术堆栈。我打算将Homestead vagrant box复制为EC2实例,因此我不必手动配置实例

我发现他们的做法相似。我唯一担心的是“流浪者添加框”部分


我问自己,如果为了熟悉起见我不得不再次进行此设置,会发生什么情况,因为我之前已经添加了一个vagrant框(如教程中所述,是虚拟框)。

当您将本地服务器移动到AWS时,您是否希望继续依赖vagrant访问EC2实例?可能,可能不是。我想我想要的是在amazon上注册一个AMI,从那时起,我将能够使用vagrant轻松地使用它(正如@rodrigo-m在下面指出的)。我目前正在按照您的答案中的说明进行操作,我们将看看它是否有效。一个好的模式是在开发中以及将实例推送到EC2时继续使用Vagrant。这样,您就不必预烘焙AMI,也不必随意配置选项。一旦配置了AWS提供程序,您当然可以保存AMI映像。您是在VPC中启动的吗?检查您的子网设置以重新分配公共IP。确保子网本身是公共的。如果需要的话,分配一个弹性IP。是的,我以前发现过。根据我的理解,这是为了开始使用vagrant+AWS。下次我从头开始的时候,我会记住这一点,我认为这无关紧要。将6-10字段添加到现有的vagrant文件中,然后
vagrant up--provider=aws
就有了一个工作实例。如果需要,从那里创建一个AMI。