【发布时间】:2017-02-07 16:43:38
【问题描述】:
考虑到 cloudformation 的在线文档和解决方案数量较少,我决定解决一个常见问题,即更改通过 cloudformation 模板启动的 EBS 卷的默认大小
默认情况下,启动的实例有 8GB 大小,如果您想知道如何根据自己的喜好将其更改为某种东西,而不是找到正确的解决方案。
有两种方法可以避免该问题
解决方案 1:使用 VolumeAttachment 创建新卷(方法不正确)
"EBS" : {
"Type" : "AWS::EC2::Volume",
"Properties" : {
"Size" : "100",
"AvailabilityZone" : { "Fn::GetAtt" : [ "EC2Instance", "AvailabilityZone" ] }
}
},
"MountPoint" : {
"Type" : "AWS::EC2::VolumeAttachment",
"Properties" : {
"InstanceId" : { "Ref" : "EC2Instance" },
"VolumeId" : { "Ref" : "EBS" },
"Device" : "/dev/sda1"
}
}
在这里我创建了一个新卷,并且厌倦了将其附加到不起作用的实例。(CF 模板无法启动)
解决方案 2. 块设备映射(正确方式)
使用 BlockDeviceMappings 是正确的方法
"BlockDeviceMappings": [
{
"DeviceName": "/dev/xvda",
"Ebs": {
"VolumeType": "io1",
"Iops": "300",
"DeleteOnTermination": "false",
"VolumeSize": "30"
}
}
],
不要将设备名称保留为 /dev/xvda1 否则它将无法工作。 如果所选操作系统是 Amazon Linux,请将块设备映射的“DeviceName”属性设置为“/dev/xvda”,否则对于 Ubuntu 或 CentOS,请将其设置为“/dev/sda1” /p>
【问题讨论】:
-
启动时是否还需要在用户数据中运行“growpart”和“resize2fs”?
-
设备命名aws doc
标签: json amazon-web-services amazon-ebs amazon-cloudformation