Elastic Beanstalk supported platforms - AWS Elastic Beanstalk

Elastic Beanstalk supported platforms

AWS Elastic Beanstalk provides managed platforms that support running web applications developed for specific programming languages, frameworks, and web containers. Elastic Beanstalk offers one or more platform versions for each platform. When you create an environment and choose a platform, Elastic Beanstalk provisions the resources that your application needs, including one or more Amazon Elastic Compute Cloud (Amazon EC2) instances. The software stack running on the Amazon EC2 instances depends on the platform version you chose.

For more information about platforms, see AWS Elastic Beanstalk Platforms in the AWS Elastic Beanstalk Developer Guide. Detailed release notes are available for recent releases at AWS Elastic Beanstalk Release Notes.

The following sections provide information about all current platform versions. All current Linux-based platform versions run on Amazon Linux 2018.03 (64-bit). For lists of historical platform versions and the date ranges they were current, see Platform history.

Elastic Beanstalk has scheduled some platform versions for retirement, because some of their components are reaching their End of Life (EOL). These platform versions remain available until the published retirement date of their retiring components. For a list of component retirement dates, see AWS Elastic Beanstalk Platform Support Policy in the AWS Elastic Beanstalk Developer Guide. For a list of platform versions scheduled for retirement, see Elastic Beanstalk platform versions scheduled for retirement.

Docker

Docker is a container platform that allows you to define your own software stack and store it in an image that can be downloaded from a remote repository. Use the Docker platform if you only need to run a single Docker container on each instance in your environment. The Docker platform includes an nginx proxy server.

See Deploying Elastic Beanstalk Applications from Docker Containers in the AWS Elastic Beanstalk Developer Guide for more information about the Docker platform.

Platform Version and Solution Stack Name

AMI

Docker

Docker Compose

Proxy Server

Docker AL2 version 3.4.17

64bit Amazon Linux 2 v3.4.17 running Docker

2.0.20220606

20.10.13-2

1.29.2

nginx 1.20.0

ECS AL2 version 3.1.3

64bit Amazon Linux 2 v3.1.3 running ECS

2.0.20220606

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Single Container Docker on the Retiring Platform Versions page. For information about previous platform versions, see Docker platform history.

Go

Elastic Beanstalk supports the following Go platform versions.

Platform Version and Solution Stack Name

AMI

Language

AWS X-Ray

Proxy Server

Go 1 AL2 version 3.5.3

64bit Amazon Linux 2 v3.5.3 running Go 1

2.0.20220606

Go 1.18.3

3.2.0

nginx 1.20.0

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Go on the Retiring Platform Versions page. For information about previous platform versions, see Go platform history.

Java SE

Elastic Beanstalk supports the following Java SE platform versions.

Platform Version and Solution Stack Name

AMI

Language

Tools

AWS X-Ray

Proxy Server

Corretto 11 version 3.2.16

64bit Amazon Linux 2 v3.2.16 running Corretto 11

2.0.20220606

Corretto 11.0.15.9.1

Ant 1.10.7, Gradle 5.6.2, Maven 3.6.2

3.2.0

nginx 1.20.0

Corretto 8 version 3.2.16

64bit Amazon Linux 2 v3.2.16 running Corretto 8

2.0.20220606

Corretto 8.332.08.1

Ant 1.10.7, Gradle 5.6.2, Maven 3.6.2

3.2.0

nginx 1.20.0

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Java SE on the Retiring Platform Versions page. For information about previous platform versions, see Java SE platform history.

Tomcat

Elastic Beanstalk supports the following Tomcat platform versions.

Platform Version and Solution Stack Name

AMI

Language

AWS X-Ray

Application Server

Proxy Server

Corretto 11 with Tomcat 8.5 AL2 version 4.2.16

64bit Amazon Linux 2 v4.2.16 running Tomcat 8.5 Corretto 11

2.0.20220606

Corretto 11.0.15.9.1

3.2.0

Tomcat 8.5.75

nginx 1.20.0 (default), Apache 2.4.53

Corretto 8 with Tomcat 8.5 AL2 version 4.2.16

64bit Amazon Linux 2 v4.2.16 running Tomcat 8.5 Corretto 8

2.0.20220606

Corretto 8.332.08.1

3.2.0

Tomcat 8.5.75

