重新启动和停止启动Amazon EC2实例之间的区别


13

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

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

Answers:


23

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

尽管您的EBS引导卷(和其他附加的EBS卷)并没有真正绑定到物理或虚拟服务器,但仍保留了下来。它们只是与不在任何地方运行的实例ID关联。

再次启动实例时,EC2选择一些硬件来运行它,将其绑定到EBS卷中,然后从根卷再次启动它。

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

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

  2. 新的外部IP地址(尽管可以随机相同)。

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

  4. 实例以前的临时存储中的所有内容都会被擦除,并且会为您提供新的临时存储。

  5. 您可以将实例一直保持停止状态,并且不收取运行时间费用(尽管您确实为EBS卷存储收取的费用要低得多)。参见下一点。

  6. 当您再次启动实例时,将启动一个新的计费小时。例如,如果您启动一个新实例,然后在前60分钟内将其停止/启动3次,则需要支付4个小时的费用,而不是1个小时。

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

重新启动时,这是在操作系统级别上的简单重新启动,并且实例在相同的硬件,相同的私有和公共IP地址,保持相同的弹性IP地址(如果关联)并且保持相同的临时存储的情况下,仍在同一硬件上运行擦了。重新启动不会启动新的计费时间,并且您不会放弃实例硬件。

实例停止后,您可以做一些很酷的事情,然后再重新启动它。这是我写的有关停止实例时更改实例类型的文章:

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

这是我写的一篇文章,介绍如何在实例停止时更改其实例的EBS引导盘的大小:

在正在运行的EBS引导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


+1以获取出色的摘要(并在您首先在其中找到它的博客上将其提供;)-关于主题3的一个小小的补充/更正:我只是观察到在Amazon Virtual Private Cloud(VPC)中启动的实例的行为这里有所不同,即,即使在停止状态下,弹性IP地址(如果有的话)仍保持关联(并且似乎没有相应地收费);我还没有找到与此有关的任何具体文档,也没有调查过是否也有相关的细微之处,但人们可能应该意识到这种可能性。
Steffen Opel,

感谢您的来信。我在博客文章中添加了对此指出的评论:alestic.com/2011/09/ec2-reboot-stop-start
Eric Hammond
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.