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 Each supported Region: 20 No
DB instances Each supported Region: 40 Yes
DB subnet groups Each supported Region: 50 Yes
Event subscriptions Each supported Region: 20 Yes
IAM roles per DB cluster Each supported Region: 5 Yes
IAM roles per DB instance Each supported Region: 5 Yes
Manual DB cluster snapshots Each supported Region: 100 Yes
Manual DB instance snapshots Each supported Region: 100 Yes
Option groups Each supported Region: 20 Yes
Parameter groups Each supported Region: 50 Yes
Proxies Each supported Region: 20 Yes
Read replicas per master Each supported Region: 5 Yes
Reserved DB instances Each supported Region: 40 Yes
Rules per security group Each supported Region: 20 No
Security groups Each supported Region: 25 Yes
Security groups (VPC) Each supported Region: 5 No
Subnets per DB subnet group Each supported Region: 20 No
Tags per resource Each supported Region: 50 No
Total storage for all DB instances Each supported Region: 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. For details about how this value is calculated, see DB parameter formula variables. In particular, due to memory reserved for the operating system and the RDS management processes, this memory size is smaller than the value in gibibytes (GiB) shown 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: