如何使用Elastic Beanstalk设置实例类型?

ust*_*etz 11 amazon-web-services amazon-elastic-beanstalk

如何更改现有Elastic Beanstalk应用程序的实例类型?

目前我在Web界面中更改它: 在此输入图像描述

我尝试使用命令行工具更改它: eb setenv InstanceType=t2.medium

它没有抛出错误,但也没有更改实例类型.

Nic*_*ich 19

setenv命令用于更改环境变量.因此,您尝试的命令是bash相当于:

export InstanceType=t2.medium

并没有真正为你的beanstalk环境做任何事情.

您可以在create期间使用-i选项创建环境

eb create -i t2.micro
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用eb config编辑当前运行的环境.这将打开一个文本编辑器.寻找看起来像的部分:

aws:autoscaling:launchconfiguration:
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    EC2KeyName: aws
    InstanceType: t1.micro
Run Code Online (Sandbox Code Playgroud)

并将t1.micro编辑为t2.micro.(保存并退出)


但是为了让您的生活更轻松,您可以保存以下内容,.elasticbeanstalk/saved_configs/default.cfg.ymlCLI将在以后的所有创建中使用所有这些设置.

AWSConfigurationTemplateVersion: 1.1.0.0
OptionSettings:
  aws:elb:loadbalancer:
    CrossZone: true
  aws:elasticbeanstalk:command:
    BatchSize: '30'
    BatchSizeType: Percentage
  aws:autoscaling:launchconfiguration:
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    EC2KeyName: aws
    InstanceType: t2.micro
  aws:elb:policies:
    ConnectionDrainingEnabled: true
  aws:autoscaling:updatepolicy:rollingupdate:
    RollingUpdateType: Health
    RollingUpdateEnabled: true
  aws:elb:healthcheck:
    Interval: '30'
Run Code Online (Sandbox Code Playgroud)

  • 总有`eb create --help`.但如果你真的想要一个网络文档:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-create.html (2认同)

小智 6

更可编写脚本的方式:

aws elasticbeanstalk update-environment --environment-name "your-env-name" --option-settings "Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType,Value=t2.micro"
Run Code Online (Sandbox Code Playgroud)


Rub*_*ves 6

已接受的解决方案在 2020 年对我来说不起作用。

截至今天(2020 年 2 月 26 日),.ebextensions/02_python.config我必须在以下位置添加以下内容option_settings

option_settings:
  # ...

  aws:ec2:instances:
    InstanceTypes: 'm5.large'
Run Code Online (Sandbox Code Playgroud)

参考:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.as.html#environments-cfg-autoscaling-namespace.instances