yiv*_*ivi 2 amazon-web-services amazon-cloudformation
继承了亚马逊托管的基础设施,包括一个负载均衡器、一个数据库服务器和一个自动缩放组内的几个网络服务器;由 CloudFormation 协调部署。
问题是,旋转的网络服务器有一个微不足道的根卷 (8gb),有时在网络服务器生命周期内,磁盘被日志和临时文件填满,一些服务停止工作。
我找到了声明机器定义的部分(我认为):
...
"Properties": {
"ImageId": {
"Fn::FindInMap": [
"AWSRegionArch2AMI",
{
"Ref": "AWS::Region"
},
{
"Fn::FindInMap": [
"AWSInstanceType2Arch",
{
"Ref": "InstanceType"
},
"Arch"
]
}
]
},
"InstanceType": {
"Ref": "InstanceType"
},
"SecurityGroups": [
{
"Ref": "WebServerSecurityGroup"
}
],
"KeyName": {
"Ref": "KeyName"
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
...
Run Code Online (Sandbox Code Playgroud)
实例类型最终在其他地方定义:
"InstanceType": {
"Description": "WebServer EC2 instance type",
"Type": "String",
"Default": "c4.xlarge",
"AllowedValues": [
"t1.micro",
"t2.nano",
# ... more allowed values
"cg1.4xlarge"
],
"ConstraintDescription": "must be a valid EC2 instance type."
},
Run Code Online (Sandbox Code Playgroud)
但我不知道如何声明根卷大小,如果可能的话,我也不知道;我在任何地方都看不到 ebs 卷被声明。
这是一台linux机器,根设备是/dev/xvda1
[ec2-user@ip- /]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 1.6G 6.2G 21% /
devtmpfs 3.7G 60K 3.7G 1% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
Run Code Online (Sandbox Code Playgroud)
尝试了@Jason 建议的解决方案(虽然替换sda1为xvda1),但这样做后CloudFormation不会启动任何新机器。
我可以看到,在我上传具有以下更改的新模板后,机器的启动配置会相应更新:

但是新机器不会再自动启动了。:(
小智 8
我已经被困了好几天使用 Cloudformation 更改根磁盘大小,这就是它对我的工作方式..
如果使用/dev/xvda1实例会失败,正确的方法是使用/dev/xvda.
使用 YAML 格式:
BlockDeviceMappings:
- DeviceName: "/dev/xvda"
Ebs:
VolumeSize: 15
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12604 次 |
| 最近记录: |