Amazon web services AWS OpsWorks:如何设置每层的默认EBS卷大小?

Amazon web services AWS OpsWorks:如何设置每层的默认EBS卷大小?,amazon-web-services,amazon-ec2,aws-opsworks,Amazon Web Services,Amazon Ec2,Aws Opsworks,我确信我遗漏了一些明显的东西,但我找不到一种方法来设置每层的默认EBS卷大小。默认情况下,我在此层上启动的每个实例都有一个10GB的卷 在Layer configuration窗格中,我尝试添加一个具有所需大小的EBS卷,但它不允许我将其装载到“/”上 我需要为安装在/srv/www上的我的应用程序提供这个额外的大小,但文件说此时不应安装卷: 不要将Amazon EBS卷装载到以下装载点。如果 实例重新启动后,autofs可能会使用它们来装载短暂的 设备而不是卷 /srv/www 无法在/处装载

我确信我遗漏了一些明显的东西,但我找不到一种方法来设置每层的默认EBS卷大小。默认情况下,我在此层上启动的每个实例都有一个10GB的卷

在Layer configuration窗格中,我尝试添加一个具有所需大小的EBS卷,但它不允许我将其装载到“/”上

我需要为安装在/srv/www上的我的应用程序提供这个额外的大小,但文件说此时不应安装卷:

不要将Amazon EBS卷装载到以下装载点。如果 实例重新启动后,autofs可能会使用它们来装载短暂的 设备而不是卷

/srv/www


无法在/处装载卷,这是根目录。 很遗憾,您无法在OpsWorks中设置根设备大小。
但您可以在其他地方安装卷,如
/mnt/www
和符号链接

在撰写本文时,您无法使用OpsWorks更改默认的根卷大小。但是,当使用API时,您可以提供一个(如在EC2上)并定义大小

例如,您可以创建一个包含以下内容的文件,并为方便起见将其命名为“instance.json”:

{
    "InstanceType": "c4.large", 
    "RootDeviceType": "ebs", 
    "BlockDeviceMappings": [
        {
            "DeviceName": "ROOT_DEVICE", 
            "Ebs": {
                "VolumeSize": 20, 
                "VolumeType": "gp2", 
                "DeleteOnTermination": true
            }
        }
    ] 
}
然后,您可以执行如下命令,使用该文件并替换正确的堆栈和层ID,创建具有所需根卷大小的实例:

aws opsworks create-instance --cli-input-json file://./instance.json --stack-id <stack-id-number-here> --layer-ids <one-or-more-layer-id-numbers-here>
aws opsworks创建实例--cli输入jsonfile://./instance.json --堆栈id——层id 如果您更喜欢单件行李,尽管有点笨重:

aws opsworks create-instance --stack-id <stack-id-number-here> --layer-ids <one-or-more-layer-id-numbers-here> --instance-type <e.g. c4.large> --block-device-mappings '[{"DeviceName":"ROOT_DEVICE","Ebs":{"VolumeType":"gp2","VolumeSize":20}}]'
aws opsworks创建实例--堆栈id--层id--实例类型--块设备映射'[{“DeviceName”:“根设备”,“Ebs”:{“VolumeType”:“gp2”,“VolumeSize”:20}}]'

请注意,此过程仅在创建实例时有效,之后您不能修改它,只能手动修改。

是的,我最后做了类似的事情。。。遗憾的是,这项工作再简单不过了。我将把它作为一项功能要求。:)@斯潘根伯格:我在找这个东西。我们将日志存储几天,它们偶尔会超过限制。希望实例的开头有更多的空间。谢谢,我理解你的问题。同时,请将EBS卷安装到/var/log或存储日志的任何位置。@spangenberg,我真的希望它很快就会到来,因为它最终将允许连接通用或PIOPS SSD根设备!我可以通过云形成来实现吗?@Casper这不是通过云形成来实现的。您可以看到,不支持BlockDeviceMappings。但是,您可以使用调用来创建/修改/更新这些资源。因此,您是说我需要先启动一个实例,然后修改根卷?@Casper,您能通过CloudFormation实现这一点吗?@ManishJoshi不是atm,我联系了AWS支持,这是一个功能请求。