例如 Cloudformation Ephemeral(实例)存储

例如 Cloudformation Ephemeral(实例)存储

我正在尝试使用 CloudFormation 启动使用临时/实例存储而不是 EBS 的 EC2 实例。

我已经使用 Opsworks 管理了这个问题 - 因此在 EC2 管理窗口中,“根设备”不是 ebs。我还没有弄清楚如何使用 CloudFormation 模板来做到这一点。

我感觉它与 BlockDeviceMappings 有关,但还没有弄清楚。我在这里找到了最接近我想要做的讨论:https://forums.aws.amazon.com/message.jspa?messageID=243921

有人可以提供 CloudFormation 模板片段来启动基于临时存储的实例吗?

文档中其他看似有用的部分:

答案1

我不确定您要启动什么操作系统,但关键是您必须使用正确的 AMI。例如,查看 Canonical 的 Ubuntu AMI 列表: http://cloud-images.ubuntu.com/locator/ec2/

如果你搜索精确 us-east-1您会看到有 5 种不同的 AMI:

us-east-1   precise 12.04 LTS   amd64   hvm             20130624    ami-25d9a94c    hvm
us-east-1   precise 12.04 LTS   amd64   ebs             20130624    ami-23d9a94a    aki-88aa75e1
us-east-1   precise 12.04 LTS   i386    ebs             20130624    ami-21d9a948    aki-b6aa75df
us-east-1   precise 12.04 LTS   amd64   instance-store  20130624    ami-d9d6a6b0    aki-88aa75e1
us-east-1   precise 12.04 LTS   i386    instance-store  20130624    ami-bfd3a3d6    aki-b6aa75df

第一个是集群计算实例仅有的。

第二和第三个用于 EBS 支持的实例,64 位或 32 位。

最后,第四和第五个是用于临时/实例存储支持的实例,64 位或 32 位。

一旦您选择了由实例存储支持的 AMI,您就可以在属性中使用此代码片段分配其余的临时磁盘:

"BlockDeviceMappings": [
    { "DeviceName": "/dev/sdb", "VirtualName": "ephemeral0" },
    { "DeviceName": "/dev/sdc", "VirtualName": "ephemeral1" },
    { "DeviceName": "/dev/sdd", "VirtualName": "ephemeral2" },
    { "DeviceName": "/dev/sde", "VirtualName": "ephemeral3" }
],

您可能需要查看 AWS块设备映射概念页面也是如此。

相关内容