Amazon RDS
Managed Relational Database Service for MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB
Amazon RDS Proxy
Amazon RDS Proxy is a fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure.
Many applications, including those built on modern serverless architectures, can have a large number of open connections to the database server, and may open and close database connections at a high rate, exhausting database memory and compute resources. Amazon RDS Proxy allows applications to pool and share connections established with the database, improving database efficiency and application scalability. With RDS Proxy, failover times for Aurora and RDS databases are reduced by up to 66% and database credentials, authentication, and access can be managed through integration with AWS Secrets Manager and AWS Identity and Access Management (IAM).
Autoscaling
Scaling Your Amazon RDS Instance Vertically and Horizontally | AWS Database Blog
Distribute read requests across multiple Amazon RDS read replicas | AWS re:Post
amazon web services - Does AWS support Autoscaling for RDS Instance - Stack Overflow
Scaling a RDS Instance vertically & automatically | Renato Losio
Storage
Via Snapshot - You can’t reduce the allocated storage from what you originally configured for your source database snapshot.
After you create an Amazon RDS DB instance, you can't modify the allocated storage size of the DB instance to decrease the total storage space it uses. To decrease the storage size of your DB instance, create a new DB instance that has less provisioned storage size. Then, migrate your data into the new DB instance using one of the following methods:
- Use the database engine's native dump and restore method. This method causes some downtime.
- Use AWS Database Migration Service (AWS DMS) for minimal downtime.
Decrease the storage size of an Amazon RDS DB Instance | AWS re:Post
Amazon RDS DB instance storage - Amazon Relational Database Service
Managing capacity automatically with Amazon RDS storage autoscaling
With storage autoscaling enabled, when Amazon RDS detects that you are running out of free database space it automatically scales up your storage. Amazon RDS starts a storage modification for an autoscaling-enabled DB instance when these factors apply:
- Free available space is less than or equal to 10 percent of the allocated storage.
- The low-storage condition lasts at least five minutes.
- At least six hours have passed since the last storage modification, or storage optimization has completed on the instance, whichever is longer.
The additional storage is in increments of whichever of the following is greater:
- 10 GiB
- 10 percent of currently allocated storage
- Predicted storage growth exceeding the current allocated storage size in the next 7 hours based on the
FreeStorageSpace
metrics from the past hour.
Working with storage for Amazon RDS DB instances - Amazon Relational Database Service
Replication
Working with MySQL read replicas - Amazon Relational Database Service
You can create up to 15 read replicas from one DB instance within the same Region. For replication to operate effectively, each read replica should have the same amount of compute and storage resources as the source DB instance. If you scale the source DB instance, also scale the read replicas.
RDS for MySQL supports cascading read replicas.
You can run multiple read replica create and delete actions at the same time that reference the same source DB instance. When you perform these actions, stay within the limit of 15 read replicas for each source instance.
A read replica of a MySQL DB instance can't use a lower DB engine version than its source DB instance.
Configuring replication filters with MySQL
You can use replication filters to specify which databases and tables are replicated with a read replica. Replication filters can include databases and tables in replication or exclude them from replication.
The following are some use cases for replication filters:
- To reduce the size of a read replica. With replication filtering, you can exclude the databases and tables that aren't needed on the read replica.
- To exclude databases and tables from read replicas for security reasons.
- To replicate different databases and tables for specific use cases at different read replicas. For example, you might use specific read replicas for analytics or sharding.
- For a DB instance that has read replicas in different AWS Regions, to replicate different databases or tables in different AWS Regions.
Setting replication filtering parameters for RDS for MySQL
To configure replication filters, set the following replication filtering parameters on the read replica:
-
replicate-do-db
– Replicate changes to the specified databases. When you set this parameter for a read replica, only the databases specified in the parameter are replicated. -
replicate-ignore-db
– Don't replicate changes to the specified databases. When thereplicate-do-db
parameter is set for a read replica, this parameter isn't evaluated. -
replicate-do-table
– Replicate changes to the specified tables. When you set this parameter for a read replica, only the tables specified in the parameter are replicated. Also, when thereplicate-do-db