Amazon Relational Database Service RDS is a managed relational database service that provides you seven familiar database engines to choose from, including Amazon Aurora MySQL-Compatible Edition, Amazon Aurora PostgreSQL-Compatible Edition, MySQL, MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS handles routine database tasks, such as provisioning, patching, backup, recovery, failure detection, and repair.
Amazon RDS makes it easy to use replication to enhance availability and reliability for production workloads. Using the Multi-AZ deployment option, you can run mission-critical workloads with high availability and built-in automated failover from your primary database to a synchronously replicated secondary database. Using Read Replicas, you can scale out beyond the capacity of a single database deployment for read-heavy database workloads.
As with all AWS services, there are no upfront investments required and you pay only for the resources you use.
Lower administrative burden
Amazon RDS database instances are preconfigured with parameters and settings appropriate for the engine and class you have selected. You can launch a database instance and connect your application within minutes. DB Parameter Groups provide granular control and fine-tuning of your database.
Amazon RDS Blue/Green Deployments allow you to make safer, simpler, and faster database updates with zero data loss on Aurora MySQL-Compatible Edition, Amazon RDS for MySQL, and Amazon RDS for MariaDB. In a few steps, Blue/Green Deployments create a staging environment that mirrors the production environment and keeps the two environments in sync using logical replication. You can make changes—such as major/minor version upgrades, schema modifications, and parameter setting changes—without impacting your production workload.
When promoting your staging environment, Blue/Green Deployments block writes to both the blue and green environments until switchover is complete. Blue/Green Deployments use built-in switchover guardrails that time out promotion if it exceeds your maximum tolerable downtime, detect replication errors, check instance health, and more.
Amazon RDS will make sure that the relational database software powering your deployment stays up to date with the latest patches. You can exert optional control over when and if your database instance is patched.
Amazon RDS provides best practice guidance by analyzing configuration and usage metrics from your database instances. Recommendations cover areas such as database engine versions, storage, instance types, and networking. You can browse the available recommendations and perform a recommended action immediately, schedule it for their next maintenance window, or dismiss it entirely.
Amazon RDS General Purpose Storage is an SSD-backed storage option that delivers a consistent baseline of 3 IOPS per provisioned GB and provides the ability to burst up to 3,000 IOPS above the baseline. This storage type is suitable for a broad range of database workloads.
Amazon RDS Provisioned IOPS Storage is an SSD-backed storage option designed to deliver fast, predictable, and consistent I/O performance. You specify an IOPS rate when creating a database instance, and Amazon RDS provisions that IOPS rate for the lifetime of the database instance. This storage type is optimized for I/O-intensive transactional (OLTP) database workloads. You can provision up to 256,000 IOPS per database instance, although your actual realized IOPS may vary based on your database workload, instance type, and database engine choice.
Amazon RDS Optimized Writes, built on top of the new AWS Nitro System Torn Write Prevention Feature, allow you to improve write transaction throughput by up to 2x in RDS for MySQL at no additional cost. Optimized Writes safely writes your 16KiB data pages in a single step. Optimized Writes is especially useful for customers with write-intensive database workloads, such as digital payments, financial trading, and online gaming.
Amazon RDS Optimized Reads are designed to provide you with faster database performance with up to 2X faster query processing in Amazon RDS for MySQL and Amazon RDS for MariaDB at no additional cost. Optimized Reads improve the speed of your complex queries that use temporary tables, such as queries that require sorts, hash aggregations, high-load joins, and Common Table Expressions (CTEs). Optimized Reads improve the speed of your queries by placing the temporary tables on your NVMe-based instance storage, which is physically connected to your host server.
You can scale the compute and memory resources powering your deployment up or down, up to a maximum of 32 vCPUs and 244 GiB of RAM. Compute scaling operations typically complete in a few minutes.
As your storage requirements grow, you can also provision additional storage. The Amazon Aurora engine will automatically grow the size of your database volume as your database storage needs grow, up to a maximum of 64 TB or a maximum you define. The MySQL, MariaDB, Oracle, and PostgreSQL engines allow you to scale up to 64 TB of storage and SQL Server supports up to 16 TB. Storage scaling is on the fly with zero downtime.
Read Replicas make it easier to elastically scale out beyond the capacity constraints of a single DB instance for read-heavy database workloads. You can create one or more replicas of a given source DB instance and serve high-volume application read traffic from multiple copies of your data, thereby increasing aggregate read throughput. Read replicas are available in Amazon RDS for MySQL, MariaDB, PostgreSQL, and Oracle as well as Amazon Aurora.
Availability and durability
The automated backup feature of Amazon RDS enables point-in-time recovery for your database instance. Amazon RDS will back up your database and transaction logs and store both for a user-specified retention period. This allows you to restore your database instance to any second during your retention period, up to the last 5 minutes. Your automatic backup retention period can be configured to up to 35 days.
Database snapshots are user-initiated backups of your instances stored in Amazon S3 that are kept until you explicitly delete them. You can create a new instance from a database snapshot whenever you desire. Although database snapshots serve operationally as full backups, you are billed only for incremental storage use.
Amazon RDS Multi-AZ deployments provide enhanced availability and durability for database instances, making them a natural fit for production database workloads. When you provision a Multi-AZ database instance, Amazon RDS synchronously replicates your data to a standby instance in a different Availability Zone (AZ).
Amazon RDS will automatically replace the compute instance powering your deployment in the event of a hardware failure.
Amazon RDS allows you to encrypt your databases using keys you manage through AWS Key Management Service (KMS). On a database instance running with Amazon RDS encryption, data stored at rest in the underlying storage is encrypted, as are its automated backups, read replicas, and snapshots.
Amazon RDS supports Transparent Data Encryption in SQL Server and Oracle. Transparent Data Encryption in Oracle is integrated with AWS CloudHSM, which allows you to securely generate, store, and manage your cryptographic keys in single-tenant Hardware Security Module (HSM) appliances on AWS cloud.
Amazon RDS supports the use of SSL to secure data in transit.
AWS recommends that you run your database instances in Amazon VPC, which allows you to isolate your database in your own virtual network and connect to your on-premises IT infrastructure using industry-standard encrypted IPsec VPNs. You can configure firewall settings and control network access to your database instances.
Amazon RDS is integrated with AWS Identity and Access Management (IAM) and provides you the ability to control the actions that your AWS IAM users and groups can take on specific Amazon RDS resources, from database instances through snapshots, parameter groups, and option groups. You can also tag your Amazon RDS resources and control the actions that your IAM users and groups can take on groups of resources that have the same tag and associated value. For example, you can configure your IAM rules to ensure developers are able to modify "Development" database instances, but only Database Administrators can make changes to "Production" database instances.
Amazon RDS provides Amazon CloudWatch metrics for your database instances at no additional charge. You can use the RDS Management Console to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections. Amazon RDS also provides Enhanced Monitoring, which provides access to over 50 CPU, memory, file system, and disk I/O metrics, and Performance Insights, an easy-to-use tool that helps you quickly detect performance problems.
Amazon RDS can notify you through email or SMS text message of database events through Amazon SNS. You can use the AWS Management Console or the Amazon RDS APIs to subscribe to over 40 different database events associated with your database instances.
Amazon RDS integrates with AWS Config to support compliance and enhance security by recording and auditing changes to the configuration of your DB instance, including parameter groups, subnet groups, snapshots, security groups, and event subscriptions.
There is no up-front commitment with Amazon RDS; you simply pay a monthly charge for each database instance that you launch. And, when you’re finished with a database instance, you can easily delete it. To see more details, visit the Amazon RDS Instance Types page and the Amazon RDS Pricing page.
Amazon RDS Reserved Instances give you the option to reserve a DB instance for a one or three year term and in turn receive a significant discount compared to the On-Demand Instance pricing for the DB instance.
Amazon RDS allows you to easily stop and start your database instances for up to 7 days at a time. This makes it easier and affordable to use databases for development and test purposes, where the database is not required to be running all of the time.