AWS Elastic Beanstalk
Platforms

Elastic Beanstalk Supported Platforms

Elastic Beanstalk provides preconfigured platforms that support running web applications developed for specific programming languages, frameworks, and web containers. Elastic Beanstalk offers one or more configurations 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 configuration you chose.

For more information about platforms, see 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 currently supported platform configurations. All current Linux-based platform configurations run on Amazon Linux 2018.03 (64-bit).

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.6.3

64bit Amazon Linux 2018.03 v2.6.3 running Packer 1.0.3

2018.03.0

1.0.3

For information about previous configurations, see Packer Platform History.

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 in the AWS Elastic Beanstalk Developer Guide for more information about the Docker platform.

Configuration and Solution Stack Name

AMI

Docker Version

Proxy Server

Single Container Docker 18.03 version 2.12.5

64bit Amazon Linux 2018.03 v2.12.5 running Docker 18.06.1-ce

2018.03.0

18.06.1-ce

nginx 1.12.1

For information about previous configurations, see Single Container 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.

Note

Elastic Beanstalk uses Amazon Elastic Container Service (Amazon ECS) to coordinate container deployments to multicontainer Docker environments. Some regions don't offer Amazon ECS. Multicontainer Docker isn't supported in these regions.

For information about the AWS services offered in each region, see Region Table.

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

Configuration and Solution Stack Name

AMI

Docker Version

ECS Agent

Multicontainer Docker 18.03 version 2.11.5

64bit Amazon Linux 2018.03 v2.11.5 running Multi-container Docker 18.06.1-ce (Generic)

2018.03.0

18.06.1-ce

1.21.0

For information about previous configurations, see Multicontainer 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 provide 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 5.0 (Docker) version 2.12.5

64bit Amazon Linux v2.12.5 running GlassFish 5.0 Java 8 (Preconfigured - Docker)

2018.03.0

Docker 18.06.1-ce

Amazon Linux 2018.03

Java 8

nginx 1.12.1

Glassfish 5.0

amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1

Go 1.4 (Docker) version 2.12.5

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

2018.03.0

Docker 18.06.1-ce

Debian Jessie

Go 1.4.2

nginx 1.12.1

none

golang:1.4.2-onbuild

Go 1.3 (Docker) version 2.12.5

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

2018.03.0

Docker 18.06.1-ce

Debian Jessie

Go 1.3.3

nginx 1.12.1

none

golang:1.3.3-onbuild

Python 3.4 with uWSGI 2 (Docker) version 2.12.5

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

2018.03.0

Docker 18.06.1-ce

Debian Jessie

Python 3.4

nginx 1.12.1

uWSGI 2.0.8

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

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

Go

Elastic Beanstalk supports the following Go configurations.

Configuration and Solution Stack Name

AMI

Language

AWS X‑Ray

Proxy Server

Go 1.11 version 2.9.3

64bit Amazon Linux 2018.03 v2.9.3 running Go 1.11.3

2018.03.0

Go 1.11.3

2.0.0

nginx 1.12.1

For information about 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.7.7

64bit Amazon Linux 2018.03 v2.7.7 running Java 8

2018.03.0

Java 1.8.0_191

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

2.0.0

nginx 1.12.1

Java 7 version 2.7.7

64bit Amazon Linux 2018.03 v2.7.7 running Java 7

2018.03.0

Java 1.7.0.191

Ant 1.9.6, Gradle 2.7, Maven 3.3.3

2.0.0

nginx 1.12.1

For information about 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.5 version 3.0.6

64bit Amazon Linux 2018.03 v3.0.6 running Tomcat 8.5 Java 8

2018.03.0

Java 1.8.0_191

2.0.0

Tomcat 8.5.32

Apache 2.4.34 (default), Apache 2.2.34, Nginx 1.12.1

Java 8 with Tomcat 8 version 3.0.6

64bit Amazon Linux 2018.03 v3.0.6 running Tomcat 8 Java 8

2018.03.0

Java 1.8.0_191

2.0.0

Tomcat 8.0.53

Apache 2.4.34 (default), Apache 2.2.34, Nginx 1.12.1

Java 7 with Tomcat 7 version 3.0.6

64bit Amazon Linux 2018.03 v3.0.6 running Tomcat 7 Java 7

2018.03.0

Java 1.7.0.191

2.0.0

Tomcat 7.0.91

Apache 2.4.34 (default), Apache 2.2.34, Nginx 1.12.1

Java 6 with Tomcat 7 version 3.0.6

64bit Amazon Linux 2018.03 v3.0.6 running Tomcat 7 Java 6

2018.03.0

Java 1.6.0_41

2.0.0

Tomcat 7.0.91

Apache 2.4.34 (default), Apache 2.2.34, Nginx 1.12.1

For information about 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 doesn't support worker environments, enhanced health reporting, managed updates, bundle logs, and 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 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 configurations for Elastic Beanstalk, see .NET on Windows Server with IIS Platform History.

Note

To use the C5 instance type family, choose Windows Server 2012 R2 or newer.

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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.1.6, supports 2.1.6, 2.0.9, 1.1.10, 1.0.13

.NET Framework 4.7.2, 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.2, 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.2, 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.2, 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.2, 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

2018.11.28

3.3.408.0

SSM only

2.3.235.0

3.6

1.0.0

Windows Server Core 2016 with IIS 10.0 version 1.2.0

2018.11.28

3.3.408.0

SSM only

2.3.235.0

3.6

1.0.0

