マイナーバージョンの不一致が原因で発生する、Amazon Aurora Global Database 内のセカンダリクラスターへのフェイルオーバーに関する問題をトラブルシューティングするにはどうすればよいですか?
最終更新日: 2022 年 11 月 25 日
同じ Aurora グローバルクラスター内にあるプライマリおよびセカンダリ Amazon Aurora PostgreSQL 互換クラスター間でのマイナーバージョンの不一致をトラブルシューティングしたいと考えています。
簡単な説明
プライマリクラスターとセカンダリクラスターの両方が同じ Aurora PostgreSQL 互換バージョンで実行されているにもかかわらず、バージョンの不一致が発生する場合があります。これは、プライマリクラスターとセカンダリクラスターが同じバージョンの異なる
パッチで実行されていることが原因で発生します。このため、Amazon Aurora Global Database 内のセカンダリクラスターにフェイルオーバーすることができず、以下のようなエラーが表示されます。
Target cluster <DB cluster ID> must be on the same engine version as the current primary cluster.
解決方法
以下のコマンドを実行して、プライマリおよびセカンダリ Aurora クラスターが実行しているバージョンを確認します。
>> select AURORA_VERSION();
両方のクラスターのバージョンを同一にするには、クラスターに保留中のメンテナンスアクションがないかどうかを確認します。
>> aws rds describe-pending-maintenance-actions --resource-identifier <ARN of the cluster>
保留中のメンテナンスアクションがある場合は、必要な更新をクラスターに適用してください。
- Amazon Relational Database Service (Amazon RDS) コンソールにログインします。
- ナビゲーションペインで [Databases] (データベース) を選択します。
- 更新する DB クラスターを選択します。
- 更新を適用するタイミングに応じて、[Actions] (アクション) で [Upgrade Now] (今すぐアップグレード) または [Upgrade at Next Window] (次のウィンドウでアップグレード) を選択します。
注意: Aurora のバージョンアップグレードプロセスによって、ダウンタイムが発生します。アップグレードは、予定されているメンテナンス期間中に実行するのがベストプラクティスです。パッチを適用したら、このコマンドをもう一度実行することで、プライマリおよびセカンダリ Aurora クラスターが同じバージョンを実行していることを確認できます。
>> select AURORA_VERSION();
Amazon Aurora クラスターの両方のバージョンが同一であることを確認したら、Aurora Global Database で手動フェイルオーバーを開始します。
関連情報
Using failover in an Amazon Aurora global database (Amazon Aurora Global Database でのフェイルオーバーの使用)