亚马逊EC2 - 将EBS根设备转换为实例存储根设备

13
我看到您可以将存储在实例存储中的实例转换为EBS支持,如此问题所示。然而,我想做相反的事情,将EBS支持的实例转换为Instance Store支持。
这可行吗?我该如何操作?
2个回答

9
  1. 从使用与EBS-backed AMI相同的内核的AMI启动一个instance-store实例。

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

  3. 将EBS卷附加到instance-store实例上。

  4. 将EBS卷的内容rsync到根卷上。

  5. 使用标准方法创建一个instance-store AMI。

  6. 分离EBS卷并删除它。如果您在步骤2中启动了EBS实例,请终止它。


1
请注意,此操作仅适用于Linux虚拟机(Windows没有rsync)。 - Eight-Bit Guru

8
你可以尝试这样做:
# 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的解决方案。 - jazzcat
请问您能否澄清为什么需要私钥?我的理解是这个由AWS存储,无法指定路径。谢谢。 - Nick Woodhams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接