本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用僅供讀取複本遷移至多可用區域資料庫叢集
若要將單一可用區域部署或多可用區域資料庫執行個體部署遷移至多可用區域資料庫叢集部署,並減少停機時間,您可以建立多可用區域資料庫執行個體的僅供讀取複本。對於來源,您可以在單一可用區域部署中指定資料庫執行個體,或在多可用區域資料庫執行個體部署中指定主要資料庫執行個體。資料庫執行個體可以在遷移至多可用區域資料庫叢集期間處理寫入交易。
建立多可用區域資料庫叢集僅供讀取複本之前,請考量以下項目:
-
來源資料庫執行個體必須位於支援多可用區域資料庫叢集的版本。如需詳細資訊,請參閱Amazon RDS 中多可用區域資料庫叢集支援的區域和資料庫引擎。
-
多可用區域資料庫叢集僅供讀取複本必須與其來源位於相同的主要版本,並位於相同或更新的次要版本。
-
您必須將備份保留期設定為 0 以外的值,才能開啟來源資料庫執行個體上的自動備份。
-
來源資料庫執行個體的配置儲存體必須為 100 GiB 或更高。
-
對於RDS我的 SQL,必須將來源資料庫執行個體
ON
的gtid-mode
和enforce_gtid_consistency
參數都設為 。您必須使用自訂參數群組,而不是預設參數群組。如需詳細資訊,請參閱RDSAmazon資料庫執行個體的資料庫參數群。 -
長時間執行的作用中交易會使建立僅供讀取複本的流程變慢。建議您等到長時間執行交易完成後,再建立僅供讀取複本。
-
如果您刪除多可用區域資料庫叢集的來源資料庫執行個體,僅供讀取複本會提升為獨立的多可用區域資料庫叢集。
建立和提升多可用區域資料庫叢集僅供讀取複本
您可以使用 AWS Management Console AWS CLI、 或 建立和提升多可用區域資料庫叢集僅供讀取複本RDSAPI。
注意
我們強烈建議您根據來源資料庫執行個體VPC的 Amazon,在相同的虛擬私有雲端 (VPC) 中建立所有僅供讀取複本。
如果您在VPC不同於來源資料庫執行個體的 中建立僅供讀取複本,無類別網域間路由 (CIDR) 範圍可能會在複本與 Amazon RDS系統之間重疊。CIDR 重疊會使複本不穩定,這可能會對與其連線的應用程式產生負面影響。如果您在建立僅供讀取複本時收到錯誤,請選擇不同的目的地資料庫子網路群組。如需詳細資訊,請參閱在 VPC 中使用資料庫執行個體。
若要使用僅供讀取複本,將單一可用區域部署或多可用區域資料庫執行個體部署遷移至多可用區域資料庫叢集,請使用 AWS Management Console完成下列步驟。
-
登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
建立多可用區域資料庫叢集僅供讀取複本。
-
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇要作為僅供讀取複本來源的資料庫執行個體。
-
在 Actions (動作) 中選擇 Create read replica (建立僅供讀取複本)。
-
針對 Availability and durability (可用性與持久性),選擇 Multi-AZ DB cluster (多可用區域資料庫叢集)。
-
在 DB instance identifier (資料庫執行個體識別符) 中,輸入僅供讀取複本的名稱。
-
在其餘區段,指定資料庫叢集設定。如需設定的相關資訊,請參閱 建立多可用區域資料庫叢集的設定。
-
選擇 Create read replica (建立僅供讀取複本)。
-
-
備妥時,將僅供讀取複本提升為獨立的多可用區域資料庫叢集:
-
停止任何交易寫入至僅供來源資料庫執行個體,然後等待針對僅供讀取複本所做的所有更新。
資料庫更新在主要資料庫執行個體上發生之後,會在僅供讀取複本上發生。此複寫延遲可能會有很大不同。使用
ReplicaLag
指標以確定針對僅供讀取複本進行的所有更新時間。如需複本延遲的詳細資訊,請參閱 監控僅供讀取複本。 -
登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
在 Amazon RDS主控台中,選擇資料庫 。
Databases (資料庫) 窗格隨即出現。每個僅供讀取複本會在 Role (角色) 欄中顯示 Replica (複本)。
-
選擇您要提升的多可用區域資料庫叢集僅供讀取複本。
-
針對 Actions (動作),選擇 Promote (提升)。
-
在 Promote read replica (提升僅供讀取複本) 頁面上,輸入新提升之多可用區域資料庫叢集的備份保留期和備份時段。
-
依您所需完成設定後,選擇 Promote read replica (提升僅供讀取複本)。
-
等待提升的多可用區域資料庫叢集狀態成為
Available
。 -
引導您的應用程式使用提升的多可用區域資料庫叢集。
選擇性地刪除單一可用區域部署或多可用區域資料庫執行個體部署 (如果不再需要)。如需說明,請參閱 刪除資料庫執行個體。
-
若要使用僅供讀取複本,將單一可用區域部署或多可用區域資料庫執行個體部署遷移至多可用區域資料庫叢集,請使用 AWS CLI完成下列步驟。
-
建立多可用區域資料庫叢集僅供讀取複本。
若要從來源資料庫執行個體建立僅供讀取複本,請使用 AWS CLI 命令
create-db-cluster
。針對--replication-source-identifier
,指定來源資料庫執行個體的 Amazon Resource Name (ARN)。用於 Linux, macOS、 或 Unix:
aws rds create-db-cluster \ --db-cluster-identifier
mymultiazdbcluster
\ --replication-source-identifierarn:aws:rds:us-east-2:123456789012:db:mydbinstance
--engine postgres \ --db-cluster-instance-class db.m5d.large \ --storage-type io1 \ --iops 1000 \ --db-subnet-group-namedefaultvpc
\ --backup-retention-period 1用於 Windows:
aws rds create-db-cluster ^ --db-cluster-identifier
mymultiazdbcluster
^ --replication-source-identifierarn:aws:rds:us-east-2:123456789012:db:mydbinstance
--engine postgres ^ --db-cluster-instance-class db.m5d.large ^ --storage-type io1 ^ --iops 1000 ^ --db-subnet-group-namedefaultvpc
^ --backup-retention-period 1 -
停止任何交易寫入至僅供來源資料庫執行個體,然後等待針對僅供讀取複本所做的所有更新。
資料庫更新在主要資料庫執行個體上發生之後,會在僅供讀取複本上發生。此複寫延遲可能會有很大不同。使用
Replica Lag
指標以確定針對僅供讀取複本進行的所有更新時間。如需複本延遲的詳細資訊,請參閱 監控僅供讀取複本。 -
備妥時,將僅供讀取複本提升為獨立的多可用區域資料庫叢集。
若要提升多可用區域資料庫叢集僅供讀取複本,請使用 AWS CLI 命令
promote-read-replica-db-cluster
。若為--db-cluster-identifier
,請指定多可用區域資料庫叢集僅供讀取複本的識別符。aws rds promote-read-replica-db-cluster --db-cluster-identifier
mymultiazdbcluster
-
等待提升的多可用區域資料庫叢集狀態成為
Available
。 -
引導您的應用程式使用提升的多可用區域資料庫叢集。
選擇性地刪除單一可用區域部署或多可用區域資料庫執行個體部署 (如果不再需要)。如需說明,請參閱 刪除資料庫執行個體。
若要使用僅供讀取複本將單一可用區部署或多可用區資料庫執行個體部署遷移至多可用區資料庫叢集,請使用 RDS 完成下列步驟API。
-
建立多可用區域資料庫叢集僅供讀取複本。
若要建立多可用區域資料庫叢集僅供讀取複本,請使用
CreateDBCluster
操作搭配必要參數DBClusterIdentifier
。針對ReplicationSourceIdentifier
,指定來源資料庫執行個體的 Amazon Resource Name (ARN)。 -
停止任何交易寫入至僅供來源資料庫執行個體,然後等待針對僅供讀取複本所做的所有更新。
資料庫更新在主要資料庫執行個體上發生之後,會在僅供讀取複本上發生。此複寫延遲可能會有很大不同。使用
Replica Lag
指標以確定針對僅供讀取複本進行的所有更新時間。如需複本延遲的詳細資訊,請參閱 監控僅供讀取複本。 -
備妥時,將僅供讀取複本提升為獨立的多可用區域資料庫叢集。
若要提升多可用區域資料庫叢集僅供讀取複本,請使用
PromoteReadReplicaDBCluster
操作搭配必要參數DBClusterIdentifier
。指定多可用區域資料庫叢集僅供讀取複本的識別符。 -
等待提升的多可用區域資料庫叢集狀態成為
Available
。 -
引導您的應用程式使用提升的多可用區域資料庫叢集。
選擇性地刪除單一可用區域部署或多可用區域資料庫執行個體部署 (如果不再需要)。如需說明,請參閱 刪除資料庫執行個體。
建立多可用區域資料庫叢集僅供讀取複本的限制
下列限制適用於從單一可用區域部署或多可用區域資料庫執行個體部署建立多可用區域叢集僅供讀取複本。
-
您無法在與 AWS 帳戶 擁有來源資料庫執行個體 AWS 帳戶 的 不同的 中建立多可用區域資料庫叢集僅供讀取複本。
-
您無法在 AWS 區域 不同於來源資料庫執行個體的 中建立多可用區域資料庫叢集僅供讀取複本。
-
您無法將多可用區域資料庫叢集僅供讀取複本復原至某個時間點。
-
儲存體加密必須在來源資料庫執行個體和多可用區域資料庫叢集上具有相同的設定。
-
如果來源資料庫執行個體已加密,則多可用區域資料庫叢集僅供讀取複本必須使用相同的KMS金鑰加密。
-
如果來源資料庫執行個體使用一般用途 SSD(gp3) 儲存體,且配置的儲存體小於 400 GiB,則您無法修改IOPS為多可用區域資料庫叢集僅供讀取複本佈建的 。
-
若要在來源資料庫執行個體上執行次要版本升級,您必須先在多可用區域資料庫叢集僅供讀取複本上執行次要版本升級。
-
當您在 RDS for PostgreSQL 多可用區域資料庫叢集僅供讀取複本上執行次要版本升級時,讀取器資料庫執行個體不會在升級後切換至寫入器資料庫執行個體。因此,您的資料庫叢集可能會在 Amazon RDS 升級寫入器執行個體時遇到停機時間。
-
您無法在多可用區域資料庫叢集僅供讀取複本上執行主要版本升級。
-
您可以在多可用區域資料庫叢集僅供讀取複本的來源資料庫執行個體上執行主要版本升級,但複寫至僅供讀取複本會停止且無法重新啟動。
-
多可用區域資料庫叢集僅供讀取複本不支援階層式僅供讀取複本。
-
對於 RDS Postgre SQL,多可用區域資料庫叢集僅供讀取複本無法容錯移轉。