维护 Amazon Aurora 数据库集群
Amazon RDS 会定期对 Amazon RDS 资源执行维护。以下主题介绍了这些维护操作以及如何应用它们。
目录
数据库集群维护更新概述
维护通常涉及对数据库集群中以下资源的更新:
-
底层硬件
-
底层操作系统(OS)
-
数据库引擎版本
针对操作系统的更新最常见的原因是安全问题。建议您尽快进行更新。有关操作系统更新的更多信息,请参阅Aurora 数据库集群的操作系统更新。
维护更新期间的离线资源
一些维护项目要求 Amazon RDS 使您的数据库集群脱机一小段时间。要求资源脱机的维护项目包括必需的操作系统或数据库修补。仅对与安全性和实例可靠性相关的修补程序自动安排必需的修补。此类补丁很少发生,通常每隔几个月发生一次。它所需要的维护时间很少超过维护窗口的一小部分。
推迟的数据库实例和数据库集群修改
您已选择不立即应用的推迟的数据库集群和实例修改会在维护时段内应用。例如,您可以选择在维护时段内更改数据库实例类或集群或数据库参数组。您使用等待重启设置指定的此类修改不会显示在等待维护列表中。有关修改数据库集群的信息,请参阅修改 Amazon Aurora 数据库集群。
要查看下一个维护时段待处理的修改,请使用 describe-db-clustersPendingModifiedValues
字段。
DescribePendingMaintenanceActions API 的最终一致性
Amazon RDS DescribePendingMaintenanceActions
API 采用最终一致性模型。这意味着,DescribePendingMaintenanceActions
命令的结果可能不会立即对所有后续 RDS 命令可见。当您使用之前的 API 命令后立即使用 DescribePendingMaintenanceActions
时,请记住这一点。
最终一致性可能会影响您管理维护更新的方式。例如,如果您运行 ApplyPendingMaintenanceActions
命令来更新数据库集群的数据库引擎版本,则该版本最终将对 DescribePendingMaintenanceActions
可见。在这种情况下,DescribePendingMaintenanceActions
可能表明维护操作未被应用,即使已应用也是如此。
要管理最终一致性,您可以执行以下操作:
-
请先确认数据库集群的状态,然后运行命令来对其进行修改。使用指数回退算法运行相应的
DescribePendingMaintenanceActions
命令,来确保有足够的时间让前一个命令传播遍整个系统。为此,请重复运行DescribePendingMaintenanceActions
命令,以几秒钟的等待时间开始,然后逐渐增加达到五分钟的等待时间。 -
增加后续命令之间的等待时间,即使
DescribePendingMaintenanceActions
命令返回准确的响应,也是如此。应用指数回退算法,以几秒钟的等待时间开始,然后逐渐增加达到大约五分钟的等待时间。
查看待处理维护更新
通过使用 RDS 控制台、Amazon CLI 或 RDS API 来查看维护更新是否可用于数据库集群。如果有可用更新,将在 Amazon RDS 控制台上数据库集群的维护列中显示,如下图中所示。

如果没有维护更新可用于数据库集群,则它的列值为无。
如果有维护更新可用于数据库集群,则可能为以下列值:
-
必需 – 维护操作将应用于资源且不能无限期推迟。
-
可用 – 有可执行的维护操作,但不会自动将其应用于资源。您可以手动应用它。
-
下一个时段 – 维护操作将在下一个维护时段应用于资源。
-
正在进行 – 维护操作正在应用于资源。
如果有可用更新,您可以执行以下操作之一:
-
如果维护值为下一个时段,可通过从操作中选择推迟升级来推迟启动维护操作。无法推迟已经启动的维护操作。
-
立即应用维护操作。
-
在下一个维护时段内应用维护操作。
-
不执行任何操作。
要执行操作,请使用 Amazon Web Services Management Console
-
选择数据库实例或集群以显示其详细信息。
-
选择维护和备份。将显示待执行的维护操作。
-
选择要执行的操作,然后选择何时应用该操作。

维护时段确定待执行的操作何时开始,但不限制这些操作的总运行时间。维护操作不保证在维护时段结束前完成,可以在超出指定的结束时间后继续。有关更多信息,请参阅 Amazon RDS 维护时段。
可以通过运行 describe-pending-maintenance-actions Amazon CLI 命令,来查看维护更新是否可用于您的数据库集群。
有关应用维护更新的信息,请参阅对数据库集群应用更新。
适用于 Amazon Aurora 的维护操作
以下维护操作适用于 Aurora 数据库集群:
-
os-upgrade
– 使用滚动升级更新数据库集群中所有数据库实例的操作系统。有关更多信息,请参阅 Aurora 数据库集群的操作系统更新。 -
system-update
– 修补 Aurora PostgreSQL 的数据库引擎。
以下维护操作适用于 Aurora 数据库实例:
-
ca-certificate-rotation
– 更新数据库实例的 Amazon RDS 证书机构证书。 -
hardware-maintenance
– 对数据库实例的底层硬件进行维护。 -
system-update
– 更新数据库实例的操作系统。
选择 Aurora MySQL 维护更新的频率
您可以控制每个数据库集群是经常还是很少进行 Aurora MySQL 升级。最佳选择取决于 Aurora MySQL 使用情况以及在 Aurora 上运行的应用程序的优先级。有关不太需要频繁升级的 Aurora MySQL 长期稳定性 (LTS) 版本的信息,请参阅 Aurora MySQL 长期支持 (LTS) 版本。
如果符合以下部分或全部条件,您可能会选择很少升级 Aurora MySQL 集群:
-
对于 Aurora MySQL 数据库引擎的每次更新,应用程序的测试周期需要很长的时间。
-
很多数据库集群或很多应用程序运行相同的 Aurora MySQL 版本。您希望同时升级所有数据库集群和关联的应用程序。
-
您同时使用 Aurora MySQL 和 RDS for MySQL。您希望将 Aurora MySQL 集群和 RDS for MySQL 数据库实例与同一级别的 MySQL 保持兼容。
-
Aurora MySQL 应用程序位于生产环境中或在其他方面对业务至关重要。除了在极少数情况下应用关键补丁以外,您无法承受升级停机。
-
Aurora MySQL 应用程序不受在后续 Aurora MySQL 版本中解决的性能问题或功能差异的限制。
如果上述因素适用于您的情况,您可以限制 Aurora MySQL 数据库集群的强制升级次数。为此,您可以在创建或升级该数据库集群时选择称为“长期支持”(LTS) 版本的特定 Aurora MySQL 版本。这样做可以最大限度减少该数据库集群的升级周期数、测试周期数以及与升级相关的中断次数。
如果符合以下部分或全部条件,您可能会选择经常升级 Aurora MySQL 集群:
-
应用程序的测试周期简单明了。
-
应用程序仍处于开发阶段。
-
数据库环境使用各种不同的 Aurora MySQL 版本或 Aurora MySQL 和 RDS for MySQL 版本。每个 Aurora MySQL 集群具有自己的升级周期。
-
在增加 Aurora MySQL 使用量之前,您正在等待改进特定的性能或功能。
如果上述因素适用于您的情况,您可以使 Aurora 更频繁地应用重要升级。为此,将 Aurora MySQL 数据库集群升级到比 LTS 版本更高的 Aurora MySQL 版本。这样做可以使您更快地获得最新的性能增强、错误修复和功能。