

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 升級 Amazon RDS 多可用區域資料庫叢集的引擎版本
<a name="multi-az-db-clusters-upgrading"></a>

Amazon RDS 會提供每個受支援資料庫引擎的較新版本，讓您的多可用區域資料庫叢集保持最新狀態。本主題說明將多可用區域資料庫叢集升級至較新版本的程序。

升級多可用區域資料庫叢集需要選取新的相容引擎版本，並規劃潛在的停機時間。此程序會使用多可用區域架構的容錯移轉功能，確保最小的中斷。最佳實務包括在低流量期間執行升級、在非生產環境中進行測試，以及驗證應用程式與新版本的相容性。

**Topics**
+ [次要版本升級](#multi-az-db-clusters-upgrade-minor)
+ [主要版本升級](#multi-az-db-clusters-upgrade-major)
+ [升級多可用區域資料庫叢集](#multi-az-db-clusters-upgrade-process)
+ [升級多可用區域資料庫叢集僅供讀取複本](#multi-az-db-clusters-upgrade-replicas)
+ [使用事件監控多可用區域資料庫叢集升級](#multi-az-db-clusters-upgrade-monitoring)

## 次要版本升級
<a name="multi-az-db-clusters-upgrade-minor"></a>

次要版本升級只包含與現有應用程式回溯相容的變更。當您啟動次要版本升級時，Amazon RDS 會先一次升級一個讀取器資料庫執行個體。然後，其中一個讀取器資料庫執行個體會切換為新的寫入器資料庫執行個體。Amazon RDS 接著會升級舊的寫入器執行個體 (現在是讀取器執行個體)。

升級期間的停機時間僅限於其中一個讀取器資料庫執行個體成為新寫入器資料庫執行個體所需的時間。此停機時間的作用就像自動容錯移轉一樣。如需詳細資訊，請參閱[容錯移轉 Amazon RDS 的多可用區域資料庫叢集](multi-az-db-clusters-concepts-failover.md)。請注意，多可用區域資料庫叢集的複本延遲可能會影響停機時間。如需詳細資訊，請參閱[複本延遲和多可用區域資料庫叢集](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-replica-lag)。

對於 RDS for PostgreSQL 多可用區域資料庫叢集僅供讀取複本，Amazon RDS 會一次升級一個叢集成員執行個體。讀取器和寫入器叢集角色不會在升級期間切換。因此，當 Amazon RDS 升級叢集寫入器執行個體時，您的資料庫叢集可能會遇到停機時間。

**注意**  
多可用區域資料庫叢集次要版本升級的停機時間通常為 35 秒。與 RDS Proxy 搭配使用時，您可以進一步將停機時間縮短至一秒或更短。如需詳細資訊，請參閱[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 進階 JDBC 包裝函式驅動程式](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 多可用區域資料庫叢集的主要版本升級時，Amazon RDS 會同時升級讀取器和寫入器執行個體。因此，在升級完成之前，您的資料庫叢集可能無法使用。

當您啟動 RDS for MySQL 多可用區域資料庫叢集的主要版本升級時，Amazon RDS 會一次升級一個叢集成員執行個體，因此會從較低的引擎版本複寫至較高的引擎版本。請務必確保您的工作負載在主要版本升級期間與來源和目標引擎版本相容，因為引擎版本在語法和功能上可能有所不同。

**注意**  
如同次要版本升級，RDS for MySQL 主要版本升級的停機時間通常為 35 秒。與 RDS Proxy 搭配使用時，您可以進一步將停機時間縮短至一秒或更短。如需詳細資訊，請參閱[Amazon RDS Proxy ](rds-proxy.md)。

## 升級多可用區域資料庫叢集
<a name="multi-az-db-clusters-upgrade-process"></a>

多可用區域資料庫叢集的引擎版本升級程序，與資料庫執行個體引擎版本的升級程序相同。如需說明，請參閱[升級資料庫執行個體 引擎版本](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` 參數）。

如需主要和次要版本升級的詳細資訊，根據您的資料庫引擎而定，請參閱以下文件：
+ [RDS for PostgreSQL 資料庫引擎的升級](USER_UpgradeDBInstance.PostgreSQL.md)
+ [RDS for MySQL 資料庫引擎的升級](USER_UpgradeDBInstance.MySQL.md)

## 升級多可用區域資料庫叢集僅供讀取複本
<a name="multi-az-db-clusters-upgrade-replicas"></a>

Amazon RDS 不會自動升級多可用區域資料庫叢集讀取複本。對於*次要*版本升級，您必須先手動升級所有讀取複本，再升級叢集。否則，升級會遭到封鎖。當您執行叢集的*主要*版本升級時，所有讀取複本的複寫狀態都會變更為**已終止**。升級完成後，您必須刪除並重新建立讀取複本。如需詳細資訊，請參閱[監控僅供讀取複本](USER_ReadRepl.Monitoring.md)。

## 使用事件監控多可用區域資料庫叢集升級
<a name="multi-az-db-clusters-upgrade-monitoring"></a>

當您升級多可用區域資料庫叢集的引擎版本時，Amazon RDS 會在程序的每個階段發出特定事件。若要追蹤升級進度，您可以檢視或訂閱這些事件。

 如需 RDS 事件的詳細資訊，請參閱 [監控 Amazon RDS 事件](working-with-events.md)。

如需引擎升級期間發生之特定 Amazon RDS 事件的詳細資訊，請參閱 [ Amazon RDS 事件類別和事件訊息](USER_Events.Messages.md)。