RDS Create A Database

Welcome to this article. In this article we’ll go ahead and create a new database with Amazon Relational Database Service (RDS). This database is going to be a MySQL database, but you can follow along to create really any of the options available in RDS.

Let’s go! 🚀

To begin, head over to your AWS Console and click on Services > RDS (Under Database).

Since I don’t have any databases created, it shows a Create Database button at the top, but you can also see a create section below. In any case, click on Create Database.

Here you’ll see several databases listed, and by default, Amazon Aurora is selected. You can choose whichever you prefer, I’m going to go with MySQL.

You can then choose the version of your database. If you would like to use a specific version, you can select it from the dropdown. AWS also conveniently gives us a link to known issues/limitations, if you’d like to know more about the version.

You can also choose the template, whether production, test or free tier. I am currently on the free tier to I am going to choose the same.

NOTE: Free tier is not available for Aurora and Oracle

You then need to scroll down and enter credentials that will be used to access the database.

DB instance identifier is simply an id used by AWS and is can insensitive. Enter a username and password that will be used to connect to the database instance.

Next you can select the server instance class. If you’ve selected Free tier you’ll only have this one option available.Below that you have storage details. You can choose to auto scale the storage and set a maximum size.

Choose whether you want disaster recovery of your database via Multi-AZ deployment. Multi-AZ stands for Multiple Availability Zones. So, each city that has AWS servers usually has multiple availability zones, in case a building goes through a catastrophic failure. If your application requires high availability, then you might want to go with Multi-AZ, but do note that it will increase your server costs.

You may also select your VPC (Virtual Private Cloud), so that services in that cloud can access the database. 

By default AWS keeps the database private, so it cannot be accessed from outside the VPC. It won’t even have a public IP address, so you cannot connect to it directly. You may change this in advanced settings, but make sure you attach a security group (or create one) that only allows incoming connections from trusted computers (including AWS services). You can also make it available to a specific subnet.

Choose a specific AZ or let AWS choose it, and set the port number to be used to access the database.

On scrolling further you can view Additional Configuration to set the default database name to create one and automatic backups.

If you do choose to keep backups, it will give you an option to choose how long the backups are retained. Storing backups is chargeable, however with the free tier you tend to get 20GB of storage for backups and 20GB for the database.Select a window for how frequently you want the backups to happen, or keep no preference. 

You can choose to enable enhanced monitoring and enable logs to get more details about the instance and track down issues if something goes wrong.

Finally, you can select maintenance options such as minor version upgrades and maintenance frequency. You can also Enable Deletion Protection so that the delete option is disabled. You need to come back here and enable it again to be able to delete this database.

AWS also lists estimated costs below, which is very convenient. In my case since I’m using free tier, it just lists the benefits I have in free tier.

Once all options are configured, just scroll down and click Create Database. It takes some time to get up and running, so you can check back in a few minutes.

Congrats, you’ve got your database up and running! But there’s more work to do to complete your startup. Next up, let’s connect our EC2 instance to RDS!

Check out the next article to set it up! I’ll meet you there, bye! 👋