Josh
Josh

Reputation: 3070

Elastic Beanstalk console can't select Graviton instance type

In the AWS Elastic Beanstalk web console for an existing environment, under "Configuration" -> "Capacity" -> "Instance Types", I can't select a Graviton instance, e.g. c6g.large, m6g.large, or r6g.large. None of those appear on the list of options, but c6i.large, m6i.large, and r6i.large do appear.

Upvotes: 8

Views: 2579

Answers (2)

Tom Baldwin
Tom Baldwin

Reputation: 29

It's possible to change the instance type to another architecture via the AWS CLI. For example, an existing amd_x64 environment with ID $ENVIRONMENT_ID, can be changed to use t4g.medium arm64/Graviton instances with:

aws elasticbeanstalk update-environment --environment-id=$ENVIRONMENT_ID \
  --option-settings=Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.medium

The architecture ('Processor' in the AWS Console), will be updated to arm64.

Upvotes: 1

Josh
Josh

Reputation: 3070

An Elastic Beanstalk environment gets created with architecture set to either x86 or arm64, and it can never be changed after creation. If your environment is set to x86 architecture, only the c6i, m6i, r6i, etc. series will appear. To use Graviton instances, you'll need to create a new Elastic Beanstalk environment and set its architecture to arm64. According to the AWS docs:

By default, Elastic Beanstalk selects the x86 processor architecture when you create a new environment. You can choose the processor architecture (x86, arm64) for the instance types only when you’re creating a new environment. After you create an environment, you can only change the instance types to others within the same processor architecture of your running environment. You can't change the processor architecture.

If you're creating a new environment via the AWS web console, you need to select "Configure more options" -> "Capacity" -> "Processor" to select arm64 architecture.

Upvotes: 9

Related Questions