为什么会在更改或扩展我的 Amazon Aurora 数据库实例的实例类时出现错误?

上次更新日期:2021 年 1 月 28 日

我有一个 Amazon Aurora 数据库实例,并且我想要扩展该实例类。为什么我无法更改实例类,以及我该如何解决扩展数据库实例时出现的错误?

简短描述

更改 Amazon Aurora 数据库实例的实例类时,您可能会收到以下错误之一:

  • “无法修改实例类,因为当前实例的可用区内没有请求类的实例。请稍后重新尝试请求”
  • “数据库集群 <cluster> 需要进行数据库引擎升级才能支持 db.r4.large”
  • “RDS 不支持通过以下组合创建数据库实例:DBInstanceClass=db.r5.8xlarge、Engine=aurora、EngineVersion=5.6.10a、LicenseModel=general-public-license”

排查任何错误之前,最好先在最新引擎版本上运行数据库集群,或者使用长期支持 (LTS) 版本。更新的引擎版本包含修复,改进了安全性、稳定性和实例可用性。

  • 如果您的数据库集群是在 Amazon Relational Database Service (Amazon RDS) 控制台中显示为 5.6.10a 的版本上运行,请考虑测试并升级到 1.22.3(首选版本)或 1.19.6(LTS 版本)。
  • 如果您的数据库集群是在 Amazon RDS 控制台中显示为 5.7.12 的版本上运行,请考虑测试并升级到 2.07.3(首选版本)或 2.04.9(LTS 版本)。
  • 从旧版本升级之后,您可能还需要对数据库集群中的实例执行操作系统升级。应用这些升级,然后再继续。

注意:您可以使用 Aurora 克隆功能创建和测试数据库升级。此外,在某些区域或可用区 (AZ),T2 或 R3 之类的旧实例类可能不可用。最佳做法是使用 T3 和 R5 之类的更新实例类。

解决方法

无法修改实例类,因为当前实例的可用区中没有可用的请求类的实例。请稍后再试一次请求。

这是您在更改 Aurora 数据库实例的实例类时收到的最常见错误。导致此错误有两个可能的原因:

  • 可用区没有适合您选择的目标实例类的容量。 当可用区没有适合目标实例类的足够按需容量时,请先等待几分钟,然后再尝试重新修改实例类。

  • 目标实例类在可用区不受支持。当 Aurora 引擎以及实例在其中运行的可用区的引擎版本不支持目标实例类时,您将会收到此错误。要检查哪些可用区支持您的引擎、引擎版本和实例类,请运行以下命令:
aws rds describe-orderable-db-instance-options --engine <engine_name> --engine-version <engine_version> --db-instance-class <instance_class> --query 'OrderableDBInstanceOptions[].AvailabilityZones'
示例:
aws rds describe-orderable-db-instance-options --engine aurora --engine-version 5.6.10a --db-instance-class db.t3.medium --query 'OrderableDBInstanceOptions[].AvailabilityZones'

数据库集群 <cluster> 需要进行数据库引擎升级才能支持 db.r4.large

此错误很少见,但是,当数据库集群在较旧版本的 Aurora 上运行时就会出现此错误。db.r4 实例系列仅在 Aurora 版本 1.14.4 及更高版本中受支持。要查找数据库实例的准确引擎版本,请登录集群并运行以下查询:

SELECT @@AURORA_VERSION;

您可以通过运行 apply-pending-maintenance-actions CLI 命令来计划数据库引擎升级。

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 不支持通过以下组合创建数据库实例:DBInstanceClass=db.r5.8xlarge、Engine=aurora、EngineVersion=5.6.10a、LicenseModel=general-public-license

如果您运行的是较旧版本的 Aurora,则会出现此错误。并非所有 Aurora 版本均支持 db.r5 实例系列。例如,对于 Aurora MySQL 5.6 集群,db.r5.8xlarge 实例类仅在 Aurora 版本 1.19.6 及更高版本中受支持。如果集群运行的是较旧版本并且您尝试更改此实例类,则您会收到此错误。

运行与以下类似的 CLI 命令,以查找您的引擎和实例类组合支持的引擎版本。

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

这篇文章对您有帮助吗?


您是否需要账单或技术支持?