EC2微型实例AMI

我有一个在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你可以使用一个)。 有两种常用的方法。

  1. 使用ec2-modify-instance-attributes来更改实例types(您将需要停止实例,运行命令,然后启动实例)
  2. 或停止(不终止)(微)实例,分离EBS卷,启动一个新的(小),停止新的(小)实例,分离现有的EBS,并将旧的EBS附加到新的(小)实例,启动小实例。

正如前面指出的那样,默认情况下,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