AWS Relational Database Service – RDS

Relational Database Service – RDS

  • Relational Database Service – RDS is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.
  • provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks such as hardware provisioning, database setup, patching, and backups.
  • features & benefits
    • CPU, memory, storage, and IOPs can be scaled independently.
    • manages backups, software patching, automatic failure detection, and recovery.
    • automated backups can be performed as needed, or manual backups can be triggered as well. Backups can be used to restore a database, and the restore process works reliably and efficiently.
    • provides Multi-AZ high availability with a primary instance and a synchronous standby secondary instance that can failover seamlessly when a problem occurs.
    • provides elasticity & scalability by enabling Read Replicas to increase read scaling.
    • supports MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server, IBM Db2, and the MySQL-compatible and PostgreSQL-compatible Aurora DB engines
    • supports IAM users and permissions to control who has access to the RDS database service
    • databases can be further protected by putting them in a VPC, using SSL for data in transit and encryption for data in rest
    • However, as it is a managed service, shell (root ssh) access to DB instances is not provided, and this restricts access to certain system procedures and tables that require advanced privileges.
    • supports Blue/Green Deployments for safer database updates with minimal downtime
    • supports RDS Proxy for connection pooling and improved application availability

RDS Components

  • DB Instance
    • is a basic building block of RDS
    • is an isolated database environment in the cloud
    • each DB instance runs a DB engine. AWS currently supports MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server, IBM Db2, & Aurora DB engines
    • can be accessed from AWS command-line tools, RDS APIs, or the AWS Management RDS Console.
    • computation and memory capacity of a DB instance is determined by its DB instance class, which can be selected as per the needs
    • supports storage types: General Purpose SSD (gp3), Provisioned IOPS SSD (io1/io2 Block Express). Magnetic storage was deprecated on April 30, 2026.
    • each DB instance has a DB instance identifier, which is a customer-supplied name and must be unique for that customer in an AWS region. It uniquely identifies the DB instance when interacting with the RDS API and AWS CLI commands.
    • each DB instance can host multiple user-created databases or a single Oracle database with multiple schemas.
    • can be hosted in an AWS VPC environment for better control
    • supports latest generation Graviton4-based instance classes (M8g, R8g) for improved price-performance
  • Regions and Availability Zones
    • AWS resources are housed in highly available data center facilities in different areas of the world, these data centers are called regions which further contain multiple distinct locations called Availability Zones
    • Each AZ is engineered to be isolated from failures in other AZs and to provide inexpensive, low-latency network connectivity to other AZs in the same region
    • DB instances can be hosted in different AZs, an option called a Multi-AZ deployment.
      • RDS automatically provisions and maintains a synchronous standby replica of the DB instance in a different AZ.
      • Primary DB instance is synchronously replicated across AZs to the standby replica
      • Provides data redundancy, failover support, eliminates I/O freezes, and minimizes latency spikes during system backups.
  • Security Groups
    • security group controls the access to a DB instance, by allowing access to the specified IP address ranges or EC2 instances
  • DB Parameter Groups
    • A DB parameter group contains engine configuration values that can be applied to one or more DB instances of the same instance type
    • help define configuration values specific to the selected DB Engine for e.g. max_connections, force_ssl , autocommit
    • supports default parameter group, which cannot be edited.
    • supports custom parameter group, to override values
    • supports static and dynamic parameter groups
      • changes to dynamic parameters are applied immediately (irrespective of apply immediately setting)
      • changes to static parameters are NOT applied immediately and require a manual reboot.
  • DB Option Groups
    • Some DB engines offer tools or optional features that simplify managing the databases and making the best use of data.
    • RDS makes such tools available through option groups for e.g. Oracle Application Express (APEX), SQL Server Transparent Data Encryption, and MySQL Memcached support.

RDS Interfaces

  • RDS can be interacted with multiple interfaces
    • AWS RDS Management console
    • Command Line Interface
    • Programmatic Interfaces which include SDKs, libraries in different languages, and RDS API