Windows Server 2012 R2 with IIS 8.5 version 1.2.0

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2012 R2 Server Core with IIS 8.5 version 1.2.0

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2012 with IIS 8 version 1.2.0

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2008 R2 with IIS 7.5 version 1.2.0

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2012 R2 with IIS 8.5

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2012 R2 Server Core with IIS 8.5

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2012 with IIS 8

2018.11.28

3.3.408.0

4.9.3067

2.3.235.0

3.6

1.0.0

Windows Server 2008 R2 with IIS 7.5

2018.11.28

3.3.408.0

4.9.3067

2.3.235.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. For details, see Node.js Platform Options in the AWS Elastic Beanstalk Developer Guide.

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.7.0

64bit Amazon Linux 2018.03 v4.7.0 running Node.js

2018.03.0

10.13.0 (6.4.1), 8.12.0 (6.4.1), 8.11.4 (5.6.0), 7.10.1 (4.2.0), 6.14.4 (3.10.10), 6.14.3(3.10.10), 5.12.0 (3.8.6), 4.9.1(2.15.11), 4.8.7 (2.15.11)

Default platform: 10.13.0

nginx 1.12.1, Apache 2.4.34

2.14.5

2.0.0

For information about 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 update. 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 update.

PHP

Elastic Beanstalk supports the following PHP configurations.

Configuration and Solution Stack Name

AMI

Language

Composer

Proxy Server

PHP 7.2 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 7.2

2018.03.0

PHP 7.2.11

1.4.2

Apache 2.4.34

PHP 7.1 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 7.1

2018.03.0

PHP 7.1.23

1.4.2

Apache 2.4.34

PHP 7.0 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 7.0

2018.03.0

PHP 7.0.32

1.4.2

Apache 2.4.34

PHP 5.6 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 5.6

2018.03.0

PHP 5.6.38

1.4.2

Apache 2.4.34

PHP 5.5 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 5.5

2018.03.0

PHP 5.5.38

1.4.2

Apache 2.4.34

PHP 5.4 version 2.8.4

64bit Amazon Linux 2018.03 v2.8.4 running PHP 5.4

2018.03.0

PHP 5.4.45

1.4.2

Apache 2.4.34

For information about 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.6 version 2.7.6

64bit Amazon Linux 2018.03 v2.7.6 running Python 3.6

2018.03.0

Python 3.6.5

pip 9.0.3

setuptools 28.8.0

meld3 1.0.2

2.0.0

Apache 2.4.34 with mod_wsgi 3.5

Python 3.4 version 2.7.6

64bit Amazon Linux 2018.03 v2.7.6 running Python 3.4

2018.03.0

Python 3.4.8

pip 9.0.3

setuptools 28.8.0

meld3 1.0.2

2.0.0

Apache 2.4.34 with mod_wsgi 3.5

Python 2.7 version 2.7.6

64bit Amazon Linux 2018.03 v2.7.6 running Python 2.7

2018.03.0

Python 2.7.14

pip 9.0.3

setuptools 28.8.0

meld3 1.0.2

2.0.0

Apache 2.4.34 with mod_wsgi 3.5

Python 2.6 version 2.7.6

64bit Amazon Linux 2018.03 v2.7.6 running Python 2.6

2018.03.0

Python 2.6.9

pip 9.0.3

setuptools 28.8.0

meld3 1.0.2

2.0.0

Apache 2.4.34 with mod_wsgi 3.5

For information about 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.5 with Puma version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.5 (Puma)

2018.03.0

Ruby 2.5.3-p105

RubyGems 2.7.7

Puma 2.16.0

nginx 1.12.1

Ruby 2.5 with Passenger version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.5 (Passenger Standalone)

2018.03.0

Ruby 2.5.3-p105

RubyGems 2.7.7

Passenger 4.0.60

nginx 1.12.1

Ruby 2.4 with Puma version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.4 (Puma)

2018.03.0

Ruby 2.4.5-p335

RubyGems 2.7.7

Puma 2.16.0

nginx 1.12.1

Ruby 2.4 with Passenger version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.4 (Passenger Standalone)

2018.03.0

Ruby 2.4.5-p335

RubyGems 2.7.7

Passenger 4.0.60

nginx 1.12.1

Ruby 2.3 with Puma version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.3 (Puma)

2018.03.0

Ruby 2.3.8-p459

RubyGems 2.7.7

Puma 2.16.0

nginx 1.12.1

Ruby 2.3 with Passenger version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.3 (Passenger Standalone)

2018.03.0

Ruby 2.3.8-p459

RubyGems 2.7.7

Passenger 4.0.60

nginx 1.12.1

Ruby 2.2 with Puma version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.2 (Puma)

2018.03.0

Ruby 2.2.10-p489

RubyGems 2.7.6

Puma 2.16.0

nginx 1.12.1

Ruby 2.2 with Passenger version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.2 (Passenger Standalone)

2018.03.0

Ruby 2.2.10-p489

RubyGems 2.7.6

Passenger 4.0.60

nginx 1.12.1

Ruby 2.1 with Puma version 2.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.1 (Puma)

2018.03.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.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.1 (Passenger Standalone)

2018.03.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.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.0 (Puma)

2018.03.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.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 2.0 (Passenger Standalone)

2018.03.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.8.6

64bit Amazon Linux 2018.03 v2.8.6 running Ruby 1.9.3

2018.03.0

Ruby 1.9.3-p551

RubyGems 2.6.13

Passenger 4.0.60

nginx 1.12.1

For information about previous configurations, see Ruby Platform History.