MariaDB での遅延レプリケーションの設定 - Amazon Relational Database Service

MariaDB での遅延レプリケーションの設定

遅延レプリケーションは、災害対策用の戦略として使用できます。遅延レプリケーションでは、ソースからリードレプリカへのレプリケーションを遅延させる最小時間を秒数で指定します。障害発生時 (意図しないテーブルの削除など) には、以下のステップを実行して障害から早急に復旧します。

注記
  • 遅延レプリケーションは MariaDB 10.6 以降でサポートされています。

  • 遅延レプリケーションを設定するには、ストアドプロシージャを使用します。遅延レプリケーションを AWS Management Console、AWS CLI、または Amazon RDS API で設定することはできません。

  • 遅延レプリケーションの設定でグローバルなトランザクション識別子 (GTID) に基づくレプリケーションを使用できます。

リードレプリカ作成時の遅延レプリケーションの設定

DB インスタンスから今後作成するリードレプリカの遅延レプリケーションを設定するには、mysql.rds_set_configuration パラメータを指定して target delay ストアドプロシージャを実行します。

リードレプリカの作成時に遅延レプリケーションを設定するには
  1. MariaDB クライアントを使用して、マスターユーザーとしてリードレプリカのソースとなる MariaDB DB インスタンスに接続します。

  2. mysql.rds_set_configuration パラメータを指定して target delay ストアドプロシージャを実行します。

    例えば、現在の DB インスタンスから作成されるリードレプリカへのレプリケーションを少なくとも 1 時間 (3600 秒) 遅延させるように指定するには、次のストアドプロシージャを実行します。

    call mysql.rds_set_configuration('target delay', 3600);
    注記

    このストアドプロシージャを実行すると、AWS CLI または Amazon RDS API を使用して作成したリードレプリカには、指定した秒数で遅延するレプリケーションが設定されます。

既存のリードレプリカの遅延レプリケーションの変更

既存のリードレプリカの遅延レプリケーションを変更するには、mysql.rds_set_source_delay ストアドプロシージャを実行します。

既存のリードレプリカの遅延レプリケーションを変更するには
  1. MariaDB クライアントを使用して、マスターユーザーとしてリードレプリカに接続します。

  2. レプリケーションを停止するには、mysql.rds_stop_replication ストアドプロシージャを使用します。

  3. mysql.rds_set_source_delay ストアドプロシージャを実行します。

    例えば、リードレプリカへのレプリケーションを少なくとも 1 時間 (3600 秒) 遅延させるように指定するには、次のストアドプロシージャを実行します。

    call mysql.rds_set_source_delay(3600);
  4. mysql.rds_start_replication ストアドプロシージャを使用してレプリケーションを開始します。

リードレプリカの昇格

レプリケーションが停止したら、災害対策シナリオでリードレプリカを新しいソース DB インスタンスに昇格させます。リードレプリカの昇格については、「リードレプリカをスタンドアロン DB インスタンスに昇格させる」を参照してください。