

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

# 從 Amazon RDS 的多可用區域資料庫叢集設定外部複寫
<a name="multi-az-db-clusters-external-replication"></a>

您可以設定多可用區域資料庫叢集與 Amazon RDS 外部資料庫之間的複寫。

外部複寫可讓多可用區域資料庫叢集在內部部署或其他雲端環境中的 RDS 資料庫執行個體與外部資料庫之間複寫資料。它有利於災難復原、資料遷移，並維護不同位置系統之間的一致性。本節涵蓋設定複寫的先決條件、如何設定程序，以及複寫延遲、頻寬和與不同資料庫引擎相容性等重要考量。

## RDS for MySQL
<a name="multi-az-db-clusters-external-mysql"></a>

若要設定 RDS for MySQL 多可用區域資料庫叢集的外部複寫，您必須在叢集內的資料庫執行個體上保留二進位日誌檔案足夠長的時間，以確保在 Amazon RDS 刪除 binlog 檔案之前，將變更套用至複本。若要這麼做，請呼叫 `mysql.rds_set_configuration` 預存程序並指定 `binlog retention hours` 參數來設定二進位日誌保留。如需詳細資訊，請參閱[binlog 保留 (小時)](mysql-stored-proc-configuring.md#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)。

`binlog retention hours` 的預設值為 `NULL`，這表示不會保留二進位日誌 (0 小時)。如果您想要設定多可用區域資料庫叢集的外部複寫，您必須將參數設定為 `NULL` 以外的值。

您只能從多可用區域資料庫叢集的寫入器資料庫執行個體設定二進位日誌保留，且該設定會以異步方式傳播至所有讀取器資料庫執行個體。

此外，我們強烈建議在您的外部複本上啟用 GTID 型複寫。然後，如果其中一個資料庫執行個體失敗，則您可以從叢集內另一個運作狀態良好的資料庫執行個體繼續複寫。如需詳細資訊，請參閱 MySQL 文件中的[使用全域交易識別符的複寫](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html)。

## RDS for PostgreSQL
<a name="multi-az-db-clusters-external-postgres"></a>

若要為 RDS for PostgreSQL 多可用區域資料庫叢集設定外部複寫，您必須啟用邏輯複寫。如需說明，請參閱[為 Amazon RDS 的多可用區域資料庫叢集設定 PostgreSQL 邏輯複寫](USER_MultiAZDBCluster_LogicalRepl.md)。