如何保持 Amazon EBS 支持的 AMI 持久性?

如何保持 Amazon EBS 支持的 AMI 持久性?

我很高兴听到 EBS Backed AMI,但我很困惑。它似乎根本没有持久性。

我使用 Amazon 的 Linux EBS 支持的 AMI 之一创建了 EC2 实例。我更新并添加了 http 服务器和 python。我注意到 EBS AMI 已添加到 EBS 卷中。然后我终止了 EC2 实例,以便以后继续我的工作,一旦我终止,一切都消失了。EBS 卷和我所做的所有更改。困惑为什么 EBS 卷消失了?这是如何持久的?

然后我又重复了上述操作。这次我在关闭 AMI 之前创建并注册了它。但创建新 AMI 后的所有更新都会丢失。

每次更新文件或其他配置时,我都不想注册并创建新的 AMI。这似乎很繁琐且效率低下。如果终止实例后所有内容都会丢失,为什么他们称之为 EBS?我做错了什么吗?是否可以创建持久性 AMI,而无需每次更新文件时都注册新映像?

答案1

默认情况下,EC2 实例“终止”会自动删除随实例自动创建的所有 EBS 卷,但可以更改此设置。默认情况下,它不会删除实例开始运行后附加的 EBS 卷,这也可以更改。

以下是我写的一篇有关如何使用 EBS 启动实例保护重要数据的文章:

保护 EC2 实例免于意外终止和数据丢失的三种方法
http://alestic.com/2010/01/ec2-instance-locking

注意:实例失败应该不是自动删除您的 EBS 卷。但是,EBS 卷故障本身就是一种故障模式,因此请确保您定期创建 EBS 快照。这不仅为您提供了可靠的备份,而且还神奇而透明地提高了 EBS 卷本身的可靠性。

答案2

执行“终止”时,连接到正在运行的 EC2 实例的 EBS 卷将被删除。相反,“停止”将保持所有内容完好无损。

如果您希望 AMI 包含您的更新,则需要重新创建 AMI。或者更好的方法是构建您的 AMI,以便它在启动时提取新的配置/代码。您应该查看“用户数据”。

答案3

如果您不想丢失根 EBS,请不要终止您的实例:而是停止它。由于该实例未运行,因此您无需为该实例支付任何费用,但当然您仍需为分配的 Gb 磁盘空间付费。

在里面AWS 管理控制台您还可以激活终止保护以避免错误:右键单击实例并选择“更改终止保护”。

相关内容