Amazon 新的基于 EBS 的 EC2 实例有两个关闭选项:终止或停止。停止的实例可以稍后再次启动,自动从它们停止时的相同 EBS 根磁盘状态继续。
但是当 Amazon 数据中心出现硬件故障并且 EC2 实例被迫关闭时会发生什么。它会终止还是停止?如果实例已配置为在关机时默认停止,我是否可以依靠它在这种情况下也停止,并且以后能够再次启动它?
Amazon 新的基于 EBS 的 EC2 实例有两个关闭选项:终止或停止。停止的实例可以稍后再次启动,自动从它们停止时的相同 EBS 根磁盘状态继续。
但是当 Amazon 数据中心出现硬件故障并且 EC2 实例被迫关闭时会发生什么。它会终止还是停止?如果实例已配置为在关机时默认停止,我是否可以依靠它在这种情况下也停止,并且以后能够再次启动它?
EC2 实例可以随时终止,并且确实必须考虑这一点,正如David 的回答(+1) 中已经提到的那样。您可以安排故障实例的弹性块存储 (EBS)保持可用,但请参阅相应的常见问题解答系统终止时我的数据会发生什么情况?:
只要该实例处于活动状态,存储在本地实例存储中的数据就会持续存在。但是,存储在 Amazon EBS 卷上的数据将独立于实例的生命周期而持续存在。如果您将 Amazon EBS 卷用作根分区,则您已将 Delete On Terminate 标志设置为“N”,以便您的 Amazon EBS 卷在实例生命周期之外持续存在。[强调我的]
这在第2节中进行了更详细的解释。Eric Hammond 推荐的文章三种保护 EC2 实例免受意外终止和数据丢失的方法中的终止删除:
尽管在实例化时创建并附加到实例的 EBS 卷会通过“停止”/“启动”周期保留,但默认情况下,它们会在 EC2 实例终止时被销毁并丢失。可以使用 ec2-run-instances 的 --block-device-mapping 选项的文档中隐藏的 delete-on-termination 布尔值更改此行为。
他指的是ec2-run-instances文档,同时在Amazon EC2 根设备存储概念中也更详细地说明了所有这些:
默认情况下,启动 Amazon EBS 支持的实例时创建的根设备卷和其他卷会在实例终止时自动删除 [...]。您可以通过在启动实例时将 DeleteOnTermination 标志设置为所需的值来更改默认行为。有关如何在启动时更改标志的示例,请参阅使用 Amazon EC2 根设备存储。
我假设您的意思是与 CPU 相关的硬件发生故障,而不是网络磁盘。我对待 EC2 的方式是创建一个可以上下移动而不会丢失数据的系统。任何重要的事情都应该使用 S3 存储桶,而不是 EBS。