Amazon EC2 - 使用实例存储根设备转换 EBS 根设备

Posted

技术标签:

【中文标题】Amazon EC2 - 使用实例存储根设备转换 EBS 根设备【英文标题】:Amazon EC2 - Convert EBS root device with instance store root device 【发布时间】:2011-08-10 09:27:17 【问题描述】:

我看到您可以将实例存储实例转换为支持 EBS,如 this question 所示。但是,我想做相反的事情,采用 EBS 支持的实例并将其转换为 Instance Store 支持。

这可能吗?我该怎么做?

【问题讨论】:

【参考方案1】:

    从 AMI 启动实例存储实例,该 AMI 使用与您的 EBS 支持的 AMI 使用的相同内核。

    从基于 EBS AMI 的快照创建 EBS 卷。 (或者,启动 EBS AMI 的一个实例并在它开始启动时停止该实例。从实例中分离根卷 - 这通常是附加到 /dev/sda1 的卷。)

    将 EBS 卷附加到实例存储实例。

    rsync 将 EBS 卷的内容同步到根卷。

    使用标准方法创建实例存储 AMI。

    分离 EBS 卷并将其删除。如果您在第 2 步中启动了 EBS 实例,请将其终止。

【讨论】:

请注意,这仅适用于 Linux VM(Windows 没有 rsync)。【参考方案2】:

你可以试试这个:

# Install ec2-tools (http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip)

$ export EC2_PRIVATE_KEY=/path/to/your/key.pem
$ export EC2_CERT=/path/to/your/sert.pem
$ export AWS_ACCOUNT_ID=XXXX-XXXX-XXXX
$ export AWS_KEY=YOURAWSKEY
$ export AWS_SECRET_KEY=YOURAWSSECRETKEY

$ ec2-bundle-vol -d /tmp -k $EC2_PRIVATE_KEY -c $EC2_CERT -u $AWS_ACCOUNT_ID
$ ec2-upload-bundle -b s3-bucket-name -m /tmp/image.manifest.xml -a $AWS_KEY -s $AWS_SECRET_KEY
$ ec2-register s3-bucket-name/image.manifest.xml -K $EC2_PRIVATE_KEY -C $EC2_CERT --region eu-west-1
# In command above you can choose another region (e.g us-west-1)
# By running command above you will see on your screen something like this: IMAGE   ami-3cc1a4a
# Now you can create new instance based on your just registered ami-3cc1a4a using ec2-tools or Amazon Console

祝你好运!

【讨论】:

这也是一个仅限 Linux 的解决方案 您能否解释一下为什么需要私钥?我的理解是这是由 AWS 存储的,您无法指定路径。谢谢

以上是关于Amazon EC2 - 使用实例存储根设备转换 EBS 根设备的主要内容,如果未能解决你的问题,请参考以下文章

使用“实例存储”停止 Amazon EC2 实例

如何在 Amazon EC2 实例中启用根 SSH 访问?

EC2 上的 LAMP 服务器(Amazon Linux 微实例)

从 EC2 实例本地访问 Amazon S3 存储桶

如何转换 Amazon EC2 实例以用于 Auto Scaling?

Amazon S3 存储桶策略:如何锁定仅访问您的 EC2 实例