在实例失败时将EBS卷移动到新实例

时间:2013-05-24 20:29:52

标签: amazon-web-services amazon-ec2

如果EC2实例关闭并且自动扩展会启动新实例,如何将旧EBS卷自动移动到新实例?

EBS卷可能包含大量数据,备份不是即时的,因此自动重定位卷可能是保存数据的最佳方式。

3 个答案:

答案 0 :(得分:4)

  

如果EC2实例关闭并且自动扩展会启动新实例,如何将旧EBS卷自动移动到新实例?

没有API调用自动执行此操作。但是你可以编写一个守护进程来启动一个带有正确参数的新盒子。

不幸的是,如果您关心灾难恢复,那么您想要做的并不是一个好策略:

1)当一个盒子死亡时,EBS卷可能会在分离状态下“卡住”几个小时(我实际上已经看过> 24小时)。

2)如果您的区域出现问题,您可以轻松地在其他区域中启动实例,但无法在区域之间移动驱动器。

最好从快照启动,这样可以解决这两个问题。

(您可能还会考虑像CEPH,GFS,AFS等分布式文件系统。)

答案 1 :(得分:1)

我认为你在寻找的是S3。如果您认为某些数据需要由其他ec2实例共享,那么您应该将这些数据保存在S3上,而不是保存在EBS卷本身上。任何甚至位于网络位置外的EC2实例都可以轻松访问S3上的数据,并且延迟时间非常短。 EBS卷应该与EC2本身相关联。

答案 2 :(得分:-3)

自动缩放不仅应该启动新实例,还应该为其附加相同的EBS卷。一旦先前的EC2实例终止,AWS就会自动分离EBS卷。如果您使用Elastic Beanstalk,我建议您使用ebextensions。否则,您应该依赖OpsWorks

或者通过SDK / API手动执行此附件。