nginx 1.20.0 (default), Apache 2.4.53

Important

AWS Elastic Beanstalk installs Log4j from the Amazon Linux default package repositories in its Tomcat platforms for Amazon Linux 1 and Amazon Linux 2. The versions of Log4j available in the Amazon Linux 1 and Amazon Linux 2 repositories are not affected by CVE-2021-44228 or CVE-2021-45046 in their default configuration.

If you've made configuration changes to your application’s use of log4j, or installed newer versions of log4j, then we recommend that you take action to update your application’s code to mitigate this issue.

Out of caution, Elastic Beanstalk released new platform versions that use the latest Amazon Linux default package repositories, which include the Log4j hotpatched JDK, in our Amazon Linux platform release on December 21, 2021. If you've customized log4j installation as your application dependency, we recommend that you upgrade to the latest Elastic Beanstalk platform version to mitigate CVE-2021-44228 or CVE-2021-45046. You can also enable automated managed updates as part of normal update practices.

For more information about security-related software updates for Amazon Linux, see the Amazon Linux Security Center.

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Tomcat on the Retiring Platform Versions page. For information about previous platform versions, see Tomcat platform history.

.NET Core on Linux

Elastic Beanstalk supports the following .NET Core on Linux platform versions.

Platform Version and Solution Stack Name

Framework

Proxy Server

AMI

AWS X-Ray

.NET Core on AL2 version 2.3.3

64bit Amazon Linux 2 v2.3.3 running .NET Core

.NET 6.0.6, supports 6.0.6, 5.0.17, 3.1.26

nginx 1.20.0

2.0.20220606

3.2.0

For information about previous platform versions, see .NET Core on Linux platform history.

.NET on Windows Server

You can get started in minutes using the AWS Toolkit for Visual Studio. The toolkit includes the AWS libraries, project templates, code samples, and documentation. The AWS SDK for .NET supports the development of applications using .NET Framework 2.0 or later.

Note

This platform doesn't support the following Elastic Beanstalk features:

In addition, platform versions earlier than v2.0.0 don't support enhanced health reporting, managed platform updates, immutable updates, immutable deployments, and rolling deployments with an additional batch.

To learn how to get started deploying a .NET application using the AWS Toolkit for Visual Studio, see Creating and Deploying Elastic Beanstalk Applications in .NET Using AWS Toolkit for Visual Studio in the AWS Elastic Beanstalk Developer Guide.

For information about the latest Microsoft security updates, see Security TechCenter and Security Advisories and Bulletins.

For information about previous .NET on Windows Server platform versions for Elastic Beanstalk, see .NET on Windows Server platform history.

Elastic Beanstalk supports the following .NET on Windows Server platform versions.

Configuration basics

Platform Version

Solution Stack Name

Framework

Proxy Server

Windows Server 2019 with IIS 10.0 version 2.10.1

64bit Windows Server 2019 v2.10.1 running IIS 10.0

.NET 6.0.6, supports 6.0.6, 5.0.17, 3.1.26

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 10.0

Windows Server Core 2019 with IIS 10.0 version 2.10.1

64bit Windows Server Core 2019 v2.10.1 running IIS 10.0

.NET 6.0.6, supports 6.0.6, 5.0.17, 3.1.26

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 10.0

Windows Server 2016 with IIS 10.0 version 2.10.1

64bit Windows Server 2016 v2.10.1 running IIS 10.0

.NET 6.0.6, supports 6.0.6, 5.0.17, 3.1.26

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 10.0

Windows Server Core 2016 with IIS 10.0 version 2.10.1

64bit Windows Server Core 2016 v2.10.1 running IIS 10.0

.NET 6.0.6, supports 6.0.6, 5.0.17, 3.1.26

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 10.0

Windows Server 2012 R2 with IIS 8.5 version 2.10.1

64bit Windows Server 2012 R2 v2.10.1 running IIS 8.5

.NET Core 2.1.30, supports 2.1.30

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 8.5

Windows Server 2012 R2 Server Core with IIS 8.5 version 2.10.1

64bit Windows Server Core 2012 R2 v2.10.1 running IIS 8.5

.NET Core 2.1.30, supports 2.1.30

.NET Framework 4.8, supports 4.x, 2.0, 1.x

IIS 8.5

More details

Platform Version

AMI version

