在亚马逊宣布新的基于EBS的AMI后 ,我想知道是否可以创build不基于现有Fedora / Windows AMI的AMI。 该文件说:
最简单的方法包括从现有的公共AMI开始并根据您的要求进行修改。 这适用于Amazon EBS支持的和Amazon S3支持的AMI,在“从现有的AMI开始”中进行了描述。
另一种方法是在独立的机器上或通过环回安装的空文件系统上构build新的安装。 这仅适用于Amazon S3支持的AMI,需要从头开始构build操作系统安装。
这听起来像所有未来的AMI必须基于现有的AMI,但这将是非常有限的。 我是否正确理解这一点,或者是否有其他方法来创build不基于现有AMI的方法? 我会对创buildUbuntu AMI感兴趣。
对于Ubuntu尤其是你可以尝试这些说明http://alestic.com/2010/01/vmbuilder-ebs-boot-ami 。
下面是我用来构build一个使用可下载的Ubuntu服务器文件系统作为基础的Git / gitolite服务器AMI的脚本:
https://github.com/alestic/alestic-git/blob/master/bin/alestic-git-build-ami
以下是关于EC2的Alestic Git服务器项目的更多信息:
http://alestic.com/alestic-git/
我在Alestic.com上写过的vmbuilder-ebs-boot-ami文章现在已经过时了。
AMI不一定要以现有的AMI为基础,但是从EC2创build一个AMI是错综复杂的,因为它为您提供了一个远程访问和硬件configuration的计算机,但没有控制台input。
这里的技巧是如果ISO镜像包含引导扇区,则可以直接从硬盘引导。 另外,新OS的安装需要完全自动化,因为在安装程序运行时您将无法与控制台交互。
您将需要使用三个EBS磁盘,并切换哪些磁盘:开发,安装程序和最终结果。
我使用这种方法为Linux Mint 18.2创build了一个AMI(从Amazon AMI Linux开始),详细描述如下。