啟用本機寫入轉送 - Amazon Aurora

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

啟用本機寫入轉送

根據預設,Aurora MySQL 資料庫叢集不會啟用本機寫入轉送功能。您能夠在叢集層級啟用本機寫入轉送,而非執行個體層級。

重要

您也可以針對使用二進位記錄的跨區域僅供讀取複本啟用本機寫入轉送,但寫入操作不會轉送至來源 AWS 區域。寫入操作會轉送至 binlog 僅供讀取複本叢集的寫入器資料庫執行個體。

只有當您擁有寫入次要 binlog 僅供讀取複本的使用案例時,才使用此方法 AWS 區域。否則,您最終可能會面臨「大腦分裂」的情況,其複寫的資料集彼此不一致。

除非絕對必要,否則我們建議您在全球資料庫上使用全域寫入轉送,而不要在跨區域僅供讀取複本上使用本機寫入轉送。如需更多詳細資訊,請參閱 在 Amazon Aurora 全域資料庫中使用寫入轉送

使用 AWS 管理主控台,當您建立或修改資料庫叢集時,選取僅供讀取複本寫入轉送中的開啟本機寫入轉送核取方塊。

若要使用 AWS CLI 啟用寫入轉送,請使用 --enable-local-write-forwarding 選項。當您使用 create-db-cluster 命令建立新的資料庫叢集時,此選項會起作用。當您使用 modify-db-cluster 命令修改現有的資料庫叢集時,此選項也會起作用。您可以使用 --no-enable-local-write-forwarding 選項搭配這些相同的 CLI 命令來停用寫入轉送。

下列範例會建立啟用寫入轉送的 Aurora MySQL 資料庫叢集。

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.04.0 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

然後,您可以建立寫入器和讀取器資料庫執行個體,以便您可以使用寫入轉送。如需更多詳細資訊,請參閱 建立 Amazon Aurora 資料庫叢集

若要使用 Amazon RDS API 啟用寫入轉送,請將 EnableLocalWriteForwarding 參數設定為 true。當您使用 CreateDBCluster 操作建立新的資料庫叢集時,此參數會起作用。當您使用 ModifyDBCluster 操作修改現有的資料庫叢集時,此選項也會起作用。您可以將 EnableLocalWriteForwarding 參數設定為 false 來停用寫入轉送。

啟用資料庫工作階段的寫入轉送

aurora_replica_read_consistency 參數是啟用寫入轉送的資料庫參數和資料庫叢集參數。您可以指定 EVENTUAL SESSIONGLOBAL 以實現讀取一致性層級。若要進一步了解一致性層級,請參閱寫入轉送的讀取一致性

下列規則適用於此參數:

  • 預設值為 '' (null)。

  • 只有將 aurora_replica_read_consistency 設定為 EVENTUALSESSIONGLOBAL 時,才能使用寫入轉送。此參數僅在啟用寫入轉送之資料庫叢集的讀取器執行個體中啟用。

  • 您無法在多陳述式交易中設定此參數 (當為空時) 或取消其設定 (當已經設定時)。這類交易期間,您可以將其從一個有效值變更為另一個有效值,但我們不建議您執行此動作。