重启和停止启动亚马逊 EC2 实例之间的区别

重启和停止启动亚马逊 EC2 实例之间的区别

我注意到调用ec2.rebootInstancesAmazon EC2 实例比停止并重新启动它要快得多(ec2.stopInstances ec2.startInstances)。

它还保留了实例的 IP 地址(我没有弹性 IP)ec2.rebootInstance 所做的与停止和启动实例有何不同?

答案1

当您停止 EBS 启动实例时,您将放弃服务器正在运行的物理硬件(或其一部分),并且 EC2 可以自由地在那里启动其他人的实例。

您的 EBS 启动卷(和其他附加的 EBS 卷)仍会保留,但它们实际上并未绑定到物理或虚拟服务器。它们只是与不在任何地方运行的实例 ID 相关联。

当您再次启动实例时,EC2 会选择一些硬件来运行它,绑定 EBS 卷并从根卷再次启动它。

当你停止/开始时发生变化的事情包括:

  1. 新的内部 IP 地址(尽管可能随机相同)。

  2. 新的外部 IP 地址(但可能随机相同)。

  3. 如果在实例停止之前已将弹性 IP 地址与其关联,则您需要在启动后重新关联该地址。

  4. 实例以前的临时存储上的所有内容都将被清除,并且您将获得新的临时存储。

  5. 您可以让实例停止运行任意长的时间,并且不会因运行时间而收取费用(尽管 EBS 卷存储的费用要低得多)。请参阅下一点。

  6. 再次启动实例时,将开始新的计费小时。例如,如果您启动一个新实例,然后在前 60 分钟内停止/启动它 3 次,则将收取 4 小时的费用,而不是 1 小时的费用。

  7. 当您想要重新启动实例时,EC2 可能会没有正确实例类型的可用插槽来运行您的实例。我遇到过这种情况,并暂时切换到其他可用实例类型以使其再次运行。

重新启动时,只需在操作系统级别进行简单的重新启动,实例将继续在相同的硬件上运行,具有相同的私有和公共 IP 地址,保留相同的弹性 IP 地址(如果已关联),并保留相同的临时存储而不会被擦除。重新启动时不会开始新的计费时间,您也不会放弃实例硬件。

当实例停止时,您可以在重新启动之前做一些很酷的事情。这是我写的一篇关于在实例停止时更改实例类型的文章:

将 EC2 实例移动到更大的尺寸
http://alestic.com/2011/02/ec2-change-type

这是我写的一篇关于如何在实例停止时更改其 EBS 启动盘大小的文章:

调整正在运行的 EBS Boot EC2 实例上的根磁盘大小
http://alestic.com/2010/02/ec2-resize-running-ebs-root

这是我写的一篇文章,介绍在实例运行时无法连接时如何检查实例的根磁盘(在实例停止时):

修复 EC2 实例的根 EBS 卷上的文件
http://alestic.com/2011/02/ec2-fix-ebs-root

由于停止/启动循环很有可能将您的实例移至新硬件,因此如果您怀疑当前平台可能出现故障并导致问题,这是一种更换实例硬件的简单方法。这是我写的一篇文章:

更换 EC2 实例硬件的更简单方法
http://alestic.com/2011/02/ec2-move-hardware

相关内容