Menu
AWS Elastic Beanstalk
Developer Guide (API Version 2010-12-01)

Supported Platforms

Elastic Beanstalk provides platforms for programming languages (Java, PHP, Python, Ruby, Go), web containers (Tomcat, Passenger, Puma) and Docker containers, 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.

The solution stack name listed beneath the configuration name can be used to launch an environment with the EB CLI, Elastic Beanstalk API, or AWS CLI. Solution stack names can also be retrieved 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, including stacks for the latest platform configurations (listed on this page), and any previous versions that you have used in the past.

All current Linux based platform configurations run on Amazon Linux 2016.03 (64-bit). Detailed release notes are available for recent releases at aws.amazon.com/releasenotes.

Single Container 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 Single Container Docker platform if you only need to run a single Docker container on each instance in your environment. The single container configuration includes an nginx proxy server.

See Deploying Elastic Beanstalk Applications from Docker Containers for more information about the Docker platform.

Configuration and Solution Stack Name

AMI

Docker Version

Proxy Server

Single Container Docker 1.11 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Docker 1.11.1

2016.03.2

1.11.1

nginx 1.8.1

For information on previous configurations, see Docker Platform History.

Multicontainer 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 Multicontainer Docker platform if you need to run multiple containers on each instance. The Multicontainer Docker platform does not include a proxy server.

See Deploying Elastic Beanstalk Applications from Docker Containers for more information about the Docker platform.

Configuration and Solution Stack Name

AMI

Docker Version

ECS Agent

Multicontainer Docker 1.11 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Multi-container Docker 1.11.1 (Generic)

2016.03.2

1.11.1

1.10.0

For information on previous configurations, see Docker Platform History.

Preconfigured Docker

Preconfigured Docker platform configurations use Docker, but do not let you provide your own Docker images. The preconfigured containers provide application frameworks that are not available on other platforms, such as Glassfish. They also provided support for Go applications prior to the release of the full fledged Go platform.

Configuration and Solution Stack Name

AMI

Platform

Container OS

Language

Proxy Server

Application Server

Docker Image

Glassfish 4.1 (Docker) version 2.1.3

64bit Debian jessie v2.1.3 running GlassFish 4.1 Java 8 (Preconfigured - Docker)

2016.03.2

Docker 1.11.1

Debian Jessie

Java 8

nginx 1.8.1

Glassfish 4.1

amazon/aws-eb-glassfish:4.1-jdk8-onbuild-3.5.1

Glassfish 4.0 (Docker) version 2.1.3

64bit Debian jessie v2.1.3 running GlassFish 4.0 Java 7 (Preconfigured - Docker)

2016.03.2

Docker 1.11.1

Debian Jessie

Java 7

nginx 1.8.1

Glassfish 4.0

amazon/aws-eb-glassfish:4.0-jdk7-onbuild-3.5.1

Go 1.4 (Docker) version 2.1.3

64bit Debian jessie v2.1.3 running Go 1.4 (Preconfigured - Docker)

2016.03.2

Docker 1.11.1

Debian Jessie

Go 1.4.2

nginx 1.8.1

none

golang:1.4.2-onbuild

Go 1.3 (Docker) version 2.1.3

64bit Debian jessie v2.1.3 running Go 1.3 (Preconfigured - Docker)

2016.03.2

Docker 1.11.1

Debian Jessie

Go 1.3.3

nginx 1.8.1

none

golang:1.3.3-onbuild

Python 3.4 with uWSGI 2 (Docker) version 2.1.3

64bit Debian jessie v2.1.3 running Python 3.4 (Preconfigured - Docker)

2016.03.2

Docker 1.11.1

Debian Jessie

Python 3.4

nginx 1.8.1

uWSGI 2.0.8

amazon/aws-eb-python:3.4.2-onbuild-3.5.1

For information on previous configurations, see Preconfigured Docker Platform History.

Go

Elastic Beanstalk supports the following Go configurations:

Configuration and Solution Stack Name

AMI

Language

Proxy Server

Go 1.5 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Go 1.5

2016.03.2

Go 1.5.3

nginx 1.8.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

Proxy Server

Java 8 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Java 8

2016.03.2

Java 1.8.0_91

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

nginx 1.8.1

Java 7 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Java 7

2016.03.2

Java 1.7.0_101

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

nginx 1.8.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

Application Server

Proxy Server

Java 8 with Tomcat 8 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Tomcat 8 Java 8

2016.03.2

Java 1.8.0_91

Tomcat 8.0.35

Apache 2.2.31

Java 7 with Tomcat 7 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Tomcat 7 Java 7

2016.03.2

Java 1.7.0_101

Tomcat 7.0.69

Apache 2.2.31

Java 6 with Tomcat 7 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Tomcat 7 Java 6

2016.03.2

