本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
跨 複寫 Amazon Aurora MySQL 資料庫叢集 AWS 區域
您可以在與來源資料庫叢集 AWS 區域 不同的 中,將 Amazon Aurora MySQL 資料庫叢集建立為僅供讀取複本。採用此方法可以改善災難復原功能,讓您將讀取操作擴展為 AWS 區域 更接近使用者的 ,並更輕鬆地從一個遷移 AWS 區域 到另一個。
您可以建立加密和未加密的資料庫叢集的僅供讀取複本。如果來源資料庫叢集已加密,則必須加密僅供讀取複本。
對於每個來源資料庫叢集,您最多可有五個屬於僅供讀取複本的跨區域資料庫叢集。
注意
除了跨區域僅供讀取複本之外,您可以使用 Aurora 全域資料庫,以最小的延遲時間調整讀取操作。Aurora 全域資料庫有一個主要 Aurora 資料庫叢集, AWS 區域 在不同區域中最多 10 個次要唯讀資料庫叢集。每個次要資料庫叢集最多可包含 16 個 (而非 15) Aurora 複本。從主要資料庫叢集複寫到所有次要資料庫叢集,由 Aurora 儲存層而非資料庫引擎處理,因此複寫變更的延遲時間 (通常小於 1 秒)。將資料庫引擎保留在複寫程序之外,意味著資料庫引擎專用於處理工作負載。這也意味著您不需要設定或管理 Aurora MySQL 的 binlog (二進位日誌記錄) 複寫。如需詳細資訊,請參閱 使用 Amazon Aurora 全域資料庫。
當您在另一個 中建立 Aurora MySQL 資料庫叢集僅供讀取複本時 AWS 區域,您應該注意下列事項:
-
來源資料庫叢集和跨區域僅供讀取複本資料庫叢集,連同資料庫叢集的主要執行個體,最多可有 15 個 Aurora 複本。透過使用此功能,您可以同時擴展來源 AWS 區域 和複寫目標的讀取操作 AWS 區域。
-
在跨區域案例中,由於 AWS 區域之間較長的網路通道,使得來源資料庫叢集和僅供讀取複本之間有較多的延遲時間。
-
跨區域複寫傳輸的資料會衍生 Amazon RDS 數據傳輸費。對於傳出來源 AWS 區域的資料,下列跨區域複寫動作會產生費用:
-
當您建立僅供讀取複本時,Amazon RDS 會拍攝來源叢集的快照,並將快照傳輸至 AWS 區域 保存僅供讀取複本的 。
-
對於在來源資料庫中進行的每個資料修改,Amazon RDS 會將資料從來源區域傳輸到 AWS 區域 保留僅供讀取複本的 。
如需 Amazon RDS 資料傳輸定價的詳細資訊,請參閱 Amazon Aurora 定價
。 -
-
您可以針對參考相同來源資料庫叢集的僅供讀取複本執行多個並行建立或刪除動作。不過,您必須維持每個來源資料庫叢集五個以內僅供讀取複本的限制。
-
若希望複寫作業順利運作,每個僅供讀取複本具備的運算和儲存資源數量應與來源資料庫叢集相同。若您擴展來源資料庫叢集,您也應該擴展僅供讀取複本。
開始之前
在可以建立屬於跨區域僅供讀取複本的 Aurora MySQL 資料庫叢集之前,必須在來源 Aurora MySQL 資料庫叢集上開啟二進位日誌。Aurora MySQL 的跨區域複寫使用 MySQL 二進位複寫在跨區域僅供讀取複本資料庫叢集上重播變更。
若要在 Aurora MySQL 資料庫叢集上開啟二進位日誌,請更新來源資料庫叢集的 binlog_format
參數。binlog_format
參數為叢集層級參數,位於預設的叢集參數群組中。如果資料庫叢集使用預設的資料庫叢集參數群組,請建立新資料庫叢集參數群組來修改 binlog_format
設定。建議您將 binlog_format
設定為 MIXED
。不過,如果需要特定的 binlog 格式,也可以將 binlog_format
設定為 ROW
或 STATEMENT
。將 Aurora 資料庫叢集重新開機,讓變更生效。
如需搭配 Aurora MySQL 使用二進位記錄的詳細資訊,請參閱 在 Aurora 和我之間SQL或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位記錄複寫。如需修改 Aurora MySQL 組態參數的詳細資訊,請參閱 Amazon Aurora 資料庫叢集和資料庫執行個體參數 和 Amazon Aurora 的參數群組。