AWS RDS (Relational Database Service)
What is RDS? #
Amazon Relational Database Service (RDS) makes it easy to set up, operate, and scale a relational database in the cloud.
It provides cost-efficient and resizable capacity while automating time-consuming administrative tasks such as hardware provisioning, database setup, patching, and backups.
It helps users focus on their applications, providing the fast performance, high availability, security, and compatibility their applications need.

Features of RDS #
A service that provides relational databases #
Relational Database Service: Relational database
<--> NoSQL (DynamoDB, DocumentDB, ElasticCache)
Operates on virtual machines #
However, direct login to the system is not possible -> OS patching, management, etc., are AWS's responsibility.
RDS is not a Serverless service #
However, Aurora Serverless is, as its name suggests, a Serverless service.
Integration with CloudWatch #
Monitoring of DB instances (same as EC2)
Various logs generated by the DB (Error Log, General Log, etc.) can be checked in conjunction with CloudWatch.
Internally uses EC2 #
Operates within a VPC
- By default, no public IP is assigned, making it inaccessible from outside.
- Can be opened to public access depending on settings (access via DNS).
Requires subnet and security group specification.
Requires EC2 instance type specification.
Uses EBS for storage.
- Requires EBS type selection.
- EBS capacity is specified during creation.
Parameter Group: A concept that groups DB configuration values that only the root user can set.
- Apply configuration values by applying a parameter group to the DB cluster.
Updates
- Minor version engine updates can be set to update automatically.
- For other updates, a maintenance window can be set to ensure updates occur at a specific time.
RDS Authentication Methods #
Traditional user/password method #
Can be automatically rotated in conjunction with AWS Secrets Manager.
IAM DB Authentication #
Manage databases using IAM user credentials/roles.
Kerberos Authentication #
RDS Pricing Model #
Compute power + Storage capacity + Backup capacity + Network costs
Reserved Instance purchase available
- Similar to EC2, you can use the service at a lower price by committing to a certain period.
DB Engines provided by RDS #
- MS SQL SERVER
- Oracle
- Oracle OLAP
- MySQL Server
- PostgreSQL
- MariaDB
- Amazon Aurora
- MS SQL Server, Oracle, Oracle OLAP are not open source, so additional license costs apply (you can use your own license).
RDS Encryption #
- Encryption support
- SQL Server or Oracle support TDE (Transparent Data Encryption).
- All engines support EBS volume encryption.
- Can choose Default Master Key or a created Master Key.
- Applied to automatic backups, snapshots, Read Replicas, etc.
RDS Backup #
Automatic Backup #
Creates daily snapshots and stores transaction logs.
Data is stored in S3 and occupies space equivalent to the database size.
Based on the stored data, it's possible to roll back to a specific point in time within a certain period (by creating a new DB cluster).
Supports retention for 1 to 35 days.
A slight delay may occur when performing a backup.
By default, it is set to active.
Manual Backup (DB Snapshot) #
Snapshots created at the request of a user or another process.
Retained even after the database is deleted.
Snapshot recovery always creates a new DB Instance.
RDS Multi AZ #
Builds a database across two or more AZs and automatically synchronizes (Sync) the primary with a different DB (Standby).
- Supported by SQL Server, Oracle, MySQL, PostgreSQL, MariaDB.
- Aurora supports Multi-AZ at the design stage.
If the primary DB fails, another DB is automatically promoted to primary (DNS points to the Standby DB).
The Standby DB is inaccessible.
This service is for stability, not performance improvement.


Read Replica (Read-only replica) #
Creates a read-only replica of the original database (Async).
- Writes are handled by the original database, reads by the replica, distributing the workload.
- Supported by MySQL, PostgreSQL, MariaDB, Oracle, Aurora.
This service is for performance, not stability.
Up to 5 replicas can be created.
Each replica is assigned a unique DNS -> accessible.
- If the primary DB fails, manual DNS change is required.
Multi-AZ can be configured on the replica itself (MySQL, PostgreSQL, MariaDB, Oracle).
Read Replica can be configured for Multi-AZ DB.
Automatic backup must be enabled to create a read-only replica.
The engine versions of each DB may differ.


You can break the replication in the image above and configure it as shown in the image below.

RDS Multi Region #
Creates a DB cluster that continuously synchronizes to another region (Async replication).
Mainly used for local performance or DR (Disaster Recovery) scenarios.
Automatic backup is possible per region.
Multi-AZ is possible per region.