RDS Storage

  • General Purpose SSD (gp3) – Default storage type
    • provides baseline performance of 3,000 IOPS and 125 MiB/s throughput included in the price of storage
    • can independently scale IOPS up to 64,000 and throughput up to 4,000 MiB/s (for SQL Server, up to 80,000 IOPS and 2,000 MiB/s as of June 2026)
    • supports storage sizes up to 64 TiB
    • cost-effective for most database workloads
  • Provisioned IOPS SSD (io1)
    • designed for I/O-intensive database workloads
    • supports up to 256,000 IOPS per DB instance
  • Provisioned IOPS SSD (io2 Block Express) – Launched March 2024
    • provides 99.999% durability (vs 99.9% for io1 and gp3)
    • consistent sub-millisecond latency
    • supports up to 64 TiB storage, 256,000 IOPS, and 4,000 MiB/s throughput
    • same price as io1 volumes
    • recommended for mission-critical database workloads
  • Magnetic (Standard)DEPRECATED as of April 30, 2026
    • AWS recommends migrating existing magnetic storage instances to gp3 or io2 Block Express
    • no longer available for new DB instances

RDS Multi-AZ & Read Replicas

  • Multi-AZ deployment
    • provides high availability, durability, and automatic failover support
    • helps improve the durability and availability of a critical system, enhancing availability during planned system maintenance, DB instance failure, and Availability Zone disruption.
    • automatically provisions and manages a synchronous standby instance in a different AZ.
    • automatically fails over in case of any issues with the primary instance
    • A Multi-AZ DB instance deployment has one standby DB instance that provides failover support but doesn’t serve read traffic.
    • A Multi-AZ DB cluster deployment has two standby DB instances that provide failover support and can also serve read traffic.
      • provides a writer DB instance and two reader DB instances in three separate Availability Zones
      • supports MySQL and PostgreSQL engines
      • offers improved write latency, faster failover (typically under 35 seconds), and readable standby instances
      • uses semi-synchronous replication with transaction log-based approach
  • Read replicas
    • enable increased scalability and database availability in the case of an AZ failure.
    • allow elastic scaling beyond the capacity constraints of a single DB instance for read-heavy database workloads

RDS Proxy

  • Amazon RDS Proxy is a fully managed, highly available database proxy for RDS
  • establishes a pool of database connections and reuses them, improving application scalability and database efficiency
  • reduces the memory and CPU overhead for connection management on the database
  • improves application availability by automatically connecting to a standby DB instance during failovers while preserving connections
  • supports RDS for MySQL, PostgreSQL, MariaDB, SQL Server, and Aurora
  • enforces IAM authentication and securely stores credentials in AWS Secrets Manager
  • compute resources are serverless, automatically scaling based on database workload
  • supports Blue/Green Deployments to reduce switchover downtime by eliminating DNS propagation delays

RDS Blue/Green Deployments

  • Blue/Green Deployments create a staging environment (green) that mirrors the production environment (blue)
  • allows making and testing changes in the green environment without affecting production
  • use cases include major/minor version upgrades, parameter group changes, schema changes, and instance scaling
  • switchover typically completes in under a minute with built-in guardrails
  • supported for RDS for MySQL, MariaDB, and PostgreSQL
  • the green environment copies read replicas, storage configuration, DB snapshots, automated backups, Performance Insights, and Enhanced Monitoring from the blue environment

RDS Security

  • DB instance can be hosted in a VPC for the greatest possible network access control.
  • IAM policies can be used to assign permissions that determine who is allowed to manage RDS resources.
  • Security groups allow control of what IP addresses or EC2 instances can connect to the databases on a DB instance.
  • RDS supports encryption in transit using SSL connections
  • RDS supports encryption at rest to secure instances and snapshots at rest.
  • Network encryption and transparent data encryption (TDE) with Oracle DB instances
  • Authentication can be implemented using Password, Kerberos, and IAM database authentication.

RDS Backups, Snapshot

  • Automated backups
    • are enabled by default for a new DB instance.
    • enables recovery of the database to any point in time, with database change logs, during the backup retention period, up to the last five minutes of database usage.
    • backup retention period can be set from 0 to 35 days.
  • DB snapshots are manual, user-initiated backups that enable backup of the DB instance to a known state, and restore to that specific state at any time.

RDS Monitoring & Notification

  • RDS integrates with CloudWatch and provides metrics for monitoring
  • CloudWatch alarms can be created over a single metric that sends an SNS message when the alarm changes state
  • RDS also provides SNS notification whenever any RDS event occurs
  • RDS Performance Insights is a database performance tuning and monitoring feature that helps illustrate the database’s performance and help analyze any issues that affect it
  • RDS Recommendations provides automated recommendations for database resources.
  • Enhanced Monitoring provides real-time operating system metrics for the DB instance at granularity as fine as 1 second

