amazon-web-services - 如何仅增加 AWS EC2 上的根磁盘的大小以用于 Elastic Beanstalk?

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

在部署时,我将数据文件从 S3 复制到我的根驱动器以供 Tomcat 应用程序使用。这工作得很好,问题是根磁盘只有 8GB,我的数据文件很快就会比这更大。我想稍微增加根磁盘的大小(15GB 应该可以再使用一年),而不想迁移到更大更昂贵的 EC2 实例,我目前使用的是 m3.medium。

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

最佳答案

这可以使用以下 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 自定义 AWS 资源的更多信息 here .有关您可以为启动配置执行的其他自定义操作的更多详细信息,请提供 here .
更多关于 ebextensions 的文档 here .

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

关于amazon-web-services - 如何仅增加 AWS EC2 上的根磁盘的大小以用于 Elastic Beanstalk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803107/

相关文章:

linux - 如何在 AWS 上配置 d2.xlarge linux 实例

PHP 5.5 找不到 MySQLi 构造函数

amazon-web-services - 如何将 Elastic Beanstalk 环境的实例数设置为 0?

ruby-on-rails - 如何在 AWS Elastic Beanstalk 上运行 Rails 后台作业?

ruby-on-rails - 如何在 AWS CodeBuild 上运行 docker-compose?

ubuntu - 在 ubuntu :20. 04 上,运行 apt install python3-pip 崩溃了,有修复吗?

amazon-web-services - API Gateway 中 VPC-Link HTTPS 端点的匹配证书

java - ElasticBeanstalk - 更改 java.security?

amazon-web-services - aws-ec2 - 您无权执行此操作

amazon-web-services - 具有多任务的AWS ECS服务需要负载均衡器