使用由自动扩展组内的负载均衡器,数据库服务器和一些Web服务器组成的继承的aws基础结构;部署由CloudFormation协调 .

问题是,spun webservers有一个微弱的根卷(8gb),有时在webserver生命周期中,磁盘充满了日志和临时文件,一些服务停止工作 .

我找到了声明机器定义的部分(我认为):

...
"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": [
...

实例类型最终在其他地方定义:

"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."
},

但我不知道如何声明根卷大小,也不知道它是否可能;我无法看到任何声明的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

尝试把它放在“UserData”之前:

"BlockDeviceMappings" : [
     {
       "DeviceName" : "/dev/xvda1",
          "Ebs" : {
             "VolumeSize" : "20"
           }
     }
 ],

但即使我可以看到机器的启动配置也相应更新(如下面的屏幕截图所示),CloudFormation在执行此操作后不会启动任何新机器 .

screenshot showing disk size of 20gb in AWS console