hands-on lab

Deploy a PHP application using Elastic Beanstalk

Up to 1h 15m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Elastic Beanstalk: Deploy and manage applications in the AWS cloud

AWS Elastic Beanstalk is an easy way to deploy and scale applications written in Python, Ruby, Java, Node.js, Go, or PHP in familiar environments like Apache, Nginx, Passenger, and IIS, without worrying about the infrastructure that runs those applications.

In this lab, you will learn how to upload your code and deploy it with monitoring, auto-scaling, and load-balancing. Elastic Beanstalk is also free - you only pay for the AWS resources your application needs to run. Elastic Beanstalk lets you directly control the underlying AWS resources if required.

Lab Objectives

Upon completion of this lab, you will be able to:

  • Create Elastic Beanstalk applications and environments
  • Manage and monitor Elastic Beanstalk applications and environments
  • Understand different application update strategies in Elastic Beanstalk

Lab Prerequisites

You should be familiar with:

  • Basic Amazon EC2 and Virtual Private Cloud (VPC) concepts

Lab Environment

Before completing the lab instructions, the environment will look as follows:

After completing the lab instructions, the environment should look similar to:


April 25th, 2023 - Updated the instructions and screenshot to reflect the latest UI

April 21st, 2023 - Resolved Elastic Beanstalk app creation error

March 27th, 2023 - Resolved Elastic Beanstalk app & environment creation error

October 25th, 2022 - Updated screenshots due to UI changes

August 9th, 2022 - Updated instructions for better user understanding

May 4th, 2021 - Updated to PHP 7.4 and addressed an issue preventing environment deployment

April 29th, 2021 - Updated to use Amazon Linux 2

April 16th, 2021 - Updated screenshots and instructions to match latest user interface changes

February 12th, 2021 - Updated the lab to resolve a permission issue

February 5th, 2021 - Minor update to improve reliability

April 10th, 2020 - Updated instructions and screenshots due to the new Elastic Beanstalk UI

January 10th, 2019 - Added a validation lab Step to check the work you perform in the lab

October 16, 2018 - Adapted the lab to use an Application Load Balancer (the new default) rather than a Classic Load Balancer

April 12, 2018 - Complete update including easier to follow instructions and screenshots for the new Elastic Beanstalk UI

About the author
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

LinkedIn, Twitter, GitHub

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Creating an Elastic Beanstalk Application and Environment
Touring the Beanstalk Console
Deploying a New Version
Deleting the Application