How can I perform a major version upgrade in my Aurora PostgreSQL-Compatible global database?

4 minute read
0

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.

  1. Log in to the Amazon RDS console.
  2. In the navigation pane, choose Parameter groups.
  3. Choose your primary DB cluster parameter group.
  4. Choose Edit parameters.
  5. Choose the box next to the rds.global_db_rpo parameter.
  6. Choose Reset.
  7. 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.

  1. Log in to the Amazon RDS console.
  2. 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.
  3. Choose Modify.
  4. On the Modify DB cluster page, for Engine version, choose the latest version.
  5. Choose Continue, and then review the summary of modifications.
  6. To apply the changes immediately, choose Apply immediately. Choosing this option might cause an outage.
  7. 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

AWS OFFICIAL
AWS OFFICIALUpdated a year ago