(AWS/EC2/EBS)为什么根设备上的"终止时删除"默认为true?

odi*_*ity 12 amazon-ec2 amazon-ebs amazon-web-services

在Amazon EC2上,当您使用EBS卷作为EC2实例的根设备时,"终止时删除"标志默认为true,这意味着在销毁实例时将自动删除卷.

这有什么意义?

如果使用EBS而不是本地实例存储的主要好处是存储持久性,而不依赖于实例持久性,那么这不能完全破坏它的目的吗?

如果您不介意根设备与实例一起被销毁,为什么不使用更便宜且更少创建/管理的本地实例存储?

相关参考文献:

Ray*_*Ray 9

您可能只想在不终止实例的情况下启动/停止实例并重新创建新实例.在这种情况下,您不希望实例上的数据恢复到初始AMI状态.您可以使用EBS支持的卷执行此操作,但不能使用临时存储.我知道我经常在测试启动和关闭脚本时循环实例,并在我不需要为不需要的周期付费时暂停它们.

这是关于serverfault的类似问题,其中包括重启,启动/停止和终止之间的差异:https://serverfault.com/questions/315123/difference-between-rebooting-and-stop-starting-an-amazon-ec2-instance

我认为对很多人来说,在终止一个实例后,你希望删除支持的存储,而不仅仅是闲逛.如果要在没有实例的情况下保持状态,可以在终止之前拍摄快照或从正在运行的实例创建新的AMI.

  • @odigity这是一个很好的链接...希望我读过它.我主要是通过试验和痛苦,痛苦的错误发现的. (3认同)
  • 这是我遗漏的一些重要知识:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html#lifecycle-differences (2认同)
  • @odigity也,我注意到你的图表重启将使用非ebs支持的数据,所以我更新我的答案只是为了开始/停止 (2认同)

小智 8

将"终止时删除"标志设置为true是频繁自动调整实例的首选方法.如果我们在每次缩小事件后手动检查和删除卷,那将是一场噩梦.在这种情况下,任何有用的数据,如应用程序日志,理想情况下应存储在EBS之外(如syslog-ng,s3或日志解决方案,如Splunk,Loggly,Logstash等).

但是对于标准实例(非自动缩放),将此标志设置为false是有意义的.