RDS Optimized Writes & Optimized Reads

  • RDS Optimized Writes
    • improves write performance by up to 2x for MySQL and MariaDB workloads at no additional cost
    • writes 16 KiB data pages directly to storage without the doublewrite buffer
    • uses AWS Nitro System-based instances with support for 16 KiB atomic writes
    • available on db.r6gd, db.r7g, db.m6gd, db.m7g, and newer instance classes
  • RDS Optimized Reads
    • improves query processing performance by up to 50% for MySQL, MariaDB, and PostgreSQL
    • uses local NVMe-based SSD storage on supported instances to store ephemeral data such as temporary tables
    • reduces data access to/from network-based storage, improving read latency and throughput
    • available by default on NVMe-based instance classes (db.r6gd, db.m6gd, db.r8gd, db.m8gd, etc.)

RDS Extended Support

  • RDS Extended Support provides up to three additional years of critical security and bug fixes beyond a major version’s end of standard support date
  • gives more time to upgrade to a new major version while still receiving security fixes from AWS
  • RDS automatically enrolls databases in Extended Support when the major version reaches end of standard support
  • charged per vCPU-hour (starts at $0.100/vCPU-hour for Year 1-2, doubles to $0.200/vCPU-hour in Year 3)
  • currently applicable to:
    • MySQL 5.7 (standard support ended Feb 2024, Extended Support through June 2029)
    • MySQL 8.0 (standard support ending July 31, 2026)
    • PostgreSQL 11, 12, 13 (Extended Support available)
  • does not apply to Reserved Instance discounts – it is an additional charge

RDS Zero-ETL Integrations

  • Zero-ETL integrations make transactional data available in Amazon Redshift or Amazon SageMaker AI lakehouse in near real-time
  • eliminates the need to build and manage complex ETL data pipelines
  • supported for:
    • RDS for MySQL (GA since September 2024) – supports data filtering and multiple integrations
    • RDS for Oracle (GA since July 2025)
    • Aurora MySQL and Aurora PostgreSQL
  • target can be Amazon Redshift Serverless or provisioned cluster using RA3 instance types

RDS Custom

  • Amazon RDS Custom provides database administration access and customization of the database environment and operating system
  • combines the automation benefits of RDS with the flexibility needed for legacy, custom, and packaged applications
  • supports RDS Custom for SQL Server – enables features like SQL CLR, heterogeneous linked servers, and more than 100 databases per instance
  • RDS Custom for OracleEnd of Support: March 31, 2027
    • AWS will end support for RDS Custom for Oracle on March 31, 2027
    • after that date, you will no longer be able to access RDS Custom for Oracle resources
    • migration options: RDS for Oracle (standard), self-managed Oracle on EC2, or modernize to Aurora/PostgreSQL

RDS Pricing

  • Instance class
    • Pricing is based on the class (e.g., micro, large, xlarge) of the DB instance consumed.
  • Running time
    • Usage is billed in one-second increments, with a minimum of 10 mins.
  • Storage
    • Storage capacity provisioned for the DB instance is billed per GB per month
    • If the provisioned storage capacity is scaled within the month, the bill will be pro-rated.
  • I/O requests per month
    • Total number of storage I/O requests made in a billing cycle (applicable for gp2 storage).
  • Provisioned IOPS (per IOPS per month)
    • Provisioned IOPS rate, regardless of IOPS consumed, for RDS Provisioned IOPS (io1/io2) storage.
    • Provisioned storage for EBS volumes is billed in one-second increments, with a minimum of 10 minutes.
  • Backup storage
    • Automated backups & any active database snapshots consume storage
    • Increasing backup retention period or taking additional database snapshots increases the backup storage consumed by the database.
    • RDS provides backup storage up to 100% of the provisioned database storage at no additional charge for e.g., if you have 10 GB-months of provisioned database storage, RDS provides up to 10 GB-months of backup storage at no additional charge.
    • Most databases require less raw storage for a backup than for the primary dataset, so if multiple backups are not maintained, you will never pay for backup storage.
    • Backup storage is free only for active DB instances.
  • Data transfer
    • Internet data transfer out of the DB instance.
  • Reserved Instances
    • In addition to regular RDS pricing, reserved DB instances can be purchased
    • provides significant discounts (up to 72%) compared to On-Demand pricing for 1-year or 3-year commitments
  • Database Savings Plans
    • flexible pricing model offering savings in exchange for a commitment to a specific amount of usage ($/hour) over a 1-year term
    • covers both provisioned and serverless database usage
    • more flexible than Reserved Instances as it is not tied to specific instance configurations
  • RDS Extended Support
    • Additional per-vCPU-hour charge for databases running on major engine versions past end of standard support

Further Reading

AWS Certification Exam Practice Questions

  • Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
  • AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
  • AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
  • Open to further feedback, discussion and correction.
  1. What does Amazon RDS stand for?
    1. Regional Data Server.
    2. Relational Database Service
    3. Regional Database Service.
  2. How many relational database engines does RDS currently support?
    1. MySQL, Postgres, MariaDB, Oracle, Microsoft SQL Server, and IBM Db2
    2. Just two: MySQL and Oracle.
    3. Five: MySQL, PostgreSQL, MongoDB, Cassandra and SQLite.
    4. Just one: MySQL.
  3. If I modify a DB Instance or the DB parameter group associated with the instance, should I reboot the instance for the changes to take effect?
    1. No
    2. Yes
  4. What is the name of licensing model in which I can use your existing Oracle Database licenses to run Oracle deployments on Amazon RDS?
    1. Bring Your Own License
    2. Role Bases License
    3. Enterprise License
    4. License Included
  5. Will I be charged if the DB instance is idle?
    1. No
    2. Yes
    3. Only is running in GovCloud
    4. Only if running in VPC
  6. What is the minimum charge for the data transferred between Amazon RDS and Amazon EC2 Instances in the same Availability Zone?
    1. USD 0.10 per GB
    2. No charge. It is free.
    3. USD 0.02 per GB
    4. USD 0.01 per GB
  7. Does Amazon RDS allow direct host access via Telnet, Secure Shell (SSH), or Windows Remote Desktop Connection?
    1. Yes
    2. No
    3. Depends on if it is in VPC or not
  8. What are the two types of licensing options available for using Amazon RDS for Oracle?
    1. BYOL and Enterprise License
    2. BYOL and License Included
    3. Enterprise License and License Included
    4. Role based License and License Included
  9. A user plans to use RDS as a managed DB platform. Which of the below mentioned features is not supported by RDS?
    1. Automated backup
    2. Automated scaling to manage a higher load
    3. Automated failure detection and recovery
    4. Automated software patching
  10. A user is launching an AWS RDS with MySQL. Which of the below mentioned options allows the user to configure the InnoDB engine parameters?
    1. Options group
    2. Engine parameters
    3. Parameter groups
    4. DB parameters
  11. A user is planning to use the AWS RDS with MySQL. Which of the below mentioned services the user is not going to pay?
    1. Data transfer
    2. RDS CloudWatch metrics
    3. Data storage
    4. I/O requests per month
  12. A company needs to perform a major version upgrade of their RDS MySQL database with minimal downtime. Which feature should they use?
    1. Multi-AZ failover
    2. Read Replica promotion
    3. Blue/Green Deployments
    4. RDS Proxy
  13. An application using RDS MySQL experiences connection spikes from Lambda functions. Which RDS feature helps manage database connections efficiently?
    1. Multi-AZ DB Cluster
    2. Read Replicas
    3. RDS Optimized Reads
    4. RDS Proxy
  14. Which RDS storage type provides 99.999% durability and sub-millisecond latency for mission-critical workloads?
    1. General Purpose SSD (gp3)
    2. Provisioned IOPS (io1)
    3. Provisioned IOPS (io2 Block Express)
    4. Magnetic (Standard)
  15. A company wants to run near real-time analytics on their RDS MySQL transactional data without building ETL pipelines. Which feature should they use?
    1. Read Replicas
    2. RDS Proxy
    3. Zero-ETL integration with Amazon Redshift
    4. Multi-AZ DB Cluster
  16. What happens when an RDS database engine version reaches end of standard support and the customer does not upgrade?
    1. The database is automatically upgraded to the latest version
    2. The database is terminated
    3. The database is automatically enrolled in RDS Extended Support with additional charges
    4. The database continues to run with no changes
  17. Which RDS Multi-AZ deployment option provides readable standby instances? [Select TWO]
    1. Multi-AZ DB cluster deployment
    2. Multi-AZ DB instance deployment
    3. Read Replicas
    4. RDS Proxy

References