AWS Elastic Beanstalk
Developer Guide (API Version 2010-12-01)
AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Elastic Beanstalk Supported Platforms

AWS Elastic Beanstalk provides platforms for programming languages (Java, PHP, Python, Ruby, Go), and web containers (Tomcat, Passenger, Puma), with multiple configurations of each.

Elastic Beanstalk provisions the resources needed to run your application, including one or more Amazon EC2 instances. The software stack running on the Amazon EC2 instances depends on the configuration. In a configuration name, the version number refers to the version of the platform configuration.

You can use the solution stack name listed under the configuration name to launch an environment with the EB CLI, Elastic Beanstalk API, or AWS CLI. You can also retrieve solution stack names from the service with the ListAvailableSolutionStacks API (aws elasticbeanstalk list-available-solution-stacks in the AWS CLI). This operation returns all of the solution stacks that you can use to create an environment.

Note

You can use solution stacks for the latest platform configurations (the current versions listed on this page) to create an environment.

In addition, a platform configuration that you used to launch or update an environment remains available (to the account in use, in the region used) even after it's no longer current, as long as the environment is active, and up to 30 days after its termination.

All current Linux-based platform configurations run on Amazon Linux 2017.03 (64-bit). You can customize and configure the software that your application depends on in your Linux platform. Learn more at Customizing Software on Linux Servers. Detailed release notes are available for recent releases at aws.amazon.com/releasenotes.

Packer Builder

Packer is an open-source tool for creating machine images for many platforms, including AMIs for use with Amazon EC2.

Configuration and Solution Stack Name

AMI

Packer Version

Elastic Beanstalk Packer Builder version 2.3.3

64bit Amazon Linux 2017.03 v2.3.3 running Packer 1.0.3

2017.03.1

1.0.3

For information on previous configurations, see Packer Platform History.

Go

Elastic Beanstalk supports the following Go configurations.

Configuration and Solution Stack Name

AMI

Language

Proxy Server

Go 1.9 version 2.7.0

64bit Amazon Linux 2017.09 v2.7.0 running Go 1.9

2017.09.0

Go 1.9.1

nginx 1.12.1

For information on previous configurations, see Go Platform History.

Java SE

Elastic Beanstalk supports the following Java SE configurations.

Configuration and Solution Stack Name

AMI

Language

Tools

AWS X‑Ray

Proxy Server

Java 8 version 2.5.5

64bit Amazon Linux 2017.03 v2.5.5 running Java 8

2017.03.1

Java 1.8.0_141

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

2.0.0

nginx 1.12.1

Java 7 version 2.5.5

64bit Amazon Linux 2017.03 v2.5.5 running Java 7

2017.03.1

Java 1.7.0_151

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

2.0.0

nginx 1.12.1

For information on previous configurations, see Java SE Platform History.

Java with Tomcat

Elastic Beanstalk supports the following Tomcat configurations.

Configuration and Solution Stack Name

AMI

Language

AWS X‑Ray

Application Server

Proxy Server

Java 8 with Tomcat 8 version 2.6.5

64bit Amazon Linux 2017.03 v2.6.5 running Tomcat 8 Java 8

2017.03.1

Java 1.8.0_141

2.0.0

Tomcat 8.0.45

Apache 2.2.34

Java 7 with Tomcat 7 version 2.6.5

64bit Amazon Linux 2017.03 v2.6.5 running Tomcat 7 Java 7

2017.03.1

Java 1.7.0_151

2.0.0

Tomcat 7.0.79

Apache 2.2.34

Java 6 with Tomcat 7 version 2.6.5

64bit Amazon Linux 2017.03 v2.6.5 running Tomcat 7 Java 6

2017.03.1

Java 1.6.0_41

2.0.0

Tomcat 7.0.79

Apache 2.2.34

For information on previous configurations, see Tomcat Platform History.

.NET on Windows Server with IIS

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 does not support worker environments, enhanced health reporting, managed updates, bundle logs, immutable updates, or log streaming.

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.

For information about the latest security updates, see Microsoft Security Bulletin Summary for 2017.

For information on previous configurations, see .NET on Windows Server with IIS Platform History.

Elastic Beanstalk supports the following .NET configurations.

Configuration basics

Configuration

Solution Stack Name

Framework

Proxy Server