Java 1.6.0_38

Tomcat 7.0.69

Apache 2.2.31

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 or immutable updates.

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. Elastic Beanstalk supports the following configurations:

Configuration and Solution Stack Name

AMI version

Framework

AWS SDK for .NET

EC2Config

WebDeploy

Proxy Server

Windows Server 2012 R2 with IIS 8.5 version 1.1.0

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

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8.5

Windows Server 2012 R2 Server Core with IIS 8.5 version 1.1.0

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

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8.5

Windows Server 2012 with IIS 8 version 1.1.0

64bit Windows Server 2012 v1.1.0 running IIS 8

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8

Windows Server 2008 R2 with IIS 7.5 version 1.1.0

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

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 7.5

Windows Server 2012 R2 with IIS 8.5

64bit Windows Server 2012 R2 running IIS 8.5

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8.5

Windows Server 2012 R2 Server Core with IIS 8.5

64bit Windows Server Core 2012 R2 running IIS 8.5

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8.5

Windows Server 2012 with IIS 8

64bit Windows Server 2012 running IIS 8

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 8

Windows Server 2008 R2 with IIS 7.5

64bit Windows Server 2008 R2 running IIS 7.5

2016.05.11

.NET v4.6.1, Supports runtimes 4, 2.0, 1.1 and 1.0

3.9.329.0

3.15.880

3.6

IIS 7.5

1 Microsoft Security Bulletin Summary for June 2016

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

Node.js

Elastic Beanstalk supports the following Node.js configurations:

Configuration and Solution Stack Name

AMI

Platform

Package Manager

Proxy Server

Git

Node.js version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Node.js

2016.03.2

Node.js 4.4.6, Also supports 6.2.2, 5.12.0, 0.12.15, 0.10.46, 0.8.28

NPM 2.15.5

nginx 1.8.1, Apache 2.4.18

2.7.4

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 5.6 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running PHP 5.6

2016.03.2

PHP 5.6.22

1.1.2

Apache 2.4.18

PHP 5.5 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running PHP 5.5

2016.03.2

PHP 5.5.36

1.1.2

Apache 2.4.18

PHP 5.4 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running PHP 5.4

2016.03.2

PHP 5.4.45

1.1.2

Apache 2.4.18

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

Proxy Server

Python 3.4 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Python 3.4

2016.03.2

Python 3.4.3

pip 7.1.2

setuptools 18.4

meld3 1.0.2

Apache 2.4.18 with mod_wsgi 3.5

Python 2.7 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Python 2.7

2016.03.2

Python 2.7.10

pip 7.1.2

setuptools 18.4

meld3 1.0.2

Apache 2.4.18 with mod_wsgi 3.5

Python 2.6 version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Python

2016.03.2

Python 2.6.9

pip 7.1.2

setuptools 18.4

meld3 1.0.2

Apache 2.4.18 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.3 with Puma version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.3 (Puma)

2016.03.2

Ruby 2.3.1-p112

RubyGems 2.5.1

Puma 2.16.0

nginx 1.8.1

Ruby 2.3 with Passenger version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.3 (Passenger Standalone)

2016.03.2

Ruby 2.3.1-p112

RubyGems 2.5.1

Passenger 4.0.60

nginx 1.8.1

Ruby 2.2 with Puma version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.2 (Puma)

2016.03.2

Ruby 2.2.5-p319

RubyGems 2.4.5.1

Puma 2.16.0

nginx 1.8.1

Ruby 2.2 with Passenger version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.2 (Passenger Standalone)

2016.03.2

Ruby 2.2.5-p319

RubyGems 2.4.5.1

Passenger 4.0.60

nginx 1.8.1

Ruby 2.1 with Puma version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.1 (Puma)

2016.03.2

Ruby 2.1.9-p490

RubyGems 2.2.5

Puma 2.16.0

nginx 1.8.1

Ruby 2.1 with Passenger version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.1 (Passenger Standalone)

2016.03.2

Ruby 2.1.9-p490

RubyGems 2.2.5

Passenger 4.0.60

nginx 1.8.1

Ruby 2.0 with Puma version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.0 (Puma)

2016.03.2

Ruby 2.0.0-p648

RubyGems 2.0.14.1

Puma 2.16.0

nginx 1.8.1

Ruby 2.0 with Passenger version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.0 (Passenger Standalone)

2016.03.2

Ruby 2.0.0-p648

RubyGems 2.0.14.1

Passenger 4.0.60

nginx 1.8.1

Ruby 1.9 with Passenger version 2.1.3

64bit Amazon Linux 2016.03 v2.1.3 running Ruby 1.9.3

2016.03.2

Ruby 1.9.3-p551

RubyGems 1.8.23.2

Passenger 4.0.60

nginx 1.8.1

For information on previous configurations, see Ruby Platform History.