所以,我过去一个月一直在一个流浪汉的ubuntu盒子里工作:我花了很多时间来定制它并安装我想要的所有软件。我通过正常的流浪者tutorial开始了所有这一切(也就是说,没什么特别的)。我packaged将我当地的流浪者信箱放入package.box
文件中。 现在,我想将我的开发环境(例如package.box
文件)移动到AWS上的Amazon EC2实例。我知道我不应该要求软件推荐,但我的问题基本上是:这可能吗,如果是的话,你可以指点我做一些人的例子吗?我已经读过packer可能是一个选项,但它看起来对我(一个非常缺乏经验的观点)可能我应该启动而不是现在尝试使用它。任何帮助将不胜感激 - 当我在当地设置一个新环境时,我不想花费几周时间。
修改:
进展!我按照@ error2007s链接并按照教程进行操作。我已经将VMDK映像上传到s3并使用它配置了一个实例(所有这些都是使用CLI上的ec2-import-instance
命令自动完成的)。但是,在我启动后,我没有看到公共IP来访问新实例
我认为这与cloud-init
以某种方式有关,但我不确定那是什么。我用盒子附带的/etc/cloud/cloud.cfg
文件以及列出的here文件试了一下,我上传的两个盒子都没有给我一个公共IP来访问。
编辑2 :
以下是我在控制台中看到的一些内容(它们对我来说都是正确的,但更有经验的眼睛可能会看到错误):
子网信息:
Auto-assign Public IP: yes
VPC信息:
DNS resolution: yes
DNS hostnames: yes
ClassicLink DNS Support: no
VPC CIDR: 172.31.0.0/16
DHCP选项集:
Options: domain-name = ec2.internal domain-name-servers = AmazonProvidedDNS
从我的角度来看,那些看起来都是对的,还是我错过了什么?
我按these instructions分配了一个弹性IP,但是当我ssh ec2-user@<elastic-ip>
时,它会显示ssh: connect to host <elastic-ip> port 22: Connection refused
。分配给实例的安全组设置为允许所有端口上的所有协议。此外,这是我第一次遇到弹性IP,我不确定它究竟在做什么。
答案 0 :(得分:0)
亚马逊允许您将Vm作为EC2实例转移到AWS。查看本教程,这更简单。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingVirtualMachinesinAmazonEC2.html
答案 1 :(得分:0)
您想使用此处的Vagrant AWS提供商:
https://github.com/mitchellh/vagrant-aws
这是一个Vagrant 1.2+插件,可为Vagrant添加AWS提供程序, 允许Vagrant在EC2和VPC中控制和配置机器。
这将允许您使用Vagrant配置您的AWS实例,允许您将相同的本地开发环境迁移到AWS EC2实例。
这里有一个很好的教程:
https://nurmrony.wordpress.com/2015/03/15/vagrant-deploy-and-provisioning-an-amazon-ec2-instance/
答案 2 :(得分:0)
嗨,我找到了这些文章,但是我自己还没有对其进行测试。我仍在整理我的个人笔记并确定我的技术堆栈。我打算将Homestead流浪者盒子复制为EC2实例,因此我不必手动配置实例。
https://nurmrony.wordpress.com/2015/03/15/vagrant-deploy-and-provisioning-an-amazon-ec2-instance/
https://www.tothenew.com/blog/using-vagrant-to-deploy-aws-ec2-instances/
https://foxutech.com/how-to-deploy-on-amazon-ec2-with-vagrant/
https://blog.scottlowe.org/2016/09/15/using-vagrant-with-aws/
https://devops.com/devops-primer-using-vagrant-with-aws/
我发现他们的方法相似。我唯一担心的是“无用的添加框”部分。
我问自己,为了熟悉起见,如果我不得不再次进行此设置怎么办?自从我之前已经添加了一个无用的盒子(按照教程中的说明)后,会发生什么。