Windows Server 2016 with IIS 10.0 version 1.2.0

64bit Windows Server 2016 v1.2.0 running IIS 10.0

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 10.0

Windows Server Core 2016 with IIS 10.0 version 1.2.0

64bit Windows Server Core 2016 v1.2.0 running IIS 10.0

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 10.0

Windows Server 2012 R2 with IIS 8.5 version 1.2.0

64bit Windows Server 2012 R2 v1.2.0 running IIS 8.5

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 8.5

Windows Server 2012 R2 Server Core with IIS 8.5 version 1.2.0

64bit Windows Server Core 2012 R2 v1.2.0 running IIS 8.5

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 8.5

Windows Server 2012 with IIS 8 version 1.2.0

64bit Windows Server 2012 v1.2.0 running IIS 8

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 8

Windows Server 2008 R2 with IIS 7.5 version 1.2.0

64bit Windows Server 2008 R2 v1.2.0 running IIS 7.5

.NET Core 2.0, supports 1.1.x, 1.0.x

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

IIS 7.5

Windows Server 2012 R2 with IIS 8.5

64bit Windows Server 2012 R2 running IIS 8.5

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

IIS 8.5

Windows Server 2012 R2 Server Core with IIS 8.5

64bit Windows Server Core 2012 R2 running IIS 8.5

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

IIS 8.5

Windows Server 2012 with IIS 8

64bit Windows Server 2012 running IIS 8

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

IIS 8

Windows Server 2008 R2 with IIS 7.5

64bit Windows Server 2008 R2 running IIS 7.5

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

IIS 7.5

More details

Configuration

AMI version

AWS SDK for .NET

EC2Config

SSM Agent

Web Deploy

AWS X‑Ray

Windows Server 2016 with IIS 10.0 version 1.2.0

2017.08.09

3.3.103.0

SSM only

2.0.879.0

3.6

1.0.0

Windows Server Core 2016 with IIS 10.0 version 1.2.0

2017.08.09

3.3.103.0

SSM only

2.0.879.0

3.6

1.0.0

Windows Server 2012 R2 with IIS 8.5 version 1.2.0

2017.08.09

3.3.58.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2012 R2 Server Core with IIS 8.5 version 1.2.0

2017.08.09

3.3.58.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2012 with IIS 8 version 1.2.0

2017.08.09

3.3.102.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2008 R2 with IIS 7.5 version 1.2.0

2017.08.09

3.3.102.0

4.9.1981

2.0.847.0

3.6

1.0.0

Windows Server 2012 R2 with IIS 8.5

2017.08.09

3.3.58.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2012 R2 Server Core with IIS 8.5

2017.08.09

3.3.58.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2012 with IIS 8

2017.08.09

3.3.102.0

4.9.2016

2.0.879.0

3.6

1.0.0

Windows Server 2008 R2 with IIS 7.5

2017.08.09

3.3.102.0

4.9.1981

2.0.847.0

3.6

1.0.0

Node.js

The Node.js platform includes a few Node.js versions in a single configuration. The following table lists them. The default version applies when the NodeVersion option in the aws:elasticbeanstalk:container:nodejs namespace isn't set. See Node.js Platform Options for details.

Each Node.js version includes a respective version of npm (the Node.js package manager). The table lists npm versions in parentheses.

Elastic Beanstalk supports the following Node.js configurations.

Configuration and Solution Stack Name

AMI

Node.js version (npm version)

Proxy Server

Git

AWS X‑Ray

Node.js version 4.3.0

64bit Amazon Linux 2017.03 v4.3.0 running Node.js

2017.03.1

8.4.0 (5.3.0), 8.1.4 (5.0.3), 7.10.1 (4.2.0), 7.6.0 (4.1.2), 6.11.1 (3.10.10), 6.10.0 (3.10.10), 5.12.0 (3.8.6), 4.8.4 (2.15.11)

Default platform: 6.11.1

nginx 1.12.1, Apache 2.4.27

2.13.5

2.0.0

For information on previous configurations, see Node.js Platform History.

Note

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

When this occurs, attempting to upgrade to a new version of the platform that does not support the configured NodeVersion will fail. To avoid needing to create a new environment, change the NodeVersion configuration option to a version that is supported by both the old configuration version and the new one, or remove the option setting, and then perform the platform upgrade.

PHP

