Aurora と MySQL との間、または Aurora と別の Aurora DB クラスターとの間のレプリケーション (バイナリログレプリケーション)
Amazon Aurora MySQL は MySQL と互換性があるため、MySQL データベースと Amazon Aurora MySQL DB クラスターとの間のレプリケーションを設定できます。このタイプのレプリケーションでは、MySQL バイナリログレプリケーションが使用され、バイナリログレプリケーションとも呼ばれます。Aurora でバイナリログレプリケーションを使用する場合は、MySQL データベースで MySQL バージョン 5.5 以降を実行することをお勧めします。Aurora MySQL DB クラスターがレプリケーション出典またはレプリカである場合は、レプリケーションを設定できます。Amazon RDS MySQL DB インスタンス、Amazon RDS の外部の MySQL データベース、または別の Aurora MySQL DB クラスターを使用してレプリケートできます。
注記
特定のタイプの Aurora クラスター間では、バイナリログレプリケーションを使用できません。特に、バイナリログレプリケーションは、Aurora Serverless v1 クラスターでは使用できません。SHOW MASTER STATUS
と SHOW
SLAVE STATUS
(Aurora MySQL バージョン 2)、 または SHOW REPLICA STATUS
(Aurora MySQL バージョン 3) ステートメントが出力を返さない場合は、使用しているクラスターがバイナリログレプリケーションをサポートしていることを確認してください。
また、別の AWS リージョン で、RDS for MySQL DB インスタンスまたは Aurora MySQL DB クラスターに、レプリケートすることもできます。AWS リージョン 間のレプリケーションを実行する場合は、DB クラスターと DB インスタンスがパブリックにアクセス可能であることを確認してください。Aurora MySQL DB クラスターが VPC のプライベートサブネットにある場合は、AWS リージョン 間で VPC ピアリングを使用します。詳細については、「VPC 内の DB クラスターに別の VPC 内の EC2 インスタンスからアクセスする」を参照してください。
Aurora MySQL DB クラスターと別の AWS リージョン の Aurora MySQL DB クラスター間のレプリケーションを設定する場合、Aurora MySQL DB クラスターをソース DB クラスターとは別の AWS リージョン のリードレプリカとして作成できます。詳細については、「AWS リージョン 間での Amazon Aurora MySQL DB クラスターのレプリケーション」を参照してください。
Aurora MySQL 2 および 3 では、レプリケーションにグローバルトランザクション識別子 (GTID) を使用する外部のソースまたはターゲットと Aurora MySQL との間でレプリケートできます。Aurora MySQL DB クラスターの GTID 関連のパラメータ内に、外部データベースの GTID ステータスと互換性がある設定が含まれていることを確認してください。これを行う方法については、「GTID ベースレプリケーションを使用する」を参照してください。Aurora MySQL バージョン 3.01 以降では、GTID を使用しない出典からレプリケートされたトランザクションに GTID を割り当てる方法を選択できます。その設定を制御するストアドプロシージャの詳細については、mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL バージョン 3) を参照してください。
警告
Aurora MySQL と MySQL との間で複製する場合は、必ず InnoDB テーブルのみを使用してください。MyISAM テーブルをレプリケートする場合は、これらのテーブルを以下のコマンドを使用して InnoDB に変換してから、レプリケーションを設定できます。
alter table <schema>.<table_name> engine=innodb, algorithm=copy;
以下のセクションでは、レプリケーションの設定、レプリケーションの停止、データベースの読み取りのスケール、バイナリログレプリケーションの最適化、拡張バイナリログの設定を行います。