AWS Certified Cloud Practitioner / Databases & Analytics

RDS Hands On

πŸ§ͺ Hands-On: Amazon RDS MySQL Database

In this lab, you'll create your first RDS MySQL database and learn to:

  • πŸ—„οΈ Create and configure an RDS database

  • πŸ” Set up authentication and networking

  • πŸ“Έ Create and restore a database snapshot

  • πŸ—‘οΈ Clean up your AWS resources

By the end, you'll know the basics of deploying and managing a relational database on RDS.


🌍 The Scenario

You're deploying a web app that needs a database for customer and application data.

Instead of installing and managing MySQL on EC2 yourself, you use Amazon RDS β€” AWS handles the infrastructure, backups, patching, and maintenance for you.

Let's build it! πŸš€


⚠️ Cost Warning

Running an RDS database can incur charges if your Free Tier has expired or you leave it running after the lab.

πŸ’‘ Delete all resources when you're done to avoid unnecessary costs.


πŸš€ Step 1: Open the Amazon RDS Console

From the AWS Management Console:

  1. Search for RDS.

  2. Open the Amazon RDS Console.

  3. From the navigation pane on the left, click Databases.

  4. Click Create database.


πŸš€ Step 2: Choose the Database Creation Method

You'll see two options:

  • ⚑Express configuration - Easy Create

  • βš™οΈ Full Configuration - Standard Create

βœ… Choose Full Configuration β€” it exposes the real-world settings you'll use in production.


πŸš€ Step 3: Select the Database Engine

RDS supports several engines:

  • ⚑ Aurora (MySQL compatible)

  • ⚑ Aurora (PostgreSQL compatible)

  • 🐬 MySQL

  • 🐘 PostgreSQL

  • 🦭 MariaDB

  • πŸ”Ά Oracle

  • πŸͺŸ SQL Server

  • 🟦 IBM Db2

βœ… Select MySQL β€” popular, beginner-friendly, fully supported.


πŸš€ Step 4: Choose the Database Template

  • 🏒 Production β€” Multi-AZ for high availability, fault tolerance, disaster recovery

  • πŸ§ͺ Dev/Test

  • πŸ†“ Free Tier / Sandbox β€” single instance, single AZ, low cost

βœ… Select Free Tier or sandbox for this lab.


πŸš€ Step 6: Configure Settings

  • Engine Version: leave default (AWS recommends a stable version)

  • DB Instance Identifier: leave default

  • Master Username: leave default

Credential Management β€” two options:

  • πŸ” Self-managed password

  • πŸ”‘ AWS Secrets Manager (auto-stores and rotates passwords)

βœ… Choose Self-managed for simplicity in this lab.

Enter and confirm a strong password, e.g. T8!mK#92Lp%X. ⚠️ Never use weak passwords.

Leave Password Authentication enabled.

RDS also supports IAM Database Authentication for IAM users/roles to connect directly.


πŸš€ Step 7: Choose the Instance Configuration

Under DB Instance Class, keep the default Free Tier option
(db.t4g.micro or db.t3.micro β€” either works).


πŸš€ Step 8: Configure Storage

Leave the default storage size: βœ… 20 GB

Expand Additional Storage Configuration.

You'll notice an option called: βœ… Storage Autoscaling

πŸ’‘ Storage Autoscaling grows capacity automatically as your database fills up β€” e.g. 20 GB β†’ 50 GB β†’ 100 GB β†’ up to 1,000 GB β€” so your app never fails from running out of space.


πŸš€ Step 9: Configure Connectivity

Under Connectivity, configure the following:

  • Don't connect to an EC2 compute resource

  • VPC: Default

  • Subnet Group: Default

For Public Access, choose: βœ… Yes

πŸ’‘ Why Public Access?

Selecting Yes gives the database a public endpoint, making it easier to connect to during this lab.


πŸš€ Step 10: Create a Security Group

  • VPC Security Group: Create New

  • Name it: demo-rds

  • Leave the rest default


πŸš€ Step 11: Database Port

Leave the default port: 3306 β€” MySQL's standard port.

πŸ’‘ Why Port 3306?

3306 is the default port used by MySQL for database connections.


πŸš€ Step 12: Monitoring

Leave: βœ… Standard Monitoring

RDS also offers Enhanced Monitoring, CloudWatch Metrics, and Log Exports if you need more.


πŸš€ Step 13: Create Database

Review your settings, then click βœ… Create Database


⏳ Step 14: Wait for the Database to be Created

RDS takes a few minutes to provision the database. AWS is setting up all the required infrastructure behind the scenes.

Be patient while AWS prepares all of the required infrastructure.


πŸŽ‰ Step 15: Explore Your Database

Once status shows Available, click the database name to see:

  • πŸ“ Availability Zone

  • 🌐 Endpoint

  • πŸ”Œ Port Number

  • βš™οΈ Configuration

  • πŸ’Ύ Storage

  • πŸ”’ Security Settings

πŸ’‘ The Endpoint + Port (3306) are what your application uses to connect.

πŸ”’ Review the Security Group

Open the attached Security Group β†’ Inbound Rules tab. You'll see traffic allowed on port 3306

πŸ‘€ Explore Monitoring

Open the Monitoring tab to see built-in metrics: πŸ“ˆ CPU Utilization, πŸ’Ύ Storage, πŸ“Š Database Activity, πŸ”‘ Login Events and more.

πŸ’‘ Without RDS, you'd have to install and configure all this monitoring yourself β€” one of the biggest wins of a managed service.


πŸ“Έ Step 16: Create a Database Snapshot

Database snapshots allow you to create a backup of your database at a specific point in time.

  • From the Actions menu, select: Take Snapshot

  • Give the snapshot a name, for example: demo-snapshot

  • Click: Take Snapshot

⚠️ If AWS says the database is still backing up, wait for status Available and try again.


πŸš€ Step 17: Restore from a Snapshot

Once the snapshot is Available:

  • Select it β†’ Actions β†’ Restore Snapshot

πŸ’‘ Restoring creates a new database from the backup. For this lab, review the options, then cancel the restore.


🌍 Step 18: Copy a Snapshot

Copy Snapshot lets you back up a snapshot to another AWS Region β€” useful for disaster recovery and business continuity.


🀝 Step 19: Share a Snapshot

Share Snapshot lets another AWS account restore a database from your backup β€” handy for collaboration and migration.


πŸŽ‰ Congratulations!

You've:

  • βœ… Created an RDS database

  • βœ… Explored its configuration

  • βœ… Reviewed monitoring

  • βœ… Created, restored, copied, and shared a snapshot

You've now seen the core value of a managed database service: monitoring, backups, snapshots, and maintenance β€” all handled for you.


🧹 Clean Up Your Resources

To avoid unexpected charges, let's delete the resources we created.

πŸ—‘οΈ Delete the Snapshot

Snapshots β†’ select yours β†’ Actions β†’ Delete β†’ confirm

πŸ—‘οΈ Delete the Database

Databases β†’ select yours β†’ Actions β†’ Delete

Before deleting:

❌ Do not create a final snapshot.

❌ Do not retain automated backups.

Check the confirmation box acknowledging that the database and backups will be permanently deleted.

Finally, type: delete me

  • Click: βœ… Delete