Getting Started with AWS

Deploy Drupal with Amazon RDS

Introduction: Deploy Drupal with Amazon RDS

Follow step-by-step instructions to set up a Drupal site to run a blog


Drupal is a popular content management system (CMS) that is used for blogs, corporate websites, political campaigns, and many other use cases. It is used by over 3% of the top 1 million sites on the Internet and over 10% of the top 10,000 sites on the Internet. It is particularly popular with high-volume websites and is used by everyone from Pinterest to the NBA and League of Legends.

In this lab, you will learn how to set up a Drupal site to run a blog. Drupal requires a relational database to store its data. In this lab, you will use Amazon RDS, a fully managed database service provided by AWS, to provision a relational database for your Drupal site.

Why this matters

Your Drupal database will store all of your persistent data for your Drupal site. All of the blog posts you write or landing pages you create will be stored in this database. If your database fails, you could lose all of the data powering your site.

Running and maintaining a database is a difficult job. Database performance optimization, failover strategies, and disaster recovery procedures are complex areas that require years of experience. A mistake in this area can be costly to your business. If you are running a Drupal website, you want to stay focused on creating the content that matters to your users, not maintaining a database.

Using a fully managed database hosting solution like Amazon RDS is a great way to offload database maintenance work. AWS has automated the undifferentiated heavy lifting of running a database so that you are free to do your best work.

With Amazon RDS, you get:

  • Simple, fast provisioning of popular relational database engines configured with sane defaults to help with performance;
  • Multi-AZ replication and automated failover so that your site stays running in the event of an outage;
  • One-click resize so you can increase your database size as your website traffic increases.

With these features, you can run a high-performance Drupal website without needing to worry about database administration. You can build your website and handle the scaling issues with ease.

In the following modules, you will configure a Drupal installation using Amazon RDS. To configure this Drupal site, you will create the following resources in AWS:

  • An Amazon EC2 instance to install and host your Drupal site;
  • An Amazon RDS database to store your Drupal data.

In the step below, you will create an AWS account so that you can follow along with the modules in this lab.

 AWS Experience


 Time to Complete

50 minutes

 Cost to Complete

This tutorial costs nothing to complete, assuming you remain in the AWS Free Tier*

 Tutorial Prereqs

Technologies used:

*This estimate assumes you follow the recommended configurations throughout the tutorial and terminate all resources upon completion.
**Accounts that have been created within the last 24 hours might not yet have access to the resources required for this project.

Step 1: Create an AWS account

Use a personal account or create a new AWS account for this lab rather than using an organization’s account to ensure that you have full access to the necessary services and do not leave behind any resources from the lab.

Once you have an AWS account set up, move on to the next module where you launch a database instance with Amazon RDS.


This tutorial is divided into five short modules. You must complete each module in order before moving on to the next one.

  1. Creating a Database with RDS (5 minutes): Create a database for your Drupal site
  2. Creating an EC2 Instance (10 minutes): Create an Amazon EC2 instance to run your Drupal site
  3. Configuring Your RDS Database (15 minutes): Configure the RDS database to allow access to specific entities
  4. Configuring Drupal on EC2 (15 minutes): Set up your Drupal installation to make it live
  5. Clean up and Next Steps (5 minutes): Clean up the resources created in this lab

Creating a Database with RDS