升级 Amazon RDS 的多可用区数据库集群的引擎版本 - Amazon Relational Database Service

升级 Amazon RDS 的多可用区数据库集群的引擎版本

Amazon RDS 提供每个支持的数据库引擎的更高版本,因此,您可以使多可用区数据库集群保持最新。本主题说明将多可用区数据库集群升级到更高版本的过程。

升级多可用区数据库集群需要选择新的兼容引擎版本并规划潜在的停机时间。该过程通过利用多可用区架构的失效转移功能,确保将中断降至最低。在升级期间,首先更新主实例,然后失效转移到备用实例以保持可用性。最佳实践包括在低流量期间执行升级、在非生产环境中进行测试以及验证应用程序与新版本的兼容性。

您可以执行两种升级:

主要版本升级

主要引擎版本升级 可能引入与现有应用程序不兼容的更改。当您启动主要版本升级时,Amazon RDS 会同时升级写入器和读取器实例。因此,在升级完成之前,数据库集群可能不可用。

次要版本升级

次要版本升级 仅包含与现有应用程序向后兼容的更改。当您启动次要版本升级时,Amazon RDS 首先一次升级一个读取器数据库实例。然后,其中一个读取器数据库实例将切换为新的写入器数据库实例。然后,Amazon RDS 升级旧的写入器实例(现在是读取器实例)。

升级期间的停机时间限于其中一个读取器数据库实例变为新写入器数据库实例所花费的时间。这一停机时间就像自动失效转移一样。有关更多信息,请参阅 对 Amazon RDS 的多可用区数据库集群执行失效转移。请注意,多可用区数据库集群的副本滞后可能会影响停机时间。有关更多信息,请参阅 副本滞后和多可用区数据库集群

对于 RDS for PostgreSQL 多可用区数据库集群只读副本,Amazon RDS 一次升级一个集群成员实例。升级期间,读取器和写入器集群角色不会切换。因此,在 Amazon RDS 升级集群写入器实例时,数据库集群可能会出现停机。

注意

多可用区数据库集群次要版本升级的停机时间通常为 35 秒。与 RDS 代理一起使用时,您可以将停机时间进一步缩短到一秒或更短。有关更多信息,请参阅 将 Amazon RDS 代理。或者,您可以使用开源数据库代理,例如 ProxySQLPgBouncerAWS JDBC Driver for MySQL

目前,Amazon RDS 仅对于 RDS for PostgreSQL 多可用区数据库集群支持主要版本升级。Amazon RDS 对于所有支持多可用区数据库集群的数据库引擎支持次要版本升级。

Amazon RDS 不会自动升级多可用区数据库集群只读副本。对于次要版本升级,必须先手动升级所有只读副本,然后升级集群。否则,升级将被阻止。当您执行集群的主要版本升级时,所有只读副本的复制状态将更改为终止。升级完成后,您必须删除并重新创建只读副本。有关更多信息,请参阅 监控只读复制

升级多可用区数据库集群的引擎版本的过程与升级数据库实例引擎版本的过程相同。有关说明,请参阅 升级数据库实例引擎版本。唯一的区别是,当使用 AWS Command Line Interface(AWS CLI)时,您使用 modify-db-cluster 命令并指定 --db-cluster-identifier 参数(以及 --allow-major-version-upgrade 参数)。

有关主要版本升级和次要版本升级的更多信息,请参阅数据库引擎的以下文档: