

# Amazon RDS のマルチ AZ DB クラスターからの外部レプリケーションの設定
<a name="multi-az-db-clusters-external-replication"></a>

マルチ AZ DB クラスターと Amazon RDS の外部にあるデータベースとの間のレプリケーションを設定できます。

外部レプリケーションにより、マルチ AZ DB クラスターは、オンプレミスまたは別のクラウド環境の RDS DB インスタンスと外部データベース間でデータをレプリケートできます。これは、ディザスタリカバリ、データ移行、および異なる場所のシステム間の整合性の維持に役立ちます。このセクションでは、レプリケーション設定の前提条件、プロセスの設定方法、レプリケーションのレイテンシー、帯域幅、さまざまなデータベースエンジンとの互換性などの重要な考慮事項について説明します。

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

RDS for MySQL マルチ AZ DB クラスターの外部レプリケーションを設定するには、Amazon RDS がバイナリログファイルを削除する前に、変更がレプリカに適用されるように、クラスター内の DB インスタンスにバイナリログファイルを十分長く保持する必要があります。そのためには、`mysql.rds_set_configuration` ストアドプロシージャを呼び出し、`binlog retention hours` パラメータを指定することによって、バイナリログの保持を設定します。詳細については、「[バイナリログの保持時間](mysql-stored-proc-configuring.md#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)」を参照してください。

`binlog retention hours` のデフォルト値は `NULL` です。つまり、バイナリログは保持されません (0 時間)。マルチ AZ DB クラスターの外部レプリケーションを設定する場合は、 パラメータを `NULL` 以外の値に設定する必要があります。

マルチ AZ DB クラスターのライター DB インスタンスからのみバイナリログ保持を設定でき、設定はすべてのリーダー DB インスタンスに非同期的に伝播されます。

さらに、外部レプリカで GTID ベースのレプリケーションを有効にすることを強くお勧めします。その後、いずれかの DB インスタンスに障害が発生した場合は、クラスター内の別の正常な DB インスタンスからのレプリケーションを再開できます。詳細については、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 マルチ AZ DB クラスターの外部レプリケーションをセットアップするには、論理レプリケーションを有効にする必要があります。手順については、「[Amazon RDS のマルチ AZ DB クラスターを使用した PostgreSQL 論理レプリケーションの設定](USER_MultiAZDBCluster_LogicalRepl.md)」を参照してください。