Amazon RDS のマルチ AZ DB クラスターのエンジンバージョンのアップグレード
Amazon RDS では、マルチ AZ DB クラスターを最新の状態に維持するため、サポートされている各エンジンの新しいバージョンを提供します。このトピックでは、マルチ AZ DB クラスターを新しいバージョンにアップグレードするプロセスについて説明します。
マルチ AZ DB クラスターのアップグレードには、互換性のある新しいエンジンバージョンを選択し、潜在的なダウンタイムを計画する必要があります。このプロセスでは、マルチ AZ アーキテクチャのフェイルオーバー機能を活用することで、中断を最小限に抑えます。アップグレード中、プライマリインスタンスが最初に更新され、次にスタンバイインスタンスへのフェイルオーバーが行われて可用性が維持されます。ベストプラクティスには、トラフィックの少ない期間のアップグレードの実行、非本番環境でのテスト、新しいバージョンとのアプリケーションの互換性の検証などがあります。
次の 2 種類のアップグレードを実行できます。
- メジャーバージョンのアップグレード
-
メジャーエンジンバージョンのアップグレードは、既存のアプリケーションと互換性のない変更を導入する場合があります。メジャーバージョンのアップグレードを開始すると、Amazon RDS によってリーダーとライターのインスタンスが同時にアップグレードされます。したがって、アップグレードが完了するまで DB クラスターを使用できない場合があります。
- マイナーバージョンのアップグレード
-
マイナーバージョンアップグレードには、既存のアプリケーションとの下位互換性がある変更のみが含まれます。マイナーバージョンアップグレードを開始すると、Amazon RDS は最初にリーダー DB インスタンスを一度に 1 つずつアップグレードします。その後、リーダー DB インスタンスの 1 つが新しいライター DB インスタンスに切り替わります。次に、Amazon RDS は、古いライターインスタンスをアップグレードします (リーダーインスタンスになります) 。
アップグレード中のダウンタイムは、リーダー DB インスタンスの 1 つが新しいライター DB インスタンスになるのにかかる時間に制限されます。このダウンタイムは、自動フェイルオーバーのように切り替わります。詳細については、「Amazon RDS 用のマルチ AZ DB クラスターのフェイルオーバー」を参照してください。マルチ AZ DB クラスターのレプリカの遅延は、ダウンタイムに影響する可能性があることに注意してください。詳細については、「レプリカの遅延とマルチ AZ DB クラスター」を参照してください。
RDS for PostgreSQL マルチ AZ DB クラスターのリードレプリカの場合、Amazon RDS はクラスターのメンバーであるインスタンスを一度に 1 つずつアップグレードします。リーダークラスターロールとライタークラスターのロールは、アップグレード中に切り替えられません。したがって、Amazon RDS がクラスターライターインスタンスをアップグレードしている間に、DB クラスターでダウンタイムが発生する可能性があります。
注記
マルチ AZ DB クラスターのマイナーバージョンアップグレードのダウンタイムは、通常 35 秒です。RDS Proxy と併用すると、ダウンタイムをさらに 1 秒以下に短縮できます。詳細については、「Amazon RDS Proxy の使用」を参照してください。または、ProxySQL
、PgBouncer 、または MySQL 用 AWS JDBC ドライバー などのオープンソースデータベースプロキシを使用することもできます。
現在、 Amazon RDS は、メジャーバージョンアップグレードについては、RDS for PostgreSQL マルチ AZ DB クラスターのみをサポートしています。マイナーバージョンアップグレード については、マルチ AZ DB クラスターをサポートするすべての DB エンジンをサポートしています。
Amazon RDS は、マルチ AZ DB クラスターのリードレプリカを自動的にアップグレードしません。マイナーバージョンアップグレードの場合、最初にすべてのリードレプリカを手動でアップグレードしてからクラスターをアップグレードする必要があります。そうしないと、アップグレードがブロックされます。クラスターのメジャーバージョンを実行すると、すべてのリードレプリカのレプリケーション状態が終了に変わります。アップグレードの完了後、リードレプリカを削除し、再作成する必要があります。詳細については、「リードレプリケーションのモニタリング」を参照してください。
マルチ AZ DB クラスターのエンジンバージョンをアップグレードするプロセスは、DB インスタンスのエンジンバージョンをアップグレードするプロセスと同じです。手順については、DB インスタンスのエンジンバージョンのアップグレード を参照してください。唯一の違いは、AWS Command Line Interface (AWS CLI) を使用する場合、modify-db-cluster コマンドを実行して、--db-cluster-identifier
パラメータ (および --allow-major-version-upgrade
パラメータ) を指定するという点です。
メジャーバージョンおよびマイナーバージョンのアップグレードの詳細については、以下の DB エンジンに関するドキュメントを参照してください。