Stop 06 · Database ServicesTopics · 1/10

Relational Databases in the Cloud (RDS)

Part of the Cloud Computing Roadmap

In short

Running PostgreSQL on your own VM means you handle patches, backups, disk space and 2 a.m. failures. Managed databases take most of that off your plate, so you can focus on tables and queries.

Managed relational database services (RDS, Cloud SQL, Azure SQL) handle patching, backups, and failover for you — running MySQL, PostgreSQL, or similar without managing the underlying server yourself.

The blob character hands car keys to a mechanic at a service centre.

Think of it like this

Car with a service plan

You still drive the car and choose where to go. But oil changes, tyre checks and repairs happen on schedule at the service centre without you crawling under the bonnet. RDS is your database with a full service plan.

Watch it happen

You run queries, RDS runs the server

Your app
RDS Postgres
RDS service

connect :5432 (TLS)

1/5Your app connects to an endpoint name, just like any PostgreSQL server.

The big ideas

What you need to know

Familiar engines

RDS runs PostgreSQL, MySQL, MariaDB, SQL Server, Oracle and Db2. Aurora is AWS's own compatible engine.

What's managed

Hardware, OS, engine patches, automated backups, monitoring and optional failover. No SSH into the server.

What's still yours

Schema design, indexes, slow queries, users and permissions, and choosing the right instance size.

Same idea elsewhere

Google Cloud SQL and Azure Database for PostgreSQL or MySQL offer the same deal on other clouds.

See it in code

Walk through the code

bash
1aws rds create-db-instance \2  --db-instance-identifier notes-db \3  --engine postgres \4  --db-instance-class db.t4g.micro \5  --allocated-storage 20 \6  --master-username appadmin \7  --manage-master-user-password \8  --backup-retention-period 7 \9  --no-publicly-accessible10 11# Then connect from a server inside the VPC12psql "host=<endpoint> port=5432 dbname=postgres user=appadmin sslmode=require"

1/4A small PostgreSQL instance with 20 GB of storage.

--manage-master-user-password stores the admin password in Secrets Manager, so it never appears in your shell history.

Save yourself the pain

Common mistakes

Oops

Making the database publicly accessible so you can connect from your laptop.

Do this instead

Keep it private. Use a bastion host, Session Manager port forwarding or a VPN to reach it.

Oops

Thinking 'managed' means queries will be fast automatically.

Do this instead

RDS won't add your missing index. Use Performance Insights or EXPLAIN to find and fix slow queries.

Your mission

Spin up, connect, delete

~40 min

Quick check

Which task is still your responsibility on RDS?

Go deeper

  1. 1Launch a free-tier managed relational database and connect to it.
  2. 2Learn what a managed database handles for you versus a self-hosted one on a VM.
  3. 3Compare the setup effort of RDS versus installing PostgreSQL manually on an EC2 instance.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge