如何在AWS EC2上增加我的根磁盘大小以便与Elastic Beanstalk一起使用?

时间:2014-07-17 12:06:35

标签: amazon-web-services amazon-ec2 elastic-beanstalk

在部署时,我将数据文件从S3复制到我的根驱动器以供Tomcat应用程序使用。这是完美的工作,麻烦是根磁盘只有8GB,我的数据文件将很快大于那个。我想稍微增加根磁盘的大小(15GB应该可以再使用一年)而无需转移到更大的更昂贵的EC2实例,我目前正在使用m3.medium。

由于EB使用我需要正确的EC2配置才能按要求启动,我无法通过手动添加另一个磁盘来修改已经运行的实例。我正在使用EB负载平衡,因此实例可能会来满足需求。

1 个答案:

答案 0 :(得分:16)

这可以使用以下ebextension片段完成。

Resources:
    AWSEBAutoScalingLaunchConfiguration:
        Type: AWS::AutoScaling::LaunchConfiguration
        Properties:
            BlockDeviceMappings:
               - DeviceName: /dev/sda1
                 Ebs:
                     VolumeSize:
                        15

将此代码段添加到路径.ebextensions/01-change-root-volume-size.config的文件中的应用来源。您可以根据需要为文件命名,但它应位于.ebextensions目录中,并且后缀应为.config

使用此新的应用来源更新您的环境。这将终止您当前的实例并开始一个您想要的大小的实例。

详细了解如何使用Elastic Beanstalk here自定义AWS资源。有关您可以为启动配置执行的其他自定义的详细信息,请参见here。 有关ebextensions here的更多文档。

要记住的另一件事是/ dev / sda1适用于m3.medium,如果您使用的是HVM实例或GPU实例,如c3.large,g2.2xlarge,i2.xlarge等,那么您将需要使用DeviceName作为/ dev / xvda而不是。