为没有EBS支持的EC2实例创建AMI有什么意义?

时间:2015-08-01 20:24:09

标签: amazon-web-services amazon-ec2

我打算在我的EC2实例上安装一堆东西(不支持EBS,只是实例存储),然后从中创建和AMI。

但文件说:

  

如果从实例创建AMI,则其实例存储中的数据   卷不会保留,并且不存在于实例存储中   从AMI启动的实例卷。

因此,如果我安装php,nginx并使用composer(php依赖管理器)来安装更多东西,然后在我的EC2实例上创建一个AMI它不会起作用,因为实例存储卷上的数据没有保留?好像我在这里误解了一些东西:)

2 个答案:

答案 0 :(得分:2)

“实例存储卷上的数据” - 实例存储卷==附加到设备的卷(不包括根设备)

实例的根设备上的数据将成为AMI的一部分,但是如果附加了实例存储卷(或EBS),实例存储卷/ EBS卷上的数据将成为AMI的一部分。

虽然EBS卷不会成为AMI的一部分 - 但重要的是要注意,与实例存储卷不同,存储在EBS 上的数据即使在原始实例之后也可用于其他实例(由于EBS是独立的,可以分离并重新连接到不同的实例,因此AMI的创建已经消失了。

答案 1 :(得分:0)

是的,您可以自定义基于实例的根卷并创建该自定义根卷的AMI。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html

  

首先,从AMI启动一个与您想要创建的AMI类似的实例。您可以连接到您的实例并进行自定义。当实例按您希望的方式设置时,您可以将其捆绑。捆绑过程需要几分钟才能完成。在该过程完成之后,您有一个包,其中包含图像清单(image.manifest.xml)和包含根卷模板的文件(image.part.xx)。接下来,将捆绑包上传到Amazon S3存储桶,然后注册AMI。