Why did I get an error when changing or scaling the instance class of my Amazon Aurora DB instance?

4 minute read
0

I have an Amazon Aurora DB instance, and I want to scale the instance class. Why can't I change the instance class, and how do I resolve errors when scaling my DB instance?

Short description

When changing the instance class of an Amazon Aurora DB instance, you might receive one of the following errors:

  • "Cannot modify the instance class because there are no instances of the requested class available in the current instance's availability zone. Please try your request again at a later time"
  • "DB Cluster <cluster> requires a database engine upgrade to support db.r4.large"
  • "RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r5.8xlarge, Engine=aurora, EngineVersion=5.6.10a, LicenseModel=general-public-license"

Before troubleshooting any errors, it's a best practice that you run your DB clusters on the latest engine version, or use long-term support (LTS) versions. Newer engine versions contain fixes for improving security, stability, and instance availability.

  • If your DB cluster is running on a version that shows as 5.6.10a in the Amazon Relational Database Service (Amazon RDS) Console, consider testing and upgrading to 1.22.3 (preferred version) or 1.19.6 (LTS version).
  • If your DB cluster is running on a version that shows as 5.7.12 in the Amazon RDS Console, consider testing and upgrading to 2.07.3 (preferred version) or 2.04.9 (LTS version).
  • After you upgrade from an older version, you might also need to perform OS upgrades to the instances in your DB cluster. Apply these upgrades before proceeding.

Note: You can create and test the database upgrade using the Aurora cloning feature. Also, in some Regions or Availability Zones (AZs), older instance classes like T2 or R3 might not be available. It's a best practice that you use newer instance classes like T3 and R5.

Resolution

Cannot modify the instance class because there are no instances of the requested class available in the current instance's availability zone. Please try your request again at a later time.

This is one of the most common errors you receive when you change the instance class of your Aurora DB instance. There are two possible causes for this error:

  • The AZ does not have capacity for the target instance class you choose. When the AZ does not have enough on-demand capacity for the target instance class, wait a few minutes, and then try modifying the instance class again.
  • The target instance class is not supported in the AZ. You receive this error when the target instance class is not supported for the Aurora engine and engine version for the AZ the instance is running in. To check which AZ supports your engine, engine version, and instance class, run the following command:
aws rds describe-orderable-db-instance-options --engine <engine_name> --engine-version <engine_version> --db-instance-class <instance_class> --query 'OrderableDBInstanceOptions[].AvailabilityZones'

Example:

aws rds describe-orderable-db-instance-options --engine aurora --engine-version 5.6.10a --db-instance-class db.t3.medium --query 'OrderableDBInstanceOptions[].AvailabilityZones'

DB Cluster <cluster> requires a database engine upgrade to support db.r4.large

Although this error is rare, it occurs if the DB cluster is running on an older version of Aurora. The db.r4 instance family is only supported in Aurora version 1.14.4 and above. To find the exact engine version of your DB cluster, log in to the cluster and run this query:

SELECT @@AURORA_VERSION;

You can schedule a database engine upgrade by running the apply-pending-maintenance-actions CLI command.

aws rds apply-pending-maintenance-action --resource-identifier arn:aws:rds:us-east-1:123456789012:cluster:aurora-cluster --apply-action system-update --opt-in-type immediate

RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.r5.8xlarge, Engine=aurora, EngineVersion=5.6.10a, LicenseModel=general-public-license

This error occurs if you are running an older version of Aurora. The db.r5 instance family is not supported in all Aurora versions. For example, the db.r5.8xlarge instance class is supported in Aurora version 1.19.6 and above for Aurora MySQL 5.6 clusters. If the cluster is running an older version and you try to change this instance class, you receive this error.

Run a CLI command similar to the following to find the engine versions that are supported for your engine and instance class combination.

aws rds describe-orderable-db-instance-options --engine aurora --db-instance-class db.r5.8xlarge --query 'OrderableDBInstanceOptions[].EngineVersion'

Related information

Supported DB Instance classes for Amazon Aurora

AWS OFFICIAL
AWS OFFICIALUpdated 3 years ago