我有一个在AWS Micro实例上运行的服务器。 由于默认情况下具有EBS存储,因此在终止时不会丢失数据。 我可以跳过微型实例的AMI创build吗?
除非要启动与正在运行的实例完全相同的其他实例,否则不需要创buildAMI,例如启动服务于相同内容的Web服务器群集。 在这种情况下,您可以通过创build新实例来恢复服务器,分离为其创build的EBS卷,并附加要恢复的卷。
您认为EBS存储是正确的,意味着存储设备将通过终止实例而持续存在。
当EBS存储是根卷时(即EBS支持的微型实例),EBS存储在默认情况下不会持续存在 – 您必须明确地将其设置为如此。 如果启动多个AMI,则当它们终止时,根EBS卷将被删除。 (使用ec2-modify-instance-attributes设置DeleteOnTermination标志或使用AWS控制台)
如果您手动创buildEBS卷,然后将其附加到实例,EBS存储仅在默认情况下保持不变。
至于从一个微型实例迁移到一个小实例,你不需要一个AMI(尽pipe你可以使用一个)。 有两种常用的方法。
正如前面指出的那样,默认情况下,EBS支持的实例的根EBS卷设置为在终止时被删除。 如果你想避免这种情况,你必须使用:
ec2-modify-instance-attribute --region <region> device=vol-id:false <instanceid>
作为一个例子,首先检查你的实例的块设备的状态是什么:
$ ec2-describe-instance-attribute --region us-west-1 i-365ed96f -b BLOCKDEVICE /dev/sda1 vol-0aa8ac24 2012-11-04T22:46:15.000Z true
最后一列是“deleteOnTermination”,它现在被设置为true(默认)。 您可以将其更改为false:
$ ec2-modify-instance-attribute --region us-west-1 -b /dev/sda1=vol-0aa8ac24:false i-365ed96f BLOCKDEVICE /dev/sda1 vol-0aa8ac24 false