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. 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.
Topics
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. 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 |
ECS Agent |
Docker |
Docker Compose |
Proxy Server |
---|---|---|---|---|---|
Docker AL2023 version 4.0.1 64bit Amazon Linux 2023 v4.0.1 running Docker |
2023.1.20230825 |
20.10.25-1 |
2.20.3 |
nginx 1.24.0 |
|
Docker AL2 version 3.6.1 64bit Amazon Linux 2 v3.6.1 running Docker |
2.0.20230822 |
20.10.23-1 |
2.20.3 |
nginx 1.22.1 |
|
ECS AL2 version 3.2.11 64bit Amazon Linux 2 v3.2.11 running ECS |
2.0.20230822 |
1.75.0 |
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.8.0 64bit Amazon Linux 2 v3.8.0 running Go 1 |
2.0.20230822 |
Go 1.21.0 |
3.2.0 |
nginx 1.22.1 |
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 17 AL2023 version 4.0.1 64bit Amazon Linux 2023 v4.0.1 running Corretto 17 |
2023.1.20230825 |
Corretto 17.0.8.7.1 |
Ant 1.10.12, Gradle 8.3, Maven 3.8.4 |
3.2.0 |
nginx 1.24.0 |
Corretto 17 version 3.5.0 64bit Amazon Linux 2 v3.5.0 running Corretto 17 |
2.0.20230822 |
Corretto 17.0.8.7.1 |
Ant 1.10.7, Gradle 8.3, Maven 3.8.8 |
3.2.0 |
nginx 1.22.1 |
Corretto 11 version 3.5.0 64bit Amazon Linux 2 v3.5.0 running Corretto 11 |
2.0.20230822 |
Corretto 11.0.20.8.1 |
Ant 1.10.7, Gradle 8.3, Maven 3.8.8 |
3.2.0 |
nginx 1.22.1 |
Corretto 8 version 3.5.0 64bit Amazon Linux 2 v3.5.0 running Corretto 8 |
2.0.20230822 |
Corretto 8.382.05.1 |
Ant 1.10.7, Gradle 8.3, Maven 3.8.8 |
3.2.0 |
nginx 1.22.1 |
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 17 with Tomcat 10 AL2023 version 5.0.2 64bit Amazon Linux 2023 v5.0.2 running Tomcat 10 Corretto 17 |
2023.1.20230825 |
Corretto 17.0.8.7.1 |
3.2.0 |
Tomcat 10.1.13 |
nginx 1.24.0 (default), Apache 2.4.56 |
Corretto 11 with Tomcat 8.5 AL2 version 4.3.11 64bit Amazon Linux 2 v4.3.11 running Tomcat 8.5 Corretto 11 |
2.0.20230822 |
Corretto 11.0.20.8.1 |
3.2.0 |
Tomcat 8.5.89 |
nginx 1.22.1 (default), Apache 2.4.57 |
Corretto 8 with Tomcat 8.5 AL2 version 4.3.11 64bit Amazon Linux 2 v4.3.11 running Tomcat 8.5 Corretto 8 |
2.0.20230822 |
Corretto 8.382.05.1 |
3.2.0 |
Tomcat 8.5.89 |
nginx 1.22.1 (default), Apache 2.4.57 |
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
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
For more information about security-related software updates for Amazon Linux, see the Amazon Linux Security Center
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.5.7 64bit Amazon Linux 2 v2.5.7 running .NET Core |
.NET 6.0.21, supports 6.0.21, 3.1.32 |
nginx 1.22.1 |
2.0.20230822 |
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
Note
This platform doesn't support the following Elastic Beanstalk features:
-
Worker environments. For details, see AWS Elastic Beanstalk Worker Environments in the AWS Elastic Beanstalk Developer Guide.
-
Bundle logs. For details, see Viewing Logs from Amazon EC2 Instances in Your Elastic Beanstalk Environment in the AWS Elastic Beanstalk Developer Guide.
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
For information about .NET on Windows Server platform versions scheduled for retirement as published in Platform Support Policy, see .NET on Windows Server on the Retiring Platform Versions page. 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.11.8 |
64bit Windows Server 2019 v2.11.8 running IIS 10.0 |
.NET 6.0.22, supports 6.0.22, 3.1.32 .NET Framework 4.8, supports 4.x, 2.0, 1.x |
IIS 10.0 |
Windows Server Core 2019 with IIS 10.0 version 2.11.8 |
64bit Windows Server Core 2019 v2.11.8 running IIS 10.0 |
.NET 6.0.22, supports 6.0.22, 3.1.32 .NET Framework 4.8, supports 4.x, 2.0, 1.x |
IIS 10.0 |
Windows Server 2016 with IIS 10.0 version 2.11.8 |
64bit Windows Server 2016 v2.11.8 running IIS 10.0 |
.NET 6.0.22, supports 6.0.22, 3.1.32 .NET Framework 4.8, supports 4.x, 2.0, 1.x |
IIS 10.0 |
Windows Server Core 2016 with IIS 10.0 version 2.11.8 |
64bit Windows Server Core 2016 v2.11.8 running IIS 10.0 |
.NET 6.0.22, supports 6.0.22, 3.1.32 .NET Framework 4.8, supports 4.x, 2.0, 1.x |
IIS 10.0 |
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.11.8 |
2023.09.13 |
3.15.2072 |
3.2.1377.0 |
3.6 |
3.2.0 |
|
Windows Server Core 2019 with IIS 10.0 version 2.11.8 |
2023.09.13 |
3.15.2072 |
3.2.1377.0 |
3.6 |
3.2.0 |
|
Windows Server 2016 with IIS 10.0 version 2.11.8 |
2023.09.13 |
3.15.2072 |
3.2.1377.0 |
3.6 |
3.2.0 |
|
Windows Server Core 2016 with IIS 10.0 version 2.11.8 |
2023.09.13 |
3.15.2072 |
3.2.1377.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.
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 18 AL2023 version 6.0.1 64bit Amazon Linux 2023 v6.0.1 running Node.js 18 |
2023.1.20230825 |
18.12.1 (8.19.2) Default version: 18.12.1 |
nginx 1.24.0 (default), Apache 2.4.56 |
2.40.1 |
3.2.0 |
Node.js 18 AL2 version 5.8.5 64bit Amazon Linux 2 v5.8.5 running Node.js 18 |
2.0.20230822 |
18.17.1 (9.6.7), 18.17.0 (9.6.7), 18.16.1 (9.5.1), 18.16.0 (9.5.1), 18.15.0 (9.5.0), 18.14.2 (9.5.0), 18.14.1 (9.3.1), 18.14.0 (9.3.1), 18.13.0 (8.19.3), 18.12.1 (8.19.2), 18.12.0 (8.19.2), 18.11.0 (8.19.2), 18.10.0 (8.19.2), 18.9.1 (8.19.1), 18.9.0 (8.19.1), 18.8.0 (8.18.0), 18.7.0 (8.15.0), 18.6.0 (8.13.2), 18.5.0 (8.12.1), 18.4.0 (8.12.1), 18.3.0 (8.11.0), 18.2.0 (8.9.0), 18.1.0 (8.8.0), 18.0.0 (8.6.0) Default version: 18.17.1 |
nginx 1.22.1 (default), Apache 2.4.57 |
2.40.1 |
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.2 AL2023 version 4.0.1 64bit Amazon Linux 2023 v4.0.1 running PHP 8.2 |
2023.1.20230825 |
PHP 8.2.7 |
2.5.8 |
nginx 1.24.0 (default), Apache 2.4.56 |
PHP 8.1 AL2023 version 4.0.1 64bit Amazon Linux 2023 v4.0.1 running PHP 8.1 |
2023.1.20230825 |
PHP 8.1.22 |
2.5.7 |
nginx 1.24.0 (default), Apache 2.4.56 |
PHP 8.1 AL2 version 3.5.11 64bit Amazon Linux 2 v3.5.11 running PHP 8.1 |
2.0.20230822 |
PHP 8.1.22 |
2.3.5 |
nginx 1.22.1 (default), Apache 2.4.57 |
PHP 8.0 AL2 version 3.5.11 64bit Amazon Linux 2 v3.5.11 running PHP 8.0 |
2.0.20230822 |
PHP 8.0.28 |
2.0.13 |
nginx 1.22.1 (default), Apache 2.4.57 |
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.11 AL2023 version 4.0.4 64bit Amazon Linux 2023 v4.0.4 running Python 3.11 |
2023.1.20230825 |
Python 3.11.2 |
pipenv 2023.8.26 |
3.2.0 |
nginx 1.24.0 (default), Apache 2.4.56 |
||
Python 3.9 AL2023 version 4.0.4 64bit Amazon Linux 2023 v4.0.4 running Python 3.9 |
2023.1.20230825 |
Python 3.9.16 |
pipenv 2023.8.26 |
3.2.0 |
nginx 1.24.0 (default), Apache 2.4.56 |
||
Python 3.8 AL2 version 3.5.6 64bit Amazon Linux 2 v3.5.6 running Python 3.8 |
2.0.20230822 |
Python 3.8.16 |
pipenv 2023.8.26 |
3.2.0 |
nginx 1.22.1 (default), Apache 2.4.57 |
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.6.11 64bit Amazon Linux 2 v3.6.11 running Ruby 3.0 |
2.0.20230822 |
Ruby 3.0.6-p216 |
RubyGems 3.4.19 |
Puma 6.3.1 |
3.2.0 |
nginx 1.22.1 |
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.