

# Amazon RDS のマルチ AZ DB クラスターのエンジンバージョンのアップグレード
<a name="multi-az-db-clusters-upgrading"></a>

Amazon RDS では、マルチ AZ DB クラスターを最新の状態に維持するため、サポートされている各エンジンの新しいバージョンを提供します。このトピックでは、マルチ AZ DB クラスターを新しいバージョンにアップグレードするプロセスについて説明します。

マルチ AZ DB クラスターのアップグレードには、互換性のある新しいエンジンバージョンを選択し、潜在的なダウンタイムを計画する必要があります。このプロセスでは、マルチ AZ アーキテクチャのフェイルオーバー機能を活用することで、中断を最小限に抑えます。ベストプラクティスには、トラフィックの少ない期間のアップグレードの実行、非本番環境でのテスト、新しいバージョンとのアプリケーションの互換性の検証などがあります。

**Topics**
+ [マイナーバージョンのアップグレード](#multi-az-db-clusters-upgrade-minor)
+ [メジャーバージョンのアップグレード](#multi-az-db-clusters-upgrade-major)
+ [マルチ AZ DB クラスターのアップグレード](#multi-az-db-clusters-upgrade-process)
+ [マルチ AZ DB クラスターリードレプリカのアップグレード](#multi-az-db-clusters-upgrade-replicas)
+ [イベントによるマルチ AZ DB クラスターのアップグレードのモニタリング](#multi-az-db-clusters-upgrade-monitoring)

## マイナーバージョンのアップグレード
<a name="multi-az-db-clusters-upgrade-minor"></a>

マイナーバージョンアップグレードには、既存のアプリケーションとの下位互換性がある変更のみが含まれます。マイナーバージョンアップグレードを開始すると、Amazon RDS は最初にリーダー DB インスタンスを一度に 1 つずつアップグレードします。その後、リーダー DB インスタンスの 1 つが新しいライター DB インスタンスに切り替わります。次に、Amazon RDS は、古いライターインスタンスをアップグレードします (リーダーインスタンスになります) 。

アップグレード中のダウンタイムは、リーダー DB インスタンスの 1 つが新しいライター DB インスタンスになるのにかかる時間に制限されます。このダウンタイムは、自動フェイルオーバーのように切り替わります。詳細については、「[Amazon RDS 用のマルチ AZ DB クラスターのフェイルオーバー](multi-az-db-clusters-concepts-failover.md)」を参照してください。マルチ AZ DB クラスターのレプリカの遅延は、ダウンタイムに影響する可能性があることに注意してください。詳細については、「[レプリカの遅延とマルチ AZ DB クラスター](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-replica-lag)」を参照してください。

RDS for PostgreSQL マルチ AZ DB クラスターのリードレプリカの場合、Amazon RDS はクラスターのメンバーであるインスタンスを一度に 1 つずつアップグレードします。リーダークラスターロールとライタークラスターのロールは、アップグレード中に切り替えられません。したがって、Amazon RDS がクラスターライターインスタンスをアップグレードしている間に、DB クラスターでダウンタイムが発生する可能性があります。

**注記**  
マルチ AZ DB クラスターのマイナーバージョンアップグレードのダウンタイムは、通常 35 秒です。RDS Proxy と併用すると、ダウンタイムをさらに 1 秒以下に短縮できます。詳細については、「[Amazon RDS Proxy ](rds-proxy.md)」を参照してください。または、[ProxySQL](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-of-downtime-with-proxysql-when-upgrading-amazon-rds-multi-az-deployments-with-two-readable-standbys/)、[PgBouncer](https://aws.amazon.com/blogs/database/fast-switchovers-with-pgbouncer-on-amazon-rds-multi-az-deployments-with-two-readable-standbys-for-postgresql/)、[AWS Advanced JDBC Wrapper Driver](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-downtime-with-the-advanced-jdbc-wrapper-driver-when-upgrading-amazon-rds-multi-az-db-clusters/) などのオープンソースデータベースプロキシを使用することもできます。

## メジャーバージョンのアップグレード
<a name="multi-az-db-clusters-upgrade-major"></a>

メジャーバージョンのアップグレードによって、既存のアプリケーションと互換性のない変更が導入されることがあります。

RDS for PostgreSQL マルチ AZ DB クラスターのメジャーバージョンのアップグレードを開始すると、Amazon RDS によってリーダーとライターのインスタンスが同時にアップグレードされます。したがって、アップグレードが完了するまで DB クラスターを使用できない場合があります。

RDS for MySQL マルチ AZ DB クラスターのメジャーバージョンアップグレードを開始すると、Amazon RDS はクラスターメンバーインスタンスを一度に 1 つずつアップグレードするため、レプリケーションはエンジンの下位バージョンから上位バージョンの順に行われます。エンジンのバージョンは構文と機能が異なる可能性があるため、メジャーバージョンのアップグレード中に、ワークロードがソースとターゲットのエンジンバージョンの間で互換性があるかを確認することが重要です。

**注記**  
マイナーバージョンアップグレードと同様に、RDS for MySQL メジャーバージョンアップグレードのダウンタイムは通常 35 秒です。RDS Proxy と併用すると、ダウンタイムをさらに 1 秒以下に短縮できます。詳細については、「[Amazon RDS Proxy ](rds-proxy.md)」を参照してください。

## マルチ AZ DB クラスターのアップグレード
<a name="multi-az-db-clusters-upgrade-process"></a>

マルチ AZ DB クラスターのエンジンバージョンをアップグレードするプロセスは、DB インスタンスのエンジンバージョンをアップグレードするプロセスと同じです。手順については、「[DB インスタンスのエンジンバージョンのアップグレード](USER_UpgradeDBInstance.Upgrading.md)」を参照してください。唯一の違いは、AWS Command Line Interface (AWS CLI) を使用する場合、[modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを実行して、`--db-cluster-identifier` パラメータ (および `--allow-major-version-upgrade` パラメータ) を指定するという点です。

メジャーバージョンおよびマイナーバージョンのアップグレードの詳細については、以下の DB エンジンに関するドキュメントを参照してください。
+ [RDS for PostgreSQL DB エンジンのアップグレード](USER_UpgradeDBInstance.PostgreSQL.md)
+ [RDS for MySQL DB エンジンのアップグレード](USER_UpgradeDBInstance.MySQL.md)

## マルチ AZ DB クラスターリードレプリカのアップグレード
<a name="multi-az-db-clusters-upgrade-replicas"></a>

Amazon RDS は、マルチ AZ DB クラスターのリードレプリカを自動的にアップグレードしません。*マイナー*バージョンアップグレードの場合、最初にすべてのリードレプリカを手動でアップグレードしてからクラスターをアップグレードする必要があります。そうしないと、アップグレードがブロックされます。クラスターの*メジャー*バージョンを実行すると、すべてのリードレプリカのレプリケーション状態が**終了**に変わります。アップグレードの完了後、リードレプリカを削除し、再作成する必要があります。詳細については、「[リードレプリケーションのモニタリング](USER_ReadRepl.Monitoring.md)」を参照してください。

## イベントによるマルチ AZ DB クラスターのアップグレードのモニタリング
<a name="multi-az-db-clusters-upgrade-monitoring"></a>

マルチ AZ DB クラスターのエンジンバージョンをアップグレードすると、Amazon RDS はプロセスの各フェーズで特定のイベントを発行します。アップグレードの進行状況を追跡するには、これらのイベントを表示またはサブスクライブします。

 RDS イベントの詳細については、「[Amazon RDS イベントのモニタリング](working-with-events.md)」を参照してください。

エンジンのアップグレード中に発生する特定の Amazon RDS イベントの詳細については、「[ Amazon RDS イベントカテゴリとイベントメッセージ](USER_Events.Messages.md)」を参照してください。