Amazon Aurora グローバルクラスターのメジャーバージョンアップグレードを実行したいと考えています。または、バージョンの不一致のために Aurora グローバルクラスターでフェイルオーバーを実行できません。
簡単な説明
Amazon Aurora Global Database のメジャーバージョンアップグレードを実行することにより、データベースに含まれるクラスターではなく、グローバルデータベースクラスターがアップグレードされます。アップグレードプロセスは、Aurora Global Database を構成するすべての DB クラスターを同時にアップグレードします。本番環境の Aurora Global Database でアップグレードを実行する前に、アップグレードされたバージョンでアプリケーションをテストしておくことが重要です。アップグレードプロセスにはダウンタイムが必要になるため、アップグレードは予定されているメンテナンス期間中に実行することが推奨されます。
解決方法
Amazon RDS コンソールを使用して rds.global_db_rpo を無効にする
グローバル DB クラスターに目標復旧時点 (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] (パラメータグループ) を選択します。
- プライマリ DB クラスターのパラメータグループを選択します。
- [Edit parameters] (パラメータの編集) を選択します。
- rds.global_db_rpo パラメータの横にあるボックスにチェックを入れます。
- [Reset] (リセット) を選択します。
- [Reset parameters in DB parameter group] (DB パラメータグループのパラメータをリセットします) で [Resert parameters] (パラメータのリセット) を選択します。
コンソールを使用してパラメータをリセットする方法の詳細については、「DB クラスターパラメータグループのパラメータの変更」を参照してください。
AWS CLI を使用して rds.global_db_rpo を無効にする
RPO は、AWS コマンドラインインターフェイス (AWS CLI) を使用して reset-db-cluster-parameter-group コマンドを実行することで無効化することもできます。
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"
コンソールを使用してメジャーバージョンアップグレードを実行する
これらの手順を実行する前に、「本番稼働用の DB クラスターを新しいメジャーバージョンにアップグレードする前に」の推奨事項に従うようにしてください。
- Amazon RDS コンソールにログインします。
- ナビゲーションペインで [Databases] (データベース) を選択してから、アップグレードするグローバル Aurora クラスターを選択します。注意: [Databases] (データベース) にある最上位の項目を選択するようにしてください。これを確認するには、[Role] (ロール) を選択して、[Global database] (グローバルデータベース) が表示されていることを確認します。
- [Modify] (変更) を選択します。
- [Modify DB cluster] (DB クラスターの変更) ページの [Engine version] (エンジンバージョン) で、最新バージョンを選択します。
- [Continue] (続行) を選択してから、変更の概要を確認します。
- 変更を今すぐ適用するには、[Apply immediately] (すぐに適用) を選択します。このオプションを選択することで、ダウンタイムが発生する場合があります。
- [Modify Cluster] (クラスターの変更) を選択して、変更を保存します。
AWS CLI を使用してメジャーバージョンアップグレードを実行する
Aurora Global Database のアップグレードを開始するには、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 Global Database のアップグレードに関する制限事項
Aurora Global Database のアップグレードには、以下の制限が適用されます。
- Aurora Global Database のメジャーバージョンアップグレードを実行しているときに、カスタムパラメータグループをグローバルデータベースクラスターに適用することはできません。グローバルクラスターの各リージョンでカスタムパラメータグループを作成してから、アップグレード後に手動でリージョンクラスターに適用してください。
- PostgreSQL ベースの Aurora Global Database では、RPO が有効になっている場合に Aurora DB エンジンのメジャーバージョンアップグレードを実行することができません。RPO 機能の詳細については、「Aurora PostgreSQL ベースのグローバルデータベースの RPO (目標復旧時点) 管理」を参照してください。
関連情報
Aurora PostgreSQL エンジンを新しいメジャーバージョンにアップグレードする
Amazon Aurora Global Database のアップグレード
グローバルデータベースのメジャーアップグレード