Tutorials and Samples
Language and framework specific tutorials are spread throughout the AWS Elastic Beanstalk Developer Guide. New and updated tutorials are added to this list as they are published. The most recent updates are shown first.
These tutorials are targeted at intermediate users and may not contain instructions for basic steps such as signing up for AWS. If this is your first time using AWS or Elastic Beanstalk, check out the Getting Started walkthrough to get your first Elastic Beanstalk environment up and running from scratch.
Node.js with DynamoDB HA Configuration - Deploying a Node.js Application with DynamoDB to Elastic Beanstalk
PHP 5.6 and MySQL HA Configuration - Deploying a High-Availability PHP Application with an External Amazon RDS Database to Elastic Beanstalk
PHP 5.6 and Laravel 5.2 - Deploying a Laravel Application to Elastic Beanstalk
PHP 5.6 and CakePHP 3.2 - Deploying a CakePHP Application to Elastic Beanstalk
Python and Flask 0.10 - Deploying a Flask Application to AWS Elastic Beanstalk
Python and Django 1.9 - Deploying a Django Application to Elastic Beanstalk
Node.js and Express 4 - Deploying an Express Application to Elastic Beanstalk
Docker, PHP and nginx - Multicontainer Docker Environments with the AWS Management Console
Ruby on Rails - Deploying a Rails Application to Elastic Beanstalk
Ruby and Sinatra - Deploying a Sinatra Application to AWS Elastic Beanstalk
.NET Framework (IIS and ASP.NET) - Tutorial: How to Deploy a .NET Sample Application Using AWS Elastic Beanstalk
You can download the sample applications used by Elastic Beanstalk when you create an environment without providing a source bundle with the following links:
Go – go-v1.zip
Java with Tomcat – java-tomcat-v2.zip
Java SE – java-se-jetty-gradle-v1.zip
.NET on Windows Server with IIS – dotnet-asp-v1.zip
Node.js – nodejs-v1.zip
PHP – php-v1.zip
Python – python-v1.zip
Ruby (Passenger Standalone) – ruby-passenger-v2.zip
Ruby (Puma) – ruby-puma-v2.zip
Single Container Docker – docker-singlecontainer-v1.zip
Multicontainer Docker – docker-multicontainer-v2.zip
Preconfigured Docker (Glassfish) – docker-glassfish-v1.zip
Preconfigured Docker (Python 3.x) – docker-python-v1.zip
Preconfigured Docker (Go) – docker-golang-v1.zip
More involved sample applications that show the use of additional web frameworks, libraries and tools are available as open source projects on GitHub:
Load Balanced WordPress – Configuration files for installing WordPress securely and running it in a load balanced AWS Elastic Beanstalk environment.
Load Balanced Drupal – Configuration files and instructions for installing Drupal securely and running it in a load balanced AWS Elastic Beanstalk environment.
Scorekeep - RESTful web API that uses the Spring framework to provide an interface for creating and managing users, sessions, and games. The API is bundles with an Angular 1.5 web app that consumes the API over HTTP.
The application uses features of the Java SE platform to download dependencies and build on-instance, minimizing the size of the souce bundle. The application also includes nginx configuration files that override the default configuration to serve the frontend web app statically on port 80 through the proxy, and route requests to paths under
/apito the API running on
Does it Have Snakes? - Tomcat application that shows the use of RDS in a Java EE web application in AWS Elastic Beanstalk. The project shows the use of Servlets, JSPs, Simple Tag Support, Tag Files, JDBC, SQL, Log4J, Bootstrap, Jackson, and Elastic Beanstalk configuration files.
Locust Load Generator - This project shows the use of Java SE platform features to install and run Locust, a load generating tool written in Python. The project includes configuration files that install and configure Locust, a build script that configures a DynamoDB table, and a Procfile that runs Locust.