I want to perform a major version upgrade of my Amazon Aurora Global Cluster. Or I am unable to failover in Aurora Global Cluster because of version mismatch.
Short description
By performing a major version upgrade of an Amazon Aurora global database, you upgrade the global database cluster instead of the clusters that it contains. The upgrade process upgrades all DB clusters that make up your Aurora global database at the same time. It's important that you test your application on the upgraded version before performing the upgrade in your production Aurora global database. The upgrade process requires downtime, and it's recommended that you perform the upgrade during your planned maintenance window.
Resolution
Turn off rds.global_db_rpo using the Amazon RDS console
If your global DB cluster has a recovery point objective (RPO) set, then reset the rds.global_db_rpo parameter before you upgrade to a new major version. Major version upgrades fail if RPO is turned on, and you receive an error similar to this:
"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."
Use these steps to turn off the rds.global_db_rpo using the Amazon Relational Database Service (Amazon RDS) console.
Note: This parameter is turned off by default. So, if you haven't turned RPO on, then skip these steps.
- Log in to the Amazon RDS console.
- In the navigation pane, choose Parameter groups.
- Choose your primary DB cluster parameter group.
- Choose Edit parameters.
- Choose the box next to the rds.global_db_rpo parameter.
- Choose Reset.
- Under Reset parameters in DB parameter group, choose Reset parameters.
For more information on how to reset a parameter using the console, see Modifying parameters in a DB cluster parameter group.
Turn off rds.global_db_rpo using the AWS CLI
You can also use the AWS Command Line Interface (AWS CLI) to turn off the RPO by running the reset-db-cluster-parameter-group command.
For Linux, macOS, or 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"
For 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"
Perform a major version upgrade using the console
Before following these steps, make sure to follow the recommendations in Before upgrading your production DB cluster to a new major version.
- Log in to the Amazon RDS console.
- In the navigation pane, choose Databases, and then choose the global Aurora cluster that you want to upgrade.Note: Make sure to choose the top level item under Databases. To confirm this, choose Role, and confirm that you see Global database.
- Choose Modify.
- On the Modify DB cluster page, for Engine version, choose the latest version.
- Choose Continue, and then review the summary of modifications.
- To apply the changes immediately, choose Apply immediately. Choosing this option might cause an outage.
- Choose Modify Cluster to save your changes.
Perform a major version upgrade using the AWS CLI
To start the upgrade for your Aurora global database, run the modify-global-cluster command using the AWS CLI:
aws rds modify-global-cluster --global-cluster-identifier <cluster global identifier> --engine-version <engnie_version> --allow-major-version-upgrade
Limitations for upgrading Aurora global databases
The following limitations apply to upgrading Aurora global databases:
- You can't apply a custom parameter group to the global database cluster while you're performing a major version upgrade of that Aurora global database. Create your custom parameter groups in each Region of the global cluster, and then apply them manually to the regional clusters after the upgrade.
- With an Aurora global database based on PostgreSQL, you can't perform a major version upgrade of the Aurora DB engine if RPO is turned on. For information about the RPO feature, see Managing RPOs for Aurora PostgreSQL–based global databases.
Related information
Upgrading the Aurora PostgreSQL DB engine to a new major version
Upgrading an Amazon Aurora global database
Major upgrades for global databases