Elastic Beanstalk supports the following PHP configurations.

Configuration and Solution Stack Name

AMI

Language

Composer

Proxy Server

PHP 7.1 version 2.5.0

64bit Amazon Linux 2017.03 v2.5.0 running PHP 7.1

2017.03.1

PHP 7.1.7

1.4.2

Apache 2.4.27

PHP 7.0 version 2.5.0

64bit Amazon Linux 2017.03 v2.5.0 running PHP 7.0

2017.03.1

PHP 7.0.21

1.4.2

Apache 2.4.27

PHP 5.6 version 2.5.0

64bit Amazon Linux 2017.03 v2.5.0 running PHP 5.6

2017.03.1

PHP 5.6.31

1.4.2

Apache 2.4.27

PHP 5.5 version 2.5.0

64bit Amazon Linux 2017.03 v2.5.0 running PHP 5.5

2017.03.1

PHP 5.5.38

1.4.2

Apache 2.4.27

PHP 5.4 version 2.5.0

64bit Amazon Linux 2017.03 v2.5.0 running PHP 5.4

2017.03.1

PHP 5.4.45

1.4.2

Apache 2.4.27

For information on previous configurations, see PHP Platform History.

Python

Elastic Beanstalk supports the following Python configurations.

Configuration and Solution Stack Name

AMI

Language

Package Manager

Packager

meld3

AWS X‑Ray

Proxy Server

Python 3.4 version 2.5.2

64bit Amazon Linux 2017.03 v2.5.2 running Python 3.4

2017.03.1

Python 3.4.3

pip 7.1.2

setuptools 18.4

meld3 1.0.2

2.0.0

Apache 2.4.27 with mod_wsgi 3.5

Python 2.7 version 2.5.2

64bit Amazon Linux 2017.03 v2.5.2 running Python 2.7

2017.03.1

Python 2.7.12

pip 7.1.2

setuptools 18.4

meld3 1.0.2

2.0.0

Apache 2.4.27 with mod_wsgi 3.5

Python 2.6 version 2.5.2

64bit Amazon Linux 2017.03 v2.5.2 running Python

2017.03.1

Python 2.6.9

pip 7.1.2

setuptools 18.4

meld3 1.0.2

2.0.0

Apache 2.4.27 with mod_wsgi 3.5

For information on previous configurations, see Python Platform History.

Ruby

Elastic Beanstalk supports the following Ruby configurations.

Configuration and Solution Stack Name

AMI

Language

Package Manager

Application Server

Proxy Server

Ruby 2.4 with Puma version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.4 (Puma)

2017.09.0

Ruby 2.4.2-p198

RubyGems 2.6.13

Puma 2.16.0

nginx 1.12.1

Ruby 2.4 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.4 (Passenger Standalone)

2017.09.0

Ruby 2.4.2-p198

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

Ruby 2.3 with Puma version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.3 (Puma)

2017.09.0

Ruby 2.3.5-p376

RubyGems 2.6.13

Puma 2.16.0

nginx 1.12.1

Ruby 2.3 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.3 (Passenger Standalone)

2017.09.0

Ruby 2.3.5-p376

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

Ruby 2.2 with Puma version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.2 (Puma)

2017.09.0

Ruby 2.2.8-p477

RubyGems 2.6.13

Puma 2.16.0

nginx 1.12.1

Ruby 2.2 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.2 (Passenger Standalone)

2017.09.0

Ruby 2.2.8-p477

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

Ruby 2.1 with Puma version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.1 (Puma)

2017.09.0

Ruby 2.1.10-p492

RubyGems 2.6.13

Puma 2.16.0

nginx 1.12.1

Ruby 2.1 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.1 (Passenger Standalone)

2017.09.0

Ruby 2.1.10-p492

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

Ruby 2.0 with Puma version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.0 (Puma)

2017.09.0

Ruby 2.0.0-p648

RubyGems 2.6.13

Puma 2.16.0

nginx 1.12.1

Ruby 2.0 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 2.0 (Passenger Standalone)

2017.09.0

Ruby 2.0.0-p648

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

Ruby 1.9 with Passenger version 2.6.0

64bit Amazon Linux 2017.09 v2.6.0 running Ruby 1.9.3

2017.09.0

Ruby 1.9.3-p551

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

For information on previous configurations, see Ruby Platform History.