我们有大量的AWS EC2上托pipe的Ubuntu服务器。 许多这些服务器很less被访问,为了节约成本,我们现在想将这些服务器移到我们的本地站点,并在Amazon上终止它们。
大多数服务器都支持EBS,我们使用pipe理控制台为这些服务器创build了AMI映像。
我希望下载现有的AMI,然后使用这些映像在本地构build新的服务器,这样我们就不必从头重新安装应用程序堆栈和configuration。 1)这可能吗? 2)如何去下载这个AMI? (我希望能够从pipe理控制台以某种方式进行操作)。3)AMI如何改变以便能够用于安装?
我如何在本地运行Ubuntu EC2 AMI映像? 似乎提出了一个答案,但它链接到的文章包含不再可访问的重要链接。 这似乎也表明了一个相当复杂的过程。
https://forums.aws.amazon.com/message.jspa?messageID=204881似乎暗示有可能做到这一点,但并没有解释如何实际下载图像,而https:// stackoverflow.com/questions/5145286/boot-ec2-ebs-volume-locally表明这是不可能的。
从我在研究零碎中发现的事情来看,这并不容易。
要获取图像,可以拍摄一张快照,并将其挂载到一个正在运行的实例上,然后将内容复制到本地原始文件中,使用dd之类的东西。 然后断开与实例的卷,确认您有本地存储的映像,并删除EBS块。 如果您知道如何使用DD / compression / ssh传输映像并将其挂载为本地环回来检查原始磁盘映像,那么这一部分并不难。 教程是可用的。
困难的部分是让它启动。 根据实例的创build方式,看起来内核通常被剥离了Xen内核,所以他们可能会缺乏像VMWare这样的硬件支持。 您必须安装磁盘映像,并在修改启动pipe理器的同时安装更通用的内核。 由于亚马逊在处理虚拟networkingpipe理(DHCP分配,防火墙,路由)方面进行了一些调整,因此您也必须消除联网。
这一定是可能的; 有一些工具和教程可以将你自己的AMI上传到亚马逊云,只是在那里没有太多的如何去其他的方式。 当你搞清楚如何解开configuration麻烦的意大利面条的时候,你可能会更好,只是获得应用程序的依赖关系列表,并将configuration和安装依赖项作为一个新的本地机器。
底线…这可能是有可能的,在转换中可以采取另一种方式,但是除非熟练掌握Linux内核和configuration方面的技巧,否则可能会使用EC2实例作为模板从下往上重build。