Database image
daniel / 26.09.2020

How to setup autoscaling RDS database on AWS

Prerequisites

When using most popular CMS it's recommended to install them using most common database engine - MySQL. You can setup your own instance, but to be strict with Amazon's recommendations we will use AWS RDS for MySQL service. Easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching and backups.

Simple AWS RDS instance can be set up easy in few steps, just start with your AWS Account console, and from Services tab select RDS, like on the screen shown below.

Select RDS from AWS services list


On the next screen we need to start Create database process. If you don't have big orange button, you can just click on DB Instances (0/40) link. Create database button will appear on the right side, at the top menu.

Start with Create database button

Next screen allows us to provide configuration details related to new RDS database. We recommend to use Amazon Aurora database engine, which is compatible with MySQL along with Standard create option, which is a little bit more complicated way than Easy create, but allows to optimize most costs.

To use RDS with most Content Management Systems it's better to use Serverless capacity type. With this setting Aurora scales the compute capacity of the DB instance to match your application's usage. It's allows to save much money when site is not used.

MySQL version should be set to 5.7. Most applications work much stable and faster with this version of database.

AWS Aurora settings compatible with MySQL

In the next section it's needed to provide few more details, which will allow us to create database and connect to it. DB cluster identifier sets visible name in AWS panel - you can identify various database instances by this parameter. In credentials settings you're going to set username and password for MySQL user who will have administrator privileges.

RDS settings

Capacity section allows us to define the minimum and maximum capacity of database instance. RDS will scale by default to minimum capacity. When database load will increase RDS will scale instance to higher tier, but maximally to specified limit. If database will be less loaded - it will be scaled down.

Create RDS Aurora for MySQL

In last step it's needed to configure connectivity - just specify VPC where instance will be deployed. And that's it. Database will be created within next few minutes.