以 Cloudformation 临时(实例)存储为例

pau*_*ote 2 amazon-ec2 amazon-cloudformation

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

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

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

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

文档的其他部分似乎有用:

dia*_*0ne 6

我不确定您要启动什么操作系统,但关键是您必须使用正确的 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
Run Code Online (Sandbox Code Playgroud)

第一个仅用于集群计算实例

第二个和第三个用于 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" }
],
Run Code Online (Sandbox Code Playgroud)

您可能还想查看 AWS储存设备映射概念页面。