In this project, you will learn how to deploy a high-availability LAMP stack web app using Amazon Elastic Beanstalk and Amazon Relational Database Service (Amazon RDS). The stack uses Linux, Apache, MySQL, and PHP. Using Elastic Beanstalk, you can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. Elastic Beanstalk automatically scales your application up and down based on your application's specific need using easily adjustable Auto Scaling settings. Amazon RDS makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks.

LAMP app architecture

What you'll accomplish:

Launch a LAMP stack web application using Amazon Elastic Beanstalk and Amazon Relational Database Service (Amazon RDS). Elastic Beanstalk provisions and manages the underlying infrastructure (e.g., Amazon EC2 instances) and stack components (e.g., OS, web server, language/framework) for you. Amazon RDS provides the MySQL database.

Deploy your web app using Amazon Elastic Beanstalk. You’ll upload your code to Elastic Beanstalk, which handles all deployment details for you.  

What you'll need before starting:

An Amazon Web Services Account: You will need an Amazon Web Services account to begin provisioning resources to host your website. Sign up for Amazon Web Services.

Code: If you have code for your application, you can deploy it using this guide. You can also use our sample app code instead.

Skill level: A basic understanding of web technologies and LAMP stack is recommended but not required.

Amazon Web Services Experience: No prior experience with Amazon Web Services is required to complete this project.


Accelerate your application with Lightsail. It provides everything you need to jumpstart your application on Amazon Web Services—compute, storage, and networking—for a low, predictable price.

This tutorial helps you install the Apache web server with PHP and MySQL support on an Amazon Linux instance. Use this tutorial if you prefer to install and manage the web server, language, and database on Amazon EC2 yourself.

Need more resources to get started with Amazon Web Services? Visit the Getting Started Resource Center to learn more.