Quotas and constraints for Amazon RDS - Amazon Relational Database Service

Quotas and constraints for Amazon RDS

Following, you can find a description of the resource quotas and naming constraints for Amazon RDS.

Quotas in Amazon RDS

Each AWS account has quotas, for each AWS Region, on the number of Amazon RDS resources that can be created. After a quota for a resource has been reached, additional calls to create that resource fail with an exception.

The following table lists the resources and their quotas per AWS Region.

Name Default Adjustable
Authorizations per DB security group 20 No
Custom engine versions 40 Yes
DB cluster parameter groups 50 No
DB clusters 40 Yes
DB instances 40 Yes
DB subnet groups 50 Yes
Data API HTTP request body size 4 Megabytes No
Data API maximum concurrent cluster-secret pairs 30 No
Data API maximum concurrent requests 500 No
Data API maximum result set size 1 Megabytes No
Data API requests per second 1,000 per second No
Event subscriptions 20 Yes
IAM roles per DB cluster 5 Yes
IAM roles per DB instance 5 Yes
Manual DB cluster snapshots 100 Yes
Manual DB instance snapshots 100 Yes
Option groups 20 Yes
Parameter groups 50 Yes
Proxies 20 Yes
Read replicas per master 5 Yes
Reserved DB instances 40 Yes
Rules per security group 20 No
Security groups 25 Yes
Security groups (VPC) 5 No
Subnets per DB subnet group 20 No
Tags per resource 50 No
Total storage for all DB instances 100,000 Gigabytes Yes
Note

By default, you can have up to a total of 40 DB instances. RDS DB instances, Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB instances apply to this quota.

The following limitations apply to the Amazon RDS DB instances:

  • 10 for each SQL Server edition (Enterprise, Standard, Web, and Express) under the "license-included" model

  • 10 for Oracle under the "license-included" model

  • 40 for MySQL, MariaDB, or PostgreSQL

  • 40 for Oracle under the "bring-your-own-license" (BYOL) licensing model

If your application requires more DB instances, you can request additional DB instances by opening the Service Quotas console. In the navigation pane, choose AWS services. Choose Amazon Relational Database Service (Amazon RDS), choose a quota, and follow the directions to request a quota increase. For more information, see Requesting a quota increase in the Service Quotas User Guide.

Backups managed by AWS Backup are considered manual DB snapshots, but don't count toward the manual snapshot quota. For information about AWS Backup, see the AWS Backup Developer Guide.

If you use any of the Amazon RDS APIs and exceed the default quota for the number of calls per second, the Amazon RDS API issues an error similar to the following: ClientError: An error occurred (ThrottlingException) when calling the API_name operation: Rate exceeded. Reduce the number of calls per second. The quota is meant to cover most use cases. If higher limits are needed, request a quota increase by contacting AWS Support. Open the AWS Support Center page, sign in if necessary, and choose Create case. Choose Service limit increase. Complete and submit the form.

Note

This quota can't be changed in the Amazon RDS Service Quotas console.

Naming constraints in Amazon RDS

The following table describes naming constraints in Amazon RDS.

Resource or item Constraints

DB instance identifier

Identifiers have these naming constraints:

  • Must contain 1–63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all DB instances per AWS account, per AWS Region.

Database name

Database name constraints differ for each database engine . For more information, see the available settings when creating each DB instance.

Note

This approach doesn't apply to SQL Server. For SQL Server, you create your databases after you create your DB instance.

Master user name

Master user name constraints differ for each database engine. For more information, see the available settings when creating each DB instance.

Master password

The password for the database master user can include any printable ASCII character except /, ", @, or a space. Master password length constraints differ for each database engine. For more information, see the available settings when creating each DB instance.

DB parameter group name

These names have these constraints:

  • Must contain 1–255 alphanumeric characters.

  • First character must be a letter.

  • Hyphens are allowed, but the name cannot end with a hyphen or contain two consecutive hyphens.

DB subnet group name

These names have these constraints:

  • Must contain 1–255 characters.

  • Alphanumeric characters, spaces, hyphens, underscores, and periods are allowed.

Maximum number of database connections

The maximum number of simultaneous database connections varies by the DB engine type and the memory allocation for the DB instance class. The maximum number of connections is set in the parameter group associated with the DB instance, except for Microsoft SQL Server, where it is set in the server properties for the DB instance in SQL Server Management Studio (SSMS).

DBInstanceClassMemory is in bytes. You can find the value of DBInstanceClassMemory in gibibytes (GiB) in the table of Hardware specifications for DB instance classes .

Note

For Oracle, you set the maximum number of user processes and user and system sessions.

Maximum database connections
DB engine Parameter Allowed values Default value Description
MariaDB and MySQL max_connections 1–100000 {DBInstanceClassMemory/12582880}
Note

If the default value calculation results in a value greater than 16,000, Amazon RDS sets the limit to 16,000 for MariaDB and MySQL DB instances.

Number of simultaneous client connections allowed
Oracle processes 80–20000 LEAST({DBInstanceClassMemory/9868951}, 20000) User processes
sessions 100–65535 User and system sessions
PostgreSQL max_connections 6–8388607 LEAST({DBInstanceClassMemory/9531392}, 5000) Maximum number of concurrent connections
SQL Server Maximum number of concurrent connections 0–32767 0 (unlimited) Maximum number of concurrent connections

The following example shows how to calculate max_connections for a MariaDB or MySQL DB instance using the db.m5.xlarge instance class. DBInstanceClassMemory is 16 GiB, or 17,179,869,184 bytes. That divided by 12,582,880 = 1365 connections maximum.

Database connections consume memory. Setting one of these parameters too high can cause a low memory condition that might cause a DB instance to be placed in the incompatible-parameters status. For more information, see Diagnosing and resolving incompatible parameters status for a memory limit.

Note

You might see fewer than the maximum number of DB connections. This is to avoid potential out-of-memory issues.

File size limits in Amazon RDS

File size limits apply to certain Amazon RDS DB instances. For more information, see the following engine-specific limits: