我正在尝试使用单个m3.medium实例启动一个自动扩展组,并使用CloudFormation(CFN)连接EBS。除了EBS部分,我已经成功完成了所有工作。我尝试将以下块添加到我的CFN模板中(作为AWS::AutoScaling::LaunchConfiguration block的属性):
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sdf",
"Ebs": { "VolumeSize": 100, "VolumeType": "gp2" }
}
]
如果没有这个,发布成功。当我包含它时,aws会在尝试创建自动缩放组时挂起。没有错误消息可帮助调试此问题。我尝试通过aws控制台创建一个EBS并手动附加到已启动的m3实例,这很有效,但我需要通过CFN来实现,以符合我们的自动部署管道。
我需要在CFN模板中创建其他资源才能使其正常工作吗?
答案 0 :(得分:0)
如果这是一个逐字的块,那么你可以在卷大小中添加引号(doc是非常误导的,因为所有数据类型都是字符串)。这是一个对我很好的工作,我看不出任何差异:
"BlockDeviceMappings": [
{
"DeviceName": {
"Ref": "SecondaryDevice"
},
"Ebs": {
"VolumeType": "gp2",
"VolumeSize": "10"
}
}
]
通常,如果您需要对ASG进行故障排除,请将启动失败的SNS通知添加到自动缩放组(http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html)。您可能会发现自己的最后一百次EBS限制(不太可能),或者您的AMI不喜欢您尝试使用的设备类型或标签(更有可能)。
答案 1 :(得分:0)
<强>更新强>
在与AWS支持人员交谈后,我解决了这个问题。事实证明,AWS区分了实例存储支持的和ebs支持的ami。您只能在使用ebs支持的ami时添加BlockDeviceMappings属性,而我正在使用另一种类型。幸运的是,有一种方法可以使用以下过程将实例存储支持转换为ebs支持: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html#Using_ConvertingS3toEBS