我很高兴听到EBS支持的AMI,但我很困惑。 它似乎并不持久。
我使用亚马逊的Linux EBS支持的AMI创build了EC2实例。 我更新并添加了http服务器和python。 我注意到EBS AMI已被添加到EBS卷。 然后,我终止了EC2实例,继续我的工作,一旦我终止,一切都消失了。 EBS卷和我所做的所有更改。 困惑为什么EBS量不见了? 这是如何持久?
然后我又在上面做了同样的事情。 这次我在创build并注册AMI之前closures它。 但是创build新的AMI后每次更新都会丢失。
每次我更新文件或其他configuration,我不想注册并创build一个新的AMI。 这似乎乏味和低效。 为什么他们打电话给这个EBS,如果一切都在终止实例后丢失? 难道我做错了什么? 是否有可能创build一个持续的AMI,而无需每次更新文件时都要注册新的映像?
默认情况下,EC2实例“终止”会自动删除所有使用实例自动创build的EBS卷,但可以更改。 默认情况下,删除实例开始运行后附加的EBS卷,这也可以更改。
这里有一篇关于如何用EBS启动实例保护重要数据的文章:
保护电子商务实体免遭意外终止和数据丢失的三种途径
http://alestic.com/2010/01/ec2-instance-locking
注意:实例失败不应该自动删除您的EBS卷。 但是,EBS卷失败本身就是一种失败模式,因此请确保您正在创build常规EBS快照。 这不仅可以为您提供依赖的备份,还可以神奇而透明地提高EBS卷本身的可靠性。
连接到正在运行的EC2实例的EBS卷在执行“终止”时将被删除。 相反,“停止”将保持一切完好无损。
如果需要包含更新,则需要重新创buildAMI。 或者更好的方法是构buildAMI,以便在启动时引入新的configuration/代码。 你应该看看“用户数据”。
永远不要终止你的实例,如果你不想失去根EBS:停止它。 这个实例不会被收取任何费用,因为它没有运行,但是当然你仍然会支付分配的磁盘空间的Gb。
在AWSpipe理控制台中,您还可以激活终止保护以避免错误:右键单击实例并select“更改终止保护”。