我想对我的 Amazon Aurora Global Cluster 执行主要版本升级。或者由于版本不匹配,我无法在 Aurora Global Cluster 中进行失效转移。
简短描述
通过执行 Amazon Aurora Global Database 的主要版本升级,您可以升级全局数据库集群,而非其包含的集群。升级过程会同时升级构成 Aurora 全局数据库的所有数据库集群。在生产 Aurora 全局数据库中执行升级之前,请务必在升级版本上测试应用程序,这一点很重要。升级过程需要停机,建议您在计划的维护时段内执行升级。
解决方法
使用 Amazon RDS 控制台关闭 rds.global_db_rpo
如果您的全局数据库集群设置了恢复点目标(RPO),请在升级到新的主要版本之前重置 rds.global_db_rpo 参数。如果启用 RPO,则主要版本升级将失败,并且您会收到与以下类似的错误:
“Error: We're sorry, your request to modify global database GlobalCluster-GCTest has failed.Primary cluster cannot have RPO setting enabled during major version upgrade.”(错误提示:很抱歉,您修改全局数据库 GlobalCluster-GCTest 的请求失败。在主要版本升级期间,主集群无法启用 RPO 设置。)
使用以下步骤通过 Amazon Relational Database Service (Amazon RDS) 控制台关闭 rds.global_db_rpo。
注意:默认情况下,此参数处于关闭状态。因此,如果您尚未开启 RPO,请跳过这些步骤。
- 登录 Amazon RDS 控制台。
- 在导航窗格中,选择 Parameter groups(参数组)。
- 选择您的主数据库集群参数组。
- 选择 Edit parameters(编辑参数)。
- 选择 rds.global_db_rpo 参数旁边的复选框。
- 选择重置(Reset)。
- 在重置数据库参数组中的参数(Reset parameters in DB parameter group)下,选择重置参数(Reset parameters)。
有关如何使用控制台重置参数的更多信息,请参阅修改数据库集群参数组中的参数。
使用 AWS CLI 关闭 rds.global_db_rpo
您也可以使用 AWS 命令行界面(AWS CLI)运行 reset-db-cluster-parameter-group command来关闭 RPO。
对于 Linux、macOS 或 Unix:
aws rds reset-db-cluster-parameter-group \
--db-cluster-parameter-group-name global_db_cluster_parameter_group \
--parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"
对于 Windows:
aws rds reset-db-cluster-parameter-group ^
--db-cluster-parameter-group-name global_db_cluster_parameter_group ^
--parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"
使用控制台执行主要版本升级
在执行以下步骤之前,请确保遵循在将生产数据库集群升级到新的主要版本之前中的建议。
- 登录 Amazon RDS 控制台。
- 在导航窗格中,选择数据库,然后选择要升级的全局 Aurora 集群。注意:确保在 “数据库” 下选择顶级项目。要确认这一点,请选择角色,然后确认您看到的是全局数据库。
- 选择 Modify(修改)。
- 在修改数据库集群页面上,对于引擎版本,选择最新版本。
- 选择 Continue(继续),然后查看修改摘要。
- 要立即应用更改,请选择 Apply immediately(立即应用)。选择此选项可能会导致中断。
- 选择 修改集群以保存您的更改。
使用 AWS CLI 执行主要版本升级
要开始升级 Aurora 全局数据库,请使用 AWS CLI 运行 modify-global-cluster 命令:
aws rds modify-global-cluster --global-cluster-identifier <cluster global identifier> --engine-version <engnie_version> --allow-major-version-upgrade
升级 Aurora 全局数据库的限制
以下限制适用于升级 Aurora 全局数据库:
- 在执行 Aurora 全局数据库的主要版本升级时,您无法将自定义参数组应用于全局数据库集群。在全局群集的每个区域中创建您的自定义参数组,然后在升级后将其手动应用于区域集群。
- 使用基于 PostgreSQL 的 Aurora 全局数据库,如果启用 RPO,则无法执行 Aurora 数据库引擎的主要版本升级。有关 RPO 功能的信息,请参阅管理基于 Aurora PostgreSQL 的全局数据库的 RPO。
相关信息
将 Aurora PostgreSQL 数据库引擎升级到新的主要版本
升级 Amazon Aurora Global Database
全球数据库的重大升级