AWS SDK for .NET

EC2Config

SSM Agent

Web Deploy

AWS X-Ray

Windows Server 2019 with IIS 10.0 version 2.10.1

2022.06.15

3.15.1678

3.1.1188.0

3.6

3.2.0

Windows Server Core 2019 with IIS 10.0 version 2.10.1

2022.06.15

3.15.1678

3.1.1188.0

3.6

3.2.0

Windows Server 2016 with IIS 10.0 version 2.10.1

2022.06.15

3.15.1678

3.1.1188.0

3.6

3.2.0

Windows Server Core 2016 with IIS 10.0 version 2.10.1

2022.06.15

3.15.1678

3.1.1188.0

3.6

3.2.0

Windows Server 2012 R2 with IIS 8.5 version 2.10.1

2022.06.15

3.15.1678

3.1.1188.0

3.6

3.2.0

Windows Server 2012 R2 Server Core with IIS 8.5 version 2.10.1

2022.06.15

3.15.1678

4.9.4588

3.1.1188.0

3.6

3.2.0

Node.js

Each Node.js platform version supports a few Node.js language versions. Valid Node.js versions, as well as the default version, are listed in the following table. Each Node.js version includes a respective version of npm (the Node.js package manager). The table lists npm versions in parentheses.

On Amazon Linux 2 platform versions, only the default Node.js version is pre-installed. You can use a package.json file in the root of your project source to specify the Node.js version you want your application to use. For details, see Configuring Node.js with a package.json file in the AWS Elastic Beanstalk Developer Guide.

On Amazon Linux AMI platform versions (preceding Amazon Linux 2), all listed Node.js versions that a platform version supports are pre-installed on it. The default Node.js version applies when the NodeVersion option in the aws:elasticbeanstalk:container:nodejs namespace isn't set. For details, see Node.js Platform Options in the AWS Elastic Beanstalk Developer Guide.

Note

Node.js versions 4.x to 8.x have an upcoming retirement date. We recommend that you avoid using them in new applications, and migrate existing applications to the latest version.

Elastic Beanstalk supports the following Node.js platform versions.

Platform Version and Solution Stack Name

AMI

Node.js versions (npm versions)

Proxy Server

Git

AWS X-Ray

Node.js 16 AL2 version 5.5.4

64bit Amazon Linux 2 v5.5.4 running Node.js 16

2.0.20220606

16.15.1 (8.11.0), 16.15.0 (8.5.5), 16.14.2 (8.5.0), 16.14.1 (8.5.0), 16.14.0 (8.3.1), 16.13.2 (8.1.2), 16.13.1 (8.1.2), 16.13.0 (8.1.0), 16.12.0 (8.1.0), 16.11.1 (8.0.0), 16.11.0 (8.0.0), 16.10.0 (7.24.0), 16.9.1 (7.21.1), 16.9.0 (7.21.1), 16.8.0 (7.21.0), 16.7.0 (7.20.3), 16.6.2 (7.20.3), 16.6.1 (7.20.3), 16.6.0 (7.19.1), 16.5.0 (7.19.1), 16.4.2 (7.18.1), 16.4.1 (7.18.1), 16.4.0 (7.18.1), 16.3.0 (7.15.1), 16.2.0 (7.13.0), 16.1.0 (7.11.2), 16.0.0 (7.10.0)

Default version: 16.15.1

nginx 1.20.0 (default), Apache 2.4.53

2.32.0

3.2.0

Node.js 14 AL2 version 5.5.4

64bit Amazon Linux 2 v5.5.4 running Node.js 14

2.0.20220606

14.19.3 (6.14.17), 14.19.2 (6.14.17), 14.19.1 (6.14.16), 14.19.0 (6.14.16), 14.18.3 (6.14.15), 14.18.2 (6.14.15), 14.18.1 (6.14.15), 14.18.0 (6.14.15), 14.17.6 (6.14.15), 14.17.5 (6.14.14), 14.17.4 (6.14.14), 14.17.3 (6.14.13), 14.17.2 (6.14.13), 14.17.1 (6.14.13), 14.17.0 (6.14.13), 14.16.1 (6.14.12), 14.16.0 (6.14.11), 14.15.5 (6.14.11), 14.15.4 (6.14.10), 14.15.3 (6.14.9), 14.15.2 (6.14.9), 14.15.1 (6.14.8), 14.15.0 (6.14.8), 14.14.0 (6.14.8), 14.13.1 (6.14.8), 14.13.0 (6.14.8), 14.12.0 (6.14.8), 14.11.0 (6.14.8), 14.10.1 (6.14.8), 14.10.0 (6.14.8), 14.9.0 (6.14.8), 14.8.0 (6.14.7), 14.7.0 (6.14.7), 14.6.0 (6.14.6), 14.5.0 (6.14.5), 14.4.0 (6.14.5), 14.3.0 (6.14.5), 14.2.0 (6.14.4), 14.1.0 (6.14.4), 14.0.0 (6.14.4)

Default version: 14.19.3

nginx 1.20.0 (default), Apache 2.4.53

2.32.0

3.2.0

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Node.js on the Retiring Platform Versions page. For information about previous platform versions, see Node.js platform history.

Note

When support for the version of Node.js that you are using is removed from the platform version, you must change or remove the version setting prior to doing a platform update. This may occur when a security vulnerability is identified for the Node.js version, or when the version is retired.

When this happens, attempting to update to a new version of the platform that doesn't support the configured Node.js version fails. To avoid needing to create a new environment:

  • Amazon Linux 2 – change the Node.js version setting in package.json to a Node.js version that is supported by both the old platform version and the new one, or remove the setting, and then deploy the new source bundle. Only then perform the platform update.

  • Amazon Linux AMI – change the NodeVersion configuration option to a version that is supported by both the old platform version and the new one, or remove the option setting, and then perform the platform update.

PHP

Note

Some PECL packages for PHP 7.3 aren't available in the Amazon Linux 1 repository and some PECL packages for PHP 7.4 aren't available in the Amazon Linux 2 repository. Therefore, they aren't included in our platform. If your application depends on them, you'll need to add commands to install them.

Elastic Beanstalk supports the following PHP platform versions.

Platform Version and Solution Stack Name

AMI

Language

Composer

Proxy Server

PHP 8.0 AL2 version 3.3.15

64bit Amazon Linux 2 v3.3.15 running PHP 8.0

2.0.20220606

PHP 8.0.18

2.0.13

nginx 1.20.0 (default), Apache 2.4.53

For information about platform versions scheduled for retirement as published in Platform Support Policy, see PHP on the Retiring Platform Versions page. For information about previous platform versions, see PHP platform history.

Python

Note

The pip version on Python platform versions based on Amazon Linux 2 isn't locked - the platform always uses the latest version. We only list pipenv versions for these platform versions.

Elastic Beanstalk supports the following Python platform versions.

Platform Version and Solution Stack Name

AMI

Language

Package Manager

Packager

meld3

AWS X-Ray

Proxy Server

Python 3.8 AL2 version 3.3.15

64bit Amazon Linux 2 v3.3.15 running Python 3.8

2.0.20220606

Python 3.8.5

pipenv 2021.11.9

3.2.0

nginx 1.20.0 (default), Apache 2.4.53

Python 3.7 AL2 version 3.3.15

64bit Amazon Linux 2 v3.3.15 running Python 3.7

2.0.20220606

Python 3.7.10

pipenv 2021.11.9

3.2.0

nginx 1.20.0 (default), Apache 2.4.53

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Python on the Retiring Platform Versions page. For information about previous platform versions, see Python platform history.

Ruby

Elastic Beanstalk supports the following Ruby platform versions.

Platform Version and Solution Stack Name

AMI

Language

Package Manager

Application Server

AWS X-Ray

Proxy Server

Ruby 3.0 AL2 version 3.4.8

64bit Amazon Linux 2 v3.4.8 running Ruby 3.0

2.0.20220606

Ruby 3.0.4-p208

RubyGems 3.3.15

Puma 5.6.4

3.2.0

nginx 1.20.0

Ruby 2.7 AL2 version 3.4.8

64bit Amazon Linux 2 v3.4.8 running Ruby 2.7

2.0.20220606

Ruby 2.7.6-p219

RubyGems 3.3.15

Puma 5.6.4

3.2.0

nginx 1.20.0

For information about platform versions scheduled for retirement as published in Platform Support Policy, see Ruby on the Retiring Platform Versions page. For information about previous platform versions, see Ruby platform history.