AWS History and Timeline regarding Amazon RDS - Overview, Engines, Features, Summary of Updates, and Introduction

First Published:
Last Updated:

This is another installment in the series that I started with the "AWS History and Timeline - Almost All AWS Services List, Announcements, General Availability(GA)", where I extract features from the history and timeline of AWS services (I've previously written about Amazon S3, AWS Systems Manager, Amazon Route 53, Amazon EventBridge, AWS KMS, Amazon SQS, AWS Lambda, Amazon Cognito).

This time, I have created a historical timeline for Amazon RDS, the fully managed relational database service that was announced in October 2009 and that now hosts seven database engines including Amazon Aurora, the cloud-native engine purpose-built by AWS.
Amazon RDS has now been generally available for more than 15 years, and during those years AWS has accumulated an enormous list of engine versions, deployment options, replication topologies, integration features, and operational capabilities such as Multi-AZ, Read Replicas, IAM database authentication, Performance Insights, RDS Proxy, Blue/Green Deployments, Babelfish, Trusted Language Extensions, zero-ETL integrations, Aurora Limitless Database, and most recently Aurora DSQL.
Just like before, I am summarizing the main features while following the birth of Amazon RDS and tracking its feature additions and updates as a Current Overview, Functions, Features of Amazon RDS and Amazon Aurora.
I hope these will provide clues as to what has remained the same and what has changed, in addition to the features and concepts of Amazon RDS and the engines it hosts.

Background and Method of Creating Amazon RDS Historical Timeline

The reason for creating a historical timeline of Amazon RDS this time is that Amazon RDS has now been generally available for over a decade and a half, has expanded to seven database engines (MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, IBM Db2, and Amazon Aurora), and is at the heart of nearly every relational data workload running on AWS.

Another reason is that since the announcement of Amazon RDS in October 2009, AWS has integrated it with many other AWS services, expanded the supported engines, and continuously introduced new operational capabilities. Therefore, I wanted to organize the information of Amazon RDS with the following approaches.
  • Tracking the history of Amazon RDS and organizing the transition of updates
  • Summarizing the feature list and characteristics of Amazon RDS and Amazon Aurora
This timeline primarily references the following blogs and document content regarding Amazon RDS and Amazon Aurora.
There may be slight variations in the dates on the timeline due to differences in the timing of announcements or article postings in the references used.
The content posted is limited to major features related to the current Amazon RDS and Amazon Aurora and necessary for the feature list and overview description.
In other words, please note that the items on this timeline are not all updates to Amazon RDS features, but are representative updates that I have picked out.

Amazon RDS Historical Timeline (Updates from October 22, 2009)

Now, here is a timeline related to the functions of Amazon RDS and Amazon Aurora. As of the time of writing this article, the history of Amazon RDS spans over 16 years since its announcement in October 2009.

* The table can be sorted by clicking on the column names.
Date Summary
2009-10-22 Amazon RDS is announced. It launches in beta with MySQL 5.1 as the only supported database engine, providing automated database setup, backups, software patching, and the ability to scale compute and storage independently of the application tier.
2010-05-18 Multi-AZ Deployments for Amazon RDS for MySQL are announced. Multi-AZ replicates the database to a synchronous standby instance in a different Availability Zone, providing automated failover and enhanced durability for production workloads.
2010-06-30 Reserved DB Instances for Amazon RDS are introduced. Customers can now reserve DB instances for one- or three-year terms at a discount compared to On-Demand pricing.
2010-10-05 Read Replicas for Amazon RDS for MySQL are announced. Asynchronous replication can be configured to one or more read-only replicas, offloading read traffic from the primary instance.
2010-12-09 VPC support for Amazon RDS is announced. DB instances can now be launched inside an Amazon Virtual Private Cloud, providing private network isolation and control over IP addressing.
2011-04-28 Amazon RDS for Oracle is announced. Oracle Database 11g becomes the second engine supported by Amazon RDS, with both Bring Your Own License (BYOL) and License Included models.
2011-05-31 Amazon RDS exits beta and becomes Generally Available (GA) with a 99.95 percent monthly availability SLA for Multi-AZ deployments.
2012-05-09 Amazon RDS for Microsoft SQL Server is announced. It becomes the third engine, with both Standard Edition and Web Edition initially supported, including BYOL and License Included models.
2012-08-13 Provisioned IOPS Storage for Amazon RDS is announced. Customers can now provision a consistent, predictable I/O rate for DB instances by specifying IOPS at instance creation.
2013-04-23 Cross-Region Read Replicas for Amazon RDS for MySQL are announced. Read Replicas can now be created in a different AWS region from the primary instance for disaster recovery and reduced read latency.
2013-05-15 Amazon RDS for PostgreSQL is announced. PostgreSQL becomes the fourth engine supported by Amazon RDS.
2013-06-05 Amazon RDS for PostgreSQL becomes Generally Available (GA).
2014-10-08 Cross-Region Snapshot Copy for Amazon RDS for PostgreSQL and Oracle is announced.
2014-11-12 Amazon Aurora is announced at re:Invent 2014. Aurora is a new, MySQL-compatible relational database engine purpose-built for the cloud, with a distributed storage layer that automatically replicates data six ways across three Availability Zones.
2015-07-27 Amazon Aurora becomes Generally Available (GA). The initial release is MySQL 5.6-compatible.
2015-10-06 Amazon RDS for MariaDB is announced. MariaDB 10.0 becomes the fifth engine supported by Amazon RDS.
2015-11-09 Amazon Aurora Cross-Region Read Replicas are announced.
2016-06-01 Amazon Aurora supports cross-region snapshot copy.
2016-09-29 Encryption at rest for Amazon Aurora is announced. Aurora clusters can be encrypted using AWS KMS at creation time.
2016-11-30 Amazon Aurora with PostgreSQL compatibility is previewed at re:Invent 2016.
2017-04-11 Encryption at rest for existing unencrypted Amazon Aurora clusters becomes possible via snapshot copy.
2017-04-24 Amazon RDS for SQL Server supports Always On Availability Groups for Multi-AZ deployments.
2017-04-24 IAM database authentication for Amazon RDS for MySQL and Amazon Aurora MySQL is announced. Database users can now authenticate using IAM credentials with short-lived authentication tokens, eliminating the need to store database passwords in application configuration.
2017-10-24 Amazon Aurora with PostgreSQL compatibility becomes Generally Available (GA). The initial release is PostgreSQL 9.6-compatible.
2017-11-13 Performance Insights for Amazon RDS for PostgreSQL is announced. Performance Insights provides a dashboard that visualizes database load and helps identify performance bottlenecks at the SQL statement level.
2017-11-20 Amazon Aurora Multi-Master is previewed. Multi-Master Aurora allows multiple writer instances within a single region.
2017-11-29 Amazon Aurora Serverless v1 is previewed at re:Invent 2017. Aurora Serverless v1 automatically scales compute capacity up and down based on application demand.
2018-04-12 Performance Insights becomes available for Amazon RDS for MySQL.
2018-04-25 IAM database authentication becomes available for Amazon RDS for PostgreSQL.
2018-06-08 Amazon Aurora Backtrack is announced for Aurora MySQL. Backtrack lets users quickly rewind an Aurora cluster to a previous point in time without restoring data from a backup.
2018-08-09 Amazon Aurora Serverless v1 becomes Generally Available (GA) for Aurora MySQL.
2018-10-04 Amazon Aurora Parallel Query for Aurora MySQL becomes Generally Available (GA). Parallel Query pushes processing of analytical queries down into the Aurora storage layer to accelerate analytical workloads on OLTP databases.
2018-11-28 Amazon RDS on VMware is announced. Amazon RDS can manage on-premises databases running on VMware vSphere environments.
2018-11-28 Amazon Aurora Global Database is announced. Aurora Global Database replicates Aurora clusters across AWS regions with low-latency reads and disaster recovery.
2019-06-05 Performance Insights becomes available for Amazon RDS for SQL Server.
2019-08-08 Amazon Aurora Multi-Master becomes Generally Available (GA) for Aurora MySQL. Multi-Master allows multiple writer instances within a single region for write availability across Availability Zones.
2019-11-25 Amazon RDS Proxy is announced in preview at re:Invent 2019. RDS Proxy is a fully managed, highly available database proxy that pools and shares connections, improving application scalability and resilience.
2019-11-25 Amazon Aurora Serverless v2 is previewed at re:Invent 2019. Aurora Serverless v2 promises fine-grained autoscaling within seconds, supporting more demanding workloads than v1.
2019-12-03 Amazon Aurora Global Database adds support for PostgreSQL.
2020-04-08 Amazon Aurora MySQL becomes compatible with MySQL 5.7.
2020-06-30 Amazon RDS Proxy becomes Generally Available (GA) for MySQL and Aurora MySQL.
2020-09-25 Amazon RDS Proxy becomes Generally Available (GA) for PostgreSQL and Aurora PostgreSQL.
2020-12-01 Babelfish for Aurora PostgreSQL is previewed at re:Invent 2020. Babelfish enables Aurora PostgreSQL to understand Microsoft SQL Server's TDS protocol and T-SQL dialect, making it easier to migrate SQL Server applications to Aurora.
2021-02-25 Aurora PostgreSQL adds support for Aurora Serverless v1.
2021-04-13 Aurora MySQL adds support for MySQL 5.7 with Aurora Serverless v1.
2021-04-29 Amazon RDS Custom is previewed. Amazon RDS Custom for Oracle delivers managed database capabilities while allowing customers OS- and database-level access.
2021-10-05 Amazon RDS Custom for Oracle becomes Generally Available (GA).
2021-10-26 Babelfish for Aurora PostgreSQL becomes Generally Available (GA).
2021-11-30 Amazon RDS Custom for SQL Server becomes Generally Available (GA).
2021-11-30 Amazon Aurora Serverless v2 is announced at re:Invent 2021.
2022-04-21 Amazon Aurora Serverless v2 becomes Generally Available (GA). It supports both Aurora MySQL and Aurora PostgreSQL with fine-grained scaling between 0.5 and 256 Aurora Capacity Units (ACUs).
2022-05-26 Amazon RDS Multi-AZ DB Cluster deployments become Generally Available (GA) for MySQL and PostgreSQL. This new deployment option uses two readable standby instances and provides faster failover (typically under 35 seconds) and read scaling.
2022-07-19 AWS JDBC Driver for MySQL and PostgreSQL (open source) is announced. It enables faster failover for Aurora and RDS clusters by integrating with cluster topology.
2022-10-26 Trusted Language Extensions (TLE) for PostgreSQL is announced. TLE is an open source development kit that allows developers to safely create and deploy PostgreSQL extensions on Aurora and RDS without superuser access.
2022-11-26 Amazon RDS Optimized Writes for MySQL is announced. Optimized Writes uses the underlying torn-write protection of EC2 r5b/r6i instances to eliminate MySQL's double-write buffer, improving write throughput.
2022-11-27 Amazon RDS Blue/Green Deployments is announced. Blue/Green Deployments creates a synchronized staging environment (the "green" cluster) of a production database (the "blue" cluster) and enables one-click cutover with minimal downtime, ideal for major version upgrades and engine patching.
2022-11-29 Amazon Aurora zero-ETL integration with Amazon Redshift is announced. The integration enables near real-time analytics on transactional data without managing data pipelines.
2022-11-29 Amazon RDS Custom for SQL Server adds support for Multi-AZ.
2023-02-06 Amazon RDS Extended Support is announced. Extended Support provides critical security and bug fixes for database engine versions for up to three years after the community end-of-life date.
2023-05-11 Amazon Aurora I/O-Optimized is announced and becomes Generally Available (GA). This cluster configuration eliminates per-I/O charges in exchange for slightly higher instance and storage prices, providing up to 40% cost savings for I/O-intensive workloads.
2023-06-13 Amazon Aurora zero-ETL integration with Amazon Redshift becomes Generally Available (GA) for Aurora MySQL.
2023-09-26 Amazon Aurora Optimized Reads for Aurora PostgreSQL is announced. Optimized Reads uses local NVMe SSD storage of r6gd/r6id instances as a tiered cache and temporary table store.
2023-11-09 Amazon Aurora Global Database for PostgreSQL supports write forwarding. With this launch, write forwarding is available on both Aurora Global Database for MySQL and PostgreSQL, letting applications in secondary Regions forward writes to the primary Region.
2023-11-26 Amazon Aurora Limitless Database is previewed at re:Invent 2023. Limitless Database adds horizontal scale-out for Aurora PostgreSQL beyond a single writer instance through automatic sharding.
2023-11-27 Amazon RDS for Db2 is announced. Db2 becomes the seventh engine supported by Amazon RDS.
2023-11-27 Amazon Aurora zero-ETL integration with Amazon Redshift adds support for Aurora PostgreSQL (preview).
2023-11-28 Amazon RDS for MySQL zero-ETL integration with Amazon Redshift is previewed.
2023-12-04 Amazon Aurora PostgreSQL pgvector support is enhanced with HNSW indexing for generative AI workloads. Aurora becomes a vector database for use in retrieval-augmented generation (RAG) architectures.
2024-02-27 Amazon RDS for MySQL zero-ETL integration with Amazon Redshift becomes Generally Available (GA).
2024-04-23 Amazon RDS Data API for Aurora Serverless v2 and provisioned Aurora PostgreSQL is announced. The Data API removes the need to manage database connections from AWS Lambda and other compute environments.
2024-10-31 Amazon Aurora PostgreSQL Limitless Database becomes Generally Available (GA) in select regions, launching with PostgreSQL 16.4 compatibility.
2024-11-14 Amazon RDS for PostgreSQL adds support for PostgreSQL 17. The release includes updated extensions such as pgvector 0.8.0, pg_tle 1.4.0, pgactive 2.1.4, and hypopg 1.4.1.
2024-11-21 Amazon RDS for MySQL adds support for MySQL 8.4 LTS. The release integrates with the AWS-LC FIPS module and supports the multi-source replication plugin and the Group Replication plugin.
2024-12-03 Amazon Aurora DSQL is previewed at re:Invent 2024. Aurora DSQL is a new serverless, distributed SQL database with strong consistency and active-active multi-region writes.
2024-12-03 Amazon Aurora zero-ETL integration with Amazon SageMaker is announced at re:Invent 2024. The integration extends zero-ETL beyond Amazon Redshift to make Aurora transactional data available for machine learning workflows through Amazon SageMaker Lakehouse.
2025-05-27 Amazon Aurora DSQL becomes Generally Available (GA). With GA, Aurora DSQL added support for AWS Backup, AWS PrivateLink, AWS CloudFormation, AWS CloudTrail, AWS KMS customer managed keys, and PostgreSQL views.

Current Overview, Functions, Features of Amazon RDS and Amazon Aurora

From here, we will explain in detail the main features of the current Amazon RDS and Amazon Aurora.
Amazon RDS is a fully managed relational database service that makes it easy to set up, operate, and scale a relational database in the cloud. It automates time-consuming administration tasks such as hardware provisioning, database setup, patching, and backups, so that customers can focus on application development rather than database operations.

Amazon RDS supports seven database engines: MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, IBM Db2, and Amazon Aurora. Aurora is a cloud-native engine that AWS designed specifically for cloud environments, with MySQL- and PostgreSQL-compatible editions sharing a distributed storage layer that replicates data six ways across three Availability Zones.

Although Aurora is consumed through the Amazon RDS API, its architecture differs significantly from the traditional RDS engines. In this section, I describe both: the original Amazon RDS service for community and commercial engines (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Db2), and the newer Amazon Aurora engine, including Aurora Serverless v2, Aurora Global Database, Aurora Limitless Database, and Aurora DSQL.

Use Cases for Amazon RDS and Amazon Aurora

Amazon RDS and Amazon Aurora cover the entire spectrum of relational database use cases on AWS. The main use cases include the following:
  • Web and Mobile Application Backends
    Hosting transactional databases for web and mobile applications with high availability through Multi-AZ DB Instance, Multi-AZ DB Cluster, or Aurora deployments.
  • Enterprise Application Migration from On-Premises
    Migrating Oracle, Microsoft SQL Server, IBM Db2, and PostgreSQL workloads from on-premises data centers to AWS with managed operations and licensing options (BYOL or License Included).
  • SaaS Multi-Tenant Backends
    Hosting per-tenant or shared tenant databases for SaaS providers using Aurora's read scaling, Multi-AZ DB Cluster for fast failover, or Aurora Serverless v2 for variable workloads.
  • Real-Time Analytics on Transactional Data
    Using zero-ETL integration with Amazon Redshift to analyze Aurora or Amazon RDS for MySQL data in near real time, without managing custom data pipelines.
  • Generative AI and Retrieval-Augmented Generation (RAG)
    Storing vector embeddings in Aurora PostgreSQL via the pgvector extension and integrating with Amazon Bedrock and Amazon SageMaker for retrieval-augmented generation.
  • Globally Distributed Reads and Disaster Recovery
    Using Amazon Aurora Global Database to replicate data to up to five secondary regions with replication lag typically under one second.
  • Lift-and-Shift of SQL Server Applications
    Using Babelfish for Aurora PostgreSQL to run many existing Microsoft SQL Server applications on Aurora PostgreSQL without rewriting application code.
  • Serverless and Variable-Workload Applications
    Using Amazon Aurora Serverless v2 or Amazon Aurora DSQL for fine-grained automatic scaling without managing instance capacity.

Specific Use Case Examples

  • SaaS Application Backend
    A multi-tenant SaaS platform uses Amazon Aurora PostgreSQL with Multi-AZ DB Cluster deployment for sub-35-second failover, Aurora Replicas to scale read traffic, and Amazon RDS Proxy to share database connections across many Lambda function invocations.
  • Enterprise SQL Server Migration
    An enterprise lifts existing Microsoft SQL Server applications onto Amazon Aurora PostgreSQL using Babelfish, taking advantage of Aurora's distributed storage layer and read scaling without rewriting most application code.
  • Real-Time BI Dashboard
    A retailer uses Amazon Aurora MySQL as the transactional system of record, and configures zero-ETL integration with Amazon Redshift so that business intelligence dashboards reflect order data within seconds of writes.
  • Generative AI RAG Backend
    A document search application stores vector embeddings in Amazon Aurora PostgreSQL using pgvector with HNSW indexing, queries are issued from an Amazon Bedrock agent, and Aurora's zero-ETL integration with Amazon SageMaker is used to maintain the embedding model.
  • Globally Distributed Active-Active SQL
    A global financial application uses Amazon Aurora DSQL with active-active multi-region writes for strong consistency and low write latency from multiple regions.
  • Major Version Upgrade with Minimal Downtime
    A platform team uses Amazon RDS Blue/Green Deployments to stage a major version upgrade of Amazon RDS for MySQL, validates the green cluster, and performs a one-click cutover with minimal downtime.
These use case examples are concrete examples of how Amazon RDS and Amazon Aurora can be used to host relational workloads of nearly every shape on AWS.

Conceptual Diagram of Amazon RDS and Amazon Aurora Engine Lineage

Before diving into the individual engines, the following diagram shows the lineage of relational database engines supported by Amazon RDS, separating the seven supported community and commercial engines from Amazon's cloud-native Aurora and the recently introduced Aurora DSQL.


Amazon RDS and Amazon Aurora Engine Lineage
Amazon RDS and Amazon Aurora Engine Lineage

The diagram captures the following major branches:

  1. Amazon RDS launches in 2009 with MySQL only, then progressively adds Oracle (2011), Microsoft SQL Server (2012), PostgreSQL (2013), MariaDB (2015), and IBM Db2 (2023).
  2. Amazon Aurora is announced in 2014 and ships in two compatibility editions: Aurora MySQL-Compatible (GA 2015) and Aurora PostgreSQL-Compatible (GA 2017).
  3. Aurora PostgreSQL hosts Babelfish (TDS/T-SQL compatibility) and Aurora Limitless Database (horizontal scale-out).
  4. Aurora MySQL hosts Backtrack and Parallel Query.
  5. Aurora extends into serverless with Aurora Serverless v1, Aurora Serverless v2, and most recently Aurora DSQL.
  6. For Oracle and Microsoft SQL Server, Amazon RDS Custom adds OS- and database-level access for specialized workloads.

Supported Database Engines in Amazon RDS

Amazon RDS supports the following seven database engines. Each engine is offered with a range of instance classes, storage types, and managed operations, but each also has engine-specific features and licensing models.

Amazon RDS for MySQL

Amazon RDS for MySQL has been supported since the launch of Amazon RDS in October 2009 and remains the most heavily used non-Aurora engine on Amazon RDS.
  • Currently supports MySQL 5.7 (in Extended Support), MySQL 8.0, and MySQL 8.4 LTS.
  • Amazon RDS Optimized Writes uses torn-write protection on r5b/r6i instances to eliminate MySQL's double-write buffer.
  • Amazon RDS for MySQL zero-ETL integration with Amazon Redshift is generally available.
  • Amazon RDS Blue/Green Deployments support near-zero-downtime major version upgrades.

Amazon RDS for PostgreSQL

Amazon RDS for PostgreSQL has been supported since 2013 and is the second-most-popular open source engine on Amazon RDS.
  • Currently supports PostgreSQL 13 through 17 (with older versions in Extended Support).
  • Supports many PostgreSQL extensions including pgvector for vector workloads.
  • Trusted Language Extensions (TLE) enable safe deployment of custom PostgreSQL extensions without superuser privileges.
  • IAM database authentication is available.

Amazon RDS for MariaDB

Amazon RDS for MariaDB has been supported since October 2015 and tracks MariaDB community releases.
  • Currently supports MariaDB 10.x community releases.
  • Supports Multi-AZ Deployments and Read Replicas.
  • Compatible with the MySQL ecosystem for tooling and migration scenarios.

Amazon RDS for Oracle

Amazon RDS for Oracle has been supported since April 2011 and is the foundation for many enterprise migrations from on-premises Oracle databases.
  • Offered with Bring Your Own License (BYOL) and License Included models, depending on edition and region.
  • Supports Oracle Database 19c and 21c (with some editions still in transition).
  • Amazon RDS Custom for Oracle gives customers OS- and database-level access for workloads that need it.
  • Supports Multi-AZ Deployments, automated backups, and cross-region snapshot copy.

Amazon RDS for Microsoft SQL Server

Amazon RDS for Microsoft SQL Server has been supported since May 2012 and offers managed operations for SQL Server workloads of all sizes.
  • Supported editions include Express, Web, Standard, and Enterprise.
  • Multi-AZ deployments use SQL Server Always On Availability Groups.
  • Amazon RDS Custom for SQL Server with Multi-AZ is generally available.

Amazon RDS for IBM Db2

Amazon RDS for IBM Db2 was announced at re:Invent in November 2023 and is the seventh engine on Amazon RDS.
  • Provides BYOL and managed operations for Db2 workloads.
  • Targets customers migrating Db2 from on-premises mainframe-adjacent or LUW environments.
  • Supports Multi-AZ Deployments and automated backups.

Amazon Aurora (MySQL- and PostgreSQL-Compatible)

Amazon Aurora is the AWS-designed cloud-native engine that shares a distributed storage layer across compute instances. It is offered in MySQL- and PostgreSQL-compatible editions.
  • MySQL-compatible edition has been GA since July 2015 and currently supports MySQL 5.7 and 8.0 compatibility.
  • PostgreSQL-compatible edition has been GA since October 2017 and currently supports PostgreSQL 13 through 17 compatibility.
  • Storage is automatically replicated six ways across three Availability Zones with self-healing.
  • Up to 15 Aurora Replicas can be attached to a writer instance for read scaling.

Amazon Aurora Overview

Amazon Aurora reimagines relational databases for the cloud. Instead of replicating storage at the database engine layer, Aurora pushes storage replication into a purpose-built, log-structured distributed storage system shared by up to 15 read replicas.

Aurora is offered in several primary deployment shapes:
  • Aurora Provisioned: traditional always-on instance-based deployment.
  • Aurora Serverless v2: fine-grained autoscaling within seconds, billed in Aurora Capacity Units (ACUs).
  • Aurora Global Database: spans multiple AWS regions for low-latency reads and disaster recovery, with optional write forwarding.
  • Aurora Limitless Database: horizontal scale-out beyond a single writer instance through automatic sharding (Aurora PostgreSQL).
  • Aurora DSQL: a separately branded, fully distributed serverless SQL database with active-active multi-region writes.

Aurora MySQL-Compatible Edition

  • Compatible with MySQL 5.7 and 8.0.
  • Supports Aurora Backtrack for in-place rewind without restoring from a snapshot.
  • Supports zero-ETL integration with Amazon Redshift.
  • Supports Parallel Query to push analytical processing into the Aurora storage layer.

Aurora PostgreSQL-Compatible Edition

  • Compatible with PostgreSQL 13 through 17.
  • Supports Babelfish for a SQL Server TDS/T-SQL compatibility layer.
  • Supports pgvector for vector similarity search and HNSW indexing for retrieval-augmented generation.
  • Supports Aurora Optimized Reads using local NVMe storage on r6gd/r6id instances as a tiered cache and temporary table store.
  • Supports Aurora Limitless Database for horizontal scale-out through automatic sharding.

Aurora Serverless v2

  • Replaces Aurora Serverless v1 for most new workloads.
  • Scales between 0.5 and 256 Aurora Capacity Units (ACUs) in fine-grained steps within seconds.
  • Supports both Aurora MySQL- and Aurora PostgreSQL-compatible editions.
  • Works with Aurora Global Database and the Amazon RDS Data API.

Aurora Global Database

  • Supports up to five secondary regions (six regions in total, including the primary), with replication lag typically under one second.
  • Provides cross-region disaster recovery with RPO measured in seconds and RTO in minutes.
  • Write Forwarding allows applications in secondary regions to send writes to the primary region.

Aurora Limitless Database

  • Aurora PostgreSQL-only at the time of writing.
  • Provides horizontal scale-out through automatic sharding and a single endpoint.
  • Targets high-throughput OLTP workloads beyond the limits of a single writer instance.

Aurora DSQL

  • New serverless, distributed SQL database introduced at re:Invent in December 2024 and generally available since May 2025.
  • Supports active-active multi-region writes with strong consistency.
  • Has a separate billing and operational model from Aurora Provisioned and Aurora Serverless.

Differences between Amazon RDS and Amazon Aurora

While Amazon Aurora is offered through the Amazon RDS API, its architecture differs significantly from the original Amazon RDS engines. The following table summarizes the key differences.
Aspect Amazon RDS (MySQL/PostgreSQL/MariaDB/Oracle/SQL Server/Db2) Amazon Aurora (MySQL-/PostgreSQL-compatible)
Storage architecture Local Amazon EBS volume per instance Distributed shared storage layer (6-way replication across 3 AZs)
Read replica replication Asynchronous, separate storage per replica Asynchronous logical replicas over shared storage (lag typically milliseconds)
Max read replicas per source instance Up to 15 (MySQL, MariaDB, PostgreSQL); up to 5 (Oracle, SQL Server Enterprise Edition); up to 3 (Db2) Up to 15 Aurora Replicas per cluster
Failover time (Multi-AZ) 60 to 120 seconds (Multi-AZ Instance), under 35 seconds (Multi-AZ DB Cluster) Typically under 30 seconds
Backup and rewind Snapshots and continuous WAL/binlog backups; PITR Continuous distributed backup; Aurora Backtrack for in-place rewind (Aurora MySQL)
Serverless Not applicable (instance-based only) Aurora Serverless v1 (legacy), v2 (current), Aurora DSQL (new)
Cross-region replication Cross-Region Read Replicas Aurora Global Database with replication lag typically under 1 second
Storage pricing model Provisioned storage GB plus IOPS Standard (pay per I/O) or I/O-Optimized (no per-I/O charge)

Amazon RDS Instance Classes and Storage

DB Instance Classes

Amazon RDS and Amazon Aurora support multiple DB instance class families optimized for different workloads:
  • Standard (general-purpose): db.m5, db.m6i, db.m6g, db.m7g, db.m7i.
  • Memory-optimized: db.r5, db.r6i, db.r6g, db.r7g, db.x2g.
  • Memory-optimized with local NVMe: db.r6gd, db.r6id (used by Aurora Optimized Reads).
  • Burstable (development/test): db.t3, db.t4g.

Storage Types

  • General Purpose SSD (gp2): baseline IOPS scaled with volume size; legacy default for Amazon RDS.
  • General Purpose SSD (gp3): separates IOPS from volume size; the recommended default for new Amazon RDS volumes.
  • Provisioned IOPS SSD (io1): high consistent IOPS, up to 64,000 IOPS depending on engine and instance class.
  • Provisioned IOPS SSD (io2 Block Express): highest-performance tier, up to 256,000 IOPS for select engines and instance classes.
  • Magnetic storage: legacy, not recommended for new workloads.
  • Aurora Storage: a managed shared cluster storage layer that auto-scales in 10 GiB increments up to 128 TiB; no manual provisioning required.

Multi-AZ and Read Replicas

Single-AZ Deployments

A Single-AZ deployment consists of one DB instance in one Availability Zone. This option is recommended only for development and test workloads.

Multi-AZ DB Instance Deployments

Multi-AZ DB Instance deployments provision a primary instance and a synchronous standby in a different Availability Zone within the same region. Failover typically completes in 60 to 120 seconds. The standby instance is not readable.

Multi-AZ DB Cluster Deployments

Multi-AZ DB Cluster deployments provision one primary and two readable standby instances across three Availability Zones. They are available for Amazon RDS for MySQL and Amazon RDS for PostgreSQL since 2022. Failover typically completes in under 35 seconds, and the standby instances can serve eventually consistent reads.

Read Replicas

Read Replicas are asynchronous replicas in the same Availability Zone, in a different Availability Zone, or in a different region. Amazon RDS for MySQL, MariaDB, and PostgreSQL support up to 15 Read Replicas per source DB instance, while Amazon RDS for Oracle and Amazon RDS for Microsoft SQL Server (Enterprise Edition only) support up to 5, and Amazon RDS for Db2 supports up to 3. Aurora supports up to 15 Aurora Replicas per cluster; within a cluster they share the same distributed storage layer with the writer and are also used as automatic failover targets. Amazon RDS Read Replicas (the non-Aurora engines) can be promoted to standalone DB instances for disaster recovery or for breaking off a downstream environment from the source.

Cross-Region Read Replicas

Cross-Region Read Replicas are available for Amazon RDS for MySQL, MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server, depending on engine version. For Amazon Aurora, the cross-region option is Aurora Global Database, which uses storage-layer replication with replication lag typically under one second.

Backup and Restore

Automated Backups

Amazon RDS provides continuous backup to Amazon S3 with retention configurable up to 35 days. Automated backups enable point-in-time recovery (PITR) within the retention window: for Amazon RDS for MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, and Db2, the practical recovery granularity is bounded by the transaction log upload interval (typically every five minutes), while Amazon Aurora's distributed storage layer enables PITR to any second within the retention window.

Manual Snapshots

Manual snapshots are user-initiated and retained until explicitly deleted. They can be copied across regions and shared across AWS accounts for migration and disaster recovery.

Point-in-Time Recovery (PITR)

Point-in-Time Recovery restores the database to any second within the backup retention period. It creates a new DB instance from the recovery point.

Aurora Backtrack

For Aurora MySQL, Aurora Backtrack rewinds the cluster in place to a previous point in time without restoring from a snapshot. The Backtrack window is configurable up to 72 hours.

Security Measures

Network Isolation

Amazon RDS DB instances run inside a VPC by default. Inbound and outbound database traffic is controlled by VPC security groups, and connectivity from on-premises environments can be established through AWS Direct Connect or AWS Site-to-Site VPN.

IAM and Access Management

AWS IAM controls API-level access to Amazon RDS resources (creating, modifying, and deleting DB instances and clusters). For data-plane access, IAM database authentication issues short-lived tokens for Amazon RDS for MySQL, Amazon RDS for PostgreSQL, Amazon Aurora MySQL, and Amazon Aurora PostgreSQL.

Encryption at Rest

Amazon RDS uses AWS KMS to encrypt data at rest with AES-256. Encryption can be enabled at creation, and existing unencrypted instances can be encrypted by snapshot copy.

Encryption in Transit

All Amazon RDS engines support TLS/SSL connections. Recent Amazon RDS releases default to TLS 1.2 or higher and support TLS 1.3 for selected engines.

Database Activity Streams

Database Activity Streams provide a near real-time stream of database activity to Amazon Kinesis Data Streams for Amazon Aurora MySQL, Amazon Aurora PostgreSQL, and Amazon RDS for Oracle.

AWS Secrets Manager Integration

Amazon RDS integrates with AWS Secrets Manager for managed master user password storage and rotation. Customers can store database credentials in Secrets Manager and reference them from applications without embedding secrets in code or configuration.

Monitoring

Amazon CloudWatch Metrics

Amazon RDS automatically publishes metrics for CPU utilization, free memory, free storage space, IOPS, throughput, replication lag, connection count, and many more to Amazon CloudWatch.

Enhanced Monitoring

Enhanced Monitoring provides OS-level metrics at one-second granularity, streamed to Amazon CloudWatch Logs. It is useful for diagnosing CPU, memory, and disk pressure that is not visible from the database layer alone.

Performance Insights

Performance Insights visualizes database load by SQL statement, user, host, and wait event. It is generally available for all major Amazon RDS and Amazon Aurora engines, with optional long-term retention up to 24 months.

Amazon DevOps Guru for RDS

Amazon DevOps Guru for RDS provides ML-driven anomaly detection and root-cause analysis for Amazon Aurora and Amazon RDS workloads.

RDS Recommendations and AWS Trusted Advisor

Amazon RDS provides operational recommendations on Multi-AZ deployments, encryption, parameter group settings, version upgrades, and underutilized DB instances. AWS Trusted Advisor surfaces additional best-practice checks across the account.

Operational Features

Parameter Groups

Parameter groups manage engine-specific configuration parameters (e.g., innodb_buffer_pool_size, shared_buffers) independently from the DB instance, so that the same settings can be applied to many instances.

Option Groups

Option groups manage engine-specific add-on options, such as Oracle Native Network Encryption or Microsoft SQL Server SSRS/SSAS components.

Maintenance Windows

Customer-defined weekly maintenance windows control when Amazon RDS applies operating system and database engine patches.

Amazon RDS Blue/Green Deployments

Amazon RDS Blue/Green Deployments creates a synchronized staging environment (the "green" cluster) of a production database (the "blue" cluster) using logical replication, and enables a one-click cutover with minimal downtime. It is especially useful for major version upgrades, engine patching, and instance class changes. Supported engines include Amazon RDS for MySQL, Amazon RDS for MariaDB, Amazon RDS for PostgreSQL, Amazon Aurora MySQL, and Amazon Aurora PostgreSQL.

Amazon RDS Proxy

Amazon RDS Proxy is a fully managed, highly available database proxy that pools and shares database connections. It is recommended for serverless applications using AWS Lambda and for any application that opens many short-lived database connections. It supports Amazon RDS for MySQL, PostgreSQL, MariaDB, and SQL Server, as well as Amazon Aurora MySQL and Amazon Aurora PostgreSQL.

Babelfish for Amazon Aurora PostgreSQL

Babelfish is a Microsoft SQL Server TDS protocol and T-SQL dialect compatibility layer for Aurora PostgreSQL. It enables many SQL Server applications to run on Aurora PostgreSQL without rewriting application code, by accepting connections from SQL Server clients and translating T-SQL statements into PostgreSQL-compatible operations.

Trusted Language Extensions (TLE) for PostgreSQL

Trusted Language Extensions (TLE) is an open source development kit (pg_tle) for safely deploying custom PostgreSQL extensions on Aurora PostgreSQL and Amazon RDS for PostgreSQL. It removes the need for superuser privileges by sandboxing extensions in trusted procedural languages.

Zero-ETL Integration

Amazon RDS and Amazon Aurora support zero-ETL integrations with several AWS analytics and ML services:
  • Amazon Aurora MySQL to Amazon Redshift (generally available since 2023).
  • Amazon Aurora PostgreSQL to Amazon Redshift (generally available).
  • Amazon RDS for MySQL to Amazon Redshift (generally available since 2024).
  • Amazon Aurora to Amazon SageMaker (announced in 2024).
These integrations avoid the need to manage custom data pipelines for near real-time analytics and ML feature engineering on transactional data.

Amazon RDS Extended Support

Amazon RDS Extended Support provides critical security and bug fixes for community database engine versions for up to three years after the community end-of-life date. Extended Support helps customers plan major version migrations on their own schedule rather than the community's.

Amazon RDS Custom

Amazon RDS Custom is a managed database service that gives customers elevated OS- and database-level access. It is currently available for Oracle and Microsoft SQL Server, and is targeted at legacy enterprise workloads that require custom OS settings, agents, or database-level patches.

Amazon RDS Data API

The Amazon RDS Data API provides an HTTPS endpoint for executing SQL against Aurora Serverless v2 and provisioned Aurora PostgreSQL clusters. It removes the need for persistent database connections from Lambda functions and other compute environments.

Integration with AWS Services

Amazon RDS and Amazon Aurora integrate with many other AWS services for networking, identity, encryption, observability, analytics, machine learning, data movement, compute, and backup:
  • Networking: Amazon VPC, AWS PrivateLink, AWS Direct Connect, AWS Site-to-Site VPN.
  • Identity: AWS IAM, AWS Secrets Manager, AWS IAM Identity Center (for console federation).
  • Encryption: AWS KMS for at-rest encryption, ACM Private CA for TLS certificates on some engines.
  • Observability: Amazon CloudWatch, AWS CloudTrail, Amazon DevOps Guru, AWS X-Ray (for application-side tracing).
  • Analytics: Amazon Redshift (zero-ETL), Amazon QuickSight, Amazon Athena Federated Query.
  • Machine Learning: Amazon SageMaker (zero-ETL), Amazon Bedrock (via Aurora pgvector), Amazon Comprehend.
  • Data Movement: AWS Database Migration Service (DMS), AWS Schema Conversion Tool (SCT), AWS Glue.
  • Compute: AWS Lambda (with Amazon RDS Proxy or the Data API), Amazon EC2, Amazon ECS, Amazon EKS, AWS Fargate.
  • Backup: AWS Backup with cross-region and cross-account copy.

Amazon RDS and Amazon Aurora Best Practices

Performance

  • Use gp3 storage instead of legacy gp2 for predictable IOPS scaling that is decoupled from volume size.
  • Use Amazon Aurora I/O-Optimized for I/O-heavy workloads to remove per-I/O charges.
  • Right-size DB instance classes based on Performance Insights data and Amazon CloudWatch metrics.
  • Use Aurora Optimized Reads on r6gd/r6id instances for workloads with large temporary tables or sort operations.

Availability

  • Use Multi-AZ DB Cluster (where supported) for sub-35-second failover and readable standbys.
  • Use Amazon Aurora Global Database for cross-region disaster recovery with sub-second replication lag.
  • Regularly test failover using the RebootDBInstance or FailoverDBCluster APIs.
  • Use Amazon RDS Proxy in front of serverless applications to absorb connection storms during failover.

Security

  • Enable encryption at rest at instance creation.
  • Use IAM database authentication for short-lived credentials where supported.
  • Store database credentials in AWS Secrets Manager with managed rotation.
  • Enable Database Activity Streams for audit logging on supported engines.
  • Restrict inbound access to DB instances with tightly scoped security groups.

Operations

  • Use Amazon RDS Blue/Green Deployments for major version upgrades.
  • Use Amazon RDS Extended Support to plan upgrades on your own schedule rather than the community's end-of-life schedule.
  • Enable Enhanced Monitoring and Performance Insights with at least 7 days of retention for diagnostic visibility.
  • Use parameter groups and option groups to manage configuration consistently across many instances.

Cost Optimization

  • Use Amazon RDS Reserved Instances for steady-state workloads to reduce on-demand DB instance costs (AWS Savings Plans do not cover Amazon RDS).
  • Use Aurora Serverless v2 or Aurora DSQL for variable workloads.
  • Use gp3 IOPS provisioning rather than over-provisioning storage volume size.
  • Stop non-production instances during off-hours where the engine supports it.

Frequently Asked Questions

When did Amazon RDS launch?

Amazon RDS was announced on October 22, 2009, initially supporting MySQL 5.1 in beta. It became Generally Available (GA) on May 31, 2011, with a 99.95 percent monthly availability SLA for Multi-AZ deployments.

When were Multi-AZ and Read Replicas introduced?

Multi-AZ deployments for Amazon RDS for MySQL were announced on May 18, 2010. Read Replicas for Amazon RDS for MySQL followed on October 5, 2010. The newer Multi-AZ DB Cluster deployment (with two readable standbys and sub-35-second failover) became Generally Available on May 26, 2022 for Amazon RDS for MySQL and Amazon RDS for PostgreSQL.

When did Amazon Aurora launch (MySQL and PostgreSQL)?

Amazon Aurora was announced at re:Invent on November 12, 2014. The MySQL-compatible edition became Generally Available on July 27, 2015, and the PostgreSQL-compatible edition became Generally Available on October 24, 2017.

When did Amazon RDS Proxy launch?

Amazon RDS Proxy was announced in preview at re:Invent on November 25, 2019. It became Generally Available for Amazon RDS for MySQL and Amazon Aurora MySQL on June 30, 2020, and for Amazon RDS for PostgreSQL and Amazon Aurora PostgreSQL on September 25, 2020.

When did Amazon RDS Blue/Green Deployments launch?

Amazon RDS Blue/Green Deployments was announced on November 26, 2022, initially for Amazon RDS for MySQL and Amazon RDS for MariaDB. Coverage has since expanded to Amazon RDS for PostgreSQL, Amazon Aurora MySQL, and Amazon Aurora PostgreSQL.

When did Aurora Serverless v1 and v2 launch?

Amazon Aurora Serverless v1 was previewed at re:Invent 2017 and became Generally Available for Aurora MySQL on August 9, 2018. Aurora Serverless v2 was previewed at re:Invent 2019, announced at re:Invent in November 2021, and became Generally Available on April 21, 2022, supporting both Aurora MySQL- and Aurora PostgreSQL-compatible editions.

When did Babelfish for Aurora PostgreSQL launch?

Babelfish for Aurora PostgreSQL was previewed at re:Invent on December 1, 2020, and became Generally Available on October 26, 2021. It provides a Microsoft SQL Server TDS protocol and T-SQL dialect compatibility layer that allows many existing SQL Server applications to run on Aurora PostgreSQL without rewriting application code.

When did Aurora Limitless Database launch?

Amazon Aurora Limitless Database for Aurora PostgreSQL was previewed at re:Invent on November 26, 2023. It reached Generally Available status on October 31, 2024, in select AWS regions with PostgreSQL 16.4 compatibility, and has continued to expand regional coverage since then.

When did Amazon RDS support IAM database authentication?

IAM database authentication for Amazon RDS for MySQL and Amazon Aurora MySQL was announced on April 24, 2017. Support for Amazon RDS for PostgreSQL followed on April 25, 2018. IAM database authentication issues short-lived tokens to database connections without storing long-lived database passwords in application configuration.

When did zero-ETL integration with Amazon Redshift launch?

Amazon Aurora zero-ETL integration with Amazon Redshift was announced on November 29, 2022, became Generally Available for Amazon Aurora MySQL on June 13, 2023, and added Amazon Aurora PostgreSQL support during re:Invent 2023. Amazon RDS for MySQL zero-ETL integration with Amazon Redshift became Generally Available on February 27, 2024.

References:
Tech Blog with curated related content
AWS Documentation(Amazon RDS)
AWS Documentation(Amazon Aurora)

Summary

In this article, I created a historical timeline of Amazon RDS and looked at the list of features and overview of Amazon RDS and Amazon Aurora.

Since its launch in October 2009, Amazon RDS has steadily expanded from a single-engine (MySQL) beta into the relational database backbone of AWS, supporting seven database engines (MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, IBM Db2, and Amazon Aurora) and accumulating a deep portfolio of high availability, security, and operational features.

Amazon Aurora, in particular, reimagined the relational database for the cloud by separating compute from a purpose-built distributed storage layer, and has continued to expand through Amazon Aurora Serverless v2, Amazon Aurora Global Database, Babelfish for Aurora PostgreSQL, Amazon Aurora Limitless Database, and most recently Amazon Aurora DSQL.

Operational features such as Multi-AZ DB Cluster, Amazon RDS Blue/Green Deployments, Amazon RDS Proxy, Performance Insights, IAM database authentication, zero-ETL integrations with Amazon Redshift and Amazon SageMaker, and Amazon RDS Extended Support continue to lower the operational burden on database administrators while enabling new patterns such as real-time analytics, generative AI retrieval, and globally distributed active-active SQL.

I would like to continue monitoring the trends of what kind of features Amazon RDS and Amazon Aurora will provide in the future.

In addition, there is also a historical timeline of all AWS services including services other than Amazon RDS, so please have a look if you are interested.

AWS History and Timeline - Almost All AWS Services List, Announcements, General Availability(GA)


Written by Hidekazu Konishi