同じ Aurora グローバルクラスター内のプライマリおよびセカンダリ Amazon Aurora PostgreSQL 互換クラスターでの、マイナーバージョンの不一致をトラブルシューティングしたいです。プライマリクラスターとセカンダリクラスターは別々の AWS リージョンにあります。
簡単な説明
プライマリ DB クラスターとセカンダリ DB クラスターが同じ Aurora PostgreSQL 互換バージョンで実行されていても、バージョンの不一致が発生する可能性があります。プライマリクラスターとセカンダリクラスターは同じバージョンの異なるパッチで実行されている場合、マネージドクロスリージョンの切り替えやフェイルオーバーは実行できません。
次のようなエラーが表示されます。
ターゲットクラスターの db-cluster-id は、現在のプライマリクラスターと同じエンジンバージョンである必要があります。
注: Aurora PostgreSQL 互換エンジンの一部のバージョンでは、プライマリクラスターとセカンダリクラスターが異なるパッチレベルで実行している場合も、クロスリージョンでの切り替えとフェイルオーバーを実行できます。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
プライマリおよびセカンダリ Aurora クラスターが実行しているバージョンを確認するには、aurora_version 関数で次のクエリを実行します。
SELECT aurora_version();
AWS CLI コマンド describe-pending-maintenance-actions を実行し、クラスターでの保留中のメンテナンス更新がないかを確認します。
aws rds describe-pending-maintenance-actions --resource-identifier cluster-ARN
注: cluster-ARN は、お使いのクラスターの ARN に置き換えます。
保留中のメンテナンス更新がある場合は、その更新をアップグレードする DB クラスターに適用します。
注: Aurora のバージョンアップグレードプロセスにより、ダウンタイムが発生します。アップグレードは、計画されたメンテナンス期間中に実行することがベストプラクティスです。
プライマリ Aurora クラスターとセカンダリ Aurora クラスターが同じバージョンで実行されていることを確認するには、次のクエリを実行します。
SELECT aurora_version();
エンジンとパッチのバージョンが両方のクラスターで一致する場合、グローバルデータベースでマネージドクロスリージョンのスイッチオーバーまたはフェイルオーバーを実行できます。