すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:RDS ネイティブレプリケーションを使用してクラウドベースのセカンダリデータベースを作成する

最終更新日:Nov 09, 2025

ApsaraDB RDS for MySQL は、ネイティブレプリケーションインスタンスの作成をサポートしています。これらのインスタンスを使用して、自己管理 MySQL データベース用に、クラウド上に高可用性の読み取り専用セカンダリデータベースを構築できます。このトピックでは、ネイティブレプリケーションインスタンスを作成し、自己管理データベースから RDS for MySQL ネイティブレプリケーションインスタンスへのデータレプリケーションリンクを構成する方法について説明します。

前提条件

  • ネイティブレプリケーションをサポートする RDS インスタンスが必要です。新規作成するか、既存のものをアップグレードすることができます。インスタンスは次の条件を満たす必要があります。これらの条件は、インスタンスの [基本情報] ページで確認できます。

    • データベースバージョン: MySQL 5.7 (マイナーバージョン 20240930 以降) または 8.0 (マイナーバージョン 20250531 以降)

    • 製品シリーズ: Basic Edition

    • 課金方法: サブスクリプションおよび従量課金

      説明

      サーバーレスの ネイティブレプリケーションインスタンス を使用するには、まず従量課金インスタンスを作成し、ネイティブレプリケーションを有効にしてから、課金方法をサーバーレスに変更する必要があります。

    • サポートされているリージョン: 中国 (上海)、中国 (北京)、中国 (深圳)、中国 (広州)、および中国 (成都)

      重要

      ApsaraDB RDS ネイティブレプリケーションは、現在上記のリージョンでのみ利用可能です。他のリージョンへのサポートは順次展開されています。他のリージョンでこの機能が必要な場合は、チケットを送信してください。

  • RDS for MySQL インスタンスの 特権アカウント を作成済みであること。

  • 自己管理 MySQL データベースと RDS for MySQL インスタンス間のネットワーク接続が確立されていること。詳細については、「ネットワーク構成」をご参照ください。

ワークフローの概要

RDS ネイティブレプリケーションを使用してクラウドベースのセカンダリデータベースを作成するプロセスには、3 つのステップが含まれます。

  1. 自己管理 MySQL データベースの完全バックアップを実行します。

  2. 自己管理 MySQL データベースの完全バックアップを RDS for MySQL ネイティブレプリケーションインスタンスにインポートします。

  3. MySQL コマンドを使用して、自己管理 MySQL データベースから RDS for MySQL ネイティブレプリケーションインスタンスへのレプリケーションリンクを設定します。

ソリューション 1: XtraBackup ストリームバックアップ、Object Storage Service、およびネイティブレプリケーションインスタンスへのデータインポート

利点

RDS for MySQL ネイティブレプリケーションインスタンスは、XtraBackup 物理バックアップと完全に互換性があり、次の機能をサポートしています。

  • バックアップファイル内の GTID を自動的に検出し、レプリケーションリンク設定用のオフセットを調整します。

  • バックアップファイルを Object Storage Service (OSS) にアップロードし、サーバ側暗号化を有効にしてデータセキュリティを確保できます。

  • 選択したバックアップセットからネイティブレプリケーションインスタンスを再構築でき、複雑なレプリケーション中断の問題を解決するのに役立ちます。

課金

  • ネイティブレプリケーションを有効にして新しいインスタンスを作成すると、インスタンス料金 が課金されます。既存のインスタンスをネイティブレプリケーションインスタンスにアップグレードしても、追加料金は発生しません。

  • 自己管理データベースのバックアップを Object Storage Service (OSS) にアップロードして完全データをインポートする場合、OSS にバックアップファイルを保存するために OSS ストレージ料金 が発生します。

手順

  1. XtraBackup をインストールし、自己管理データベースでバックアップを実行する

    1. XtraBackup のインストール:

      CentOS へのインストール

      • MySQL 5.7

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
      • MySQL 8.0

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

      Ubuntu へのインストール

      1. XtraBackup のインストール

        • MySQL 5.7

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        • MySQL 8.0

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
      2. qpress のインストール: Ubuntu にインストールされた XtraBackup には qpress が含まれていないため、別途インストールする必要があります。

        sudo apt-get install -y qpress
    2. バックアップの実行:

      以下の 3 つの圧縮方法は、XtraBackup コマンドに基づいており、主に InnoDB エンジンを使用するインスタンスに適しています。データベースに MyISAM テーブルが含まれている場合は、innobackupex コマンドを使用してください。

      方法 1: デフォルトの qpress 圧縮

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206.xb>

      方法 2: QuickLZ 圧縮

      この方法では、XtraBackup バージョン 8.0.34-29 以前を使用する必要があります。詳細については、「公式 Percona XtraBackup チュートリアル」をご参照ください。

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206_qp.xb>

      方法 3: 外部 ZSTD 圧縮

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        | zstd -q - > ./<backup_file_name_such_as_backup_1206.xb.zstd>
  2. 自己管理データベースのバックアップを OSS にアップロードする

    ossutil や OSS SDK (ソフトウェア開発キット) など、さまざまなツールを使用してバックアップファイルをアップロードできます。このトピックでは、ossutil を例として使用します。

    重要

    ターゲット OSS バケットが RDS MySQL インスタンスと同じリージョンにあることを確認してください。そうしないと、RDS はアップロード中に OSS バックアップファイルを取得できません。

    1. ossutil をインストールします。

      yum install -y unzip
      sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
      ossutil config
    2. バックアップデータを OSS にアップロードします。

      ossutil -e <OSS_Endpoint> -i <your_AccessKeyId> -k <your_AccessKeySecret> cp <backup_file_name> oss://<Bucket_name>/
  3. OSS から RDS にバックアップファイルをインポートし、レプリケーションリンクを自動的に設定する

    1. RDS インスタンスリストに移動し、リージョンを選択して、ターゲットインスタンスの ID をクリックします。

    2. 左側のナビゲーションウィンドウで、[ネイティブレプリケーション] をクリックします。

    3. [ネイティブレプリケーション] ページで、[完全データのインポート] をクリックし、パラメーターを構成して、[OK] をクリックします。

      構成カテゴリ

      パラメーター

      説明

      バックアップアップロード方法 (必須)

      MySQL バージョン

      システムは自動的に 5.7 または 8.0 を表示します。構成は不要です。

      方法

      [OSS からダウンロード] を選択します。

      OSS バケット

      自己管理データベースのバックアップファイルが保存されている OSS バケットを選択します。OSS バケットの詳細については、「ファイルのアップロード」をご参照ください。

      OSS ファイル名

      OSS バケットから自己構築データベースのバックアップファイルを選択します。バックアップファイルが OSS バケットのサブディレクトリに保存されている場合は、完全なパスを手動で入力して検索する必要があります。次の 3 つのバックアップファイル形式がサポートされています:

      • XtraBackup によって直接生成された xbstream ファイル。

      • XtraBackup の組み込み quicklz 圧縮を使用して生成された _qp.xb ファイル。

      • zstd で圧縮された xbstream ファイル (.xb.zst サフィックス付き)。

      自動レプリケーション設定を有効にすることをお勧めします。システムは、以下の構成に基づいてデータレプリケーションリンクを自動的に設定します。自動レプリケーション設定を有効にしない場合は、完全データをインポートした後に 手動でレプリケーションリンクを設定する必要があります。

      自動レプリケーションリンク構成 (オプション)

      自動レプリケーション設定

      スイッチをオンにして、自己管理 MySQL データベースから ApsaraDB RDS for MySQL インスタンスへのレプリケーション関係を自動的に設定します。

      レプリケーションソース IP

      ソースの自己管理データベースの IP アドレスを入力します。

      レプリケーションソースポート

      ソースの自己管理データベースのポート番号を入力します。

      レプリケーションソースアカウント

      ソースの自己管理データベースのアカウントを入力します。ソースアカウントには、REPLICATION CLIENT および REPLICATION SLAVE 権限が必要です。

      レプリケーションアカウントのパスワード

      ソースの自己管理データベースのアカウントのパスワードを入力します。

  4. レプリケーションステータスの表示

    RDS インスタンスの [ネイティブレプリケーション] ページに戻り、データレプリケーションリンク情報を表示します。レプリケーションステータスが [実行中] の場合、データレプリケーションリンクが確立されます。

ソリューション 2: XtraBackup ストリームバックアップ、直接ストリームバックアップ転送、およびネイティブレプリケーションインスタンスへのデータインポート

利点

コンソールベースの操作と自動レプリケーションリンク設定による高いユーザビリティ。

課金

ネイティブレプリケーションを有効にして新しいインスタンスを作成すると、インスタンス料金 が課金されます。既存のインスタンスをネイティブレプリケーションインスタンスにアップグレードしても、追加料金は発生しません。

手順

  1. XtraBackup をインストールし、自己管理データベースでバックアップを実行する

    1. XtraBackup のインストール:

      CentOS へのインストール

      • MySQL 5.7

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
      • MySQL 8.0

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

      Ubuntu へのインストール

      1. XtraBackup のインストール

        • MySQL 5.7

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        • MySQL 8.0

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
      2. qpress のインストール: Ubuntu にインストールされた XtraBackup には qpress が含まれていないため、別途インストールする必要があります。

        sudo apt-get install -y qpress
    2. バックアップの実行:

      以下の 3 つの圧縮方法は、XtraBackup コマンドに基づいており、主に InnoDB エンジンを使用するインスタンスに適しています。データベースに MyISAM テーブルが含まれている場合は、innobackupex コマンドを使用してください。

      方法 1: デフォルトの qpress 圧縮

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206.xb>

      方法 2: QuickLZ 圧縮

      この方法では、XtraBackup バージョン 8.0.34-29 以前を使用する必要があります。詳細については、「公式 Percona XtraBackup チュートリアル」をご参照ください。

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206_qp.xb>

      方法 3: 外部 ZSTD 圧縮

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        | zstd -q - > ./<backup_file_name_such_as_backup_1206.xb.zstd>
  2. 自己管理データベースのバックアップを RDS に転送する

    1. 自己管理データベースに backup-helper ツールをインストールし、バックアップ転送プロセスを確立する

      # backup-helper ツールをインストール
      wget -O backup-helper https://mysql-backup-helper.oss-cn-beijing.aliyuncs.com/v1.0.0-alpha/backup-helper && chmod +x backup-helper
      
      # ツールを使用してバックアップ転送プロセスを確立します (環境で MySQL が実行されており、自己管理データベースのバージョンに基づいて対応するバージョンの XtraBackup がインストールされていることを確認してください)
      ./backup-helper --backup --mode=stream --host=<MySQL_IP> --port=<MySQL_port> --user=<MySQL_account> --password=<MySQL_password>
    2. RDS にデータをインポートする

      1. ApsaraDB RDS コンソールにログインし、ページ上部でリージョンを選択して、インスタンス ID をクリックします。

      2. 左側のナビゲーションウィンドウで、[ネイティブレプリケーション] をクリックします。

      3. [ネイティブレプリケーション] ページで、[完全データのインポート] をクリックし、パラメーターを構成して、[OK] をクリックします。

        構成カテゴリ

        パラメーター

        説明

        バックアップアップロード方法 (必須)

        MySQL バージョン

        システムは自動的に 5.7 または 8.0 を表示します。構成は不要です。

        方法

        [直接ストリームバックアップ] を選択します。

        バックアップソース IP

        バックアップ転送用の IP アドレスを入力します。

        バックアップソースポート

        バックアップ転送用のポートを入力します。デフォルトは 9999 です。

        自動レプリケーション設定を有効にすることをお勧めします。システムは、以下の構成に基づいてデータレプリケーションリンクを自動的に設定します。自動レプリケーション設定を有効にしない場合は、完全データをインポートした後に 手動でレプリケーションリンクを設定する必要があります。

        自動レプリケーションリンク構成 (オプション)

        自動レプリケーション設定

        スイッチをオンにして、自己管理 MySQL データベースから ApsaraDB RDS for MySQL インスタンスへのレプリケーション関係を自動的に設定します。

        レプリケーションソース IP

        ソースの自己管理データベースの IP アドレスを入力します。

        レプリケーションソースポート

        ソースの自己管理データベースのポート番号を入力します。

        レプリケーションソースアカウント

        ソースの自己管理データベースのアカウントを入力します。ソースアカウントには、REPLICATION CLIENT および REPLICATION SLAVE 権限が必要です。

        レプリケーションアカウントのパスワード

        ソースの自己管理データベースのアカウントのパスワードを入力します。

  3. レプリケーションステータスの表示

    RDS インスタンスの [ネイティブレプリケーション] ページに戻り、データレプリケーションリンク情報を表示します。レプリケーションステータスが [実行中] の場合、データレプリケーションリンクが確立されます。

ソリューション 3: mysqldump 論理バックアップ、DMS データインポート、および SQL ベースのレプリケーションリンク設定

利点

コンソールベースの操作による高いユーザビリティ。

課金

新しい RDS for MySQL インスタンスを作成すると、RDS インスタンス料金とストレージ料金 が発生します。

手順

  1. mysqldump を使用して、自己管理 MySQL データベースの論理バックアップを実行し、SQL ファイルを取得します。コマンドは次のとおりです。

    mysqldump --all-databases \
        --single-transaction \
        --order-by-primary \
        --set-gtid-purged=off \
        --master-data=2 \
        -u local_user \
        -p local_password \
        -h 127.0.0.1
        -P 3306 > data.sql
    • RDS for MySQL は SET GTID_PURGED を変更する権限を付与しないため、このパラメーターを有効にすると SQL 再生エラーが発生します。したがって、コマンドで set-gtid-purged=off を設定する必要があります。

    • mysqldump を使用してセカンダリデータベースを設定する場合、--master-data=2 オプションを追加します。このオプションは、CHANGE MASTER TO 文を含むコメントを自動的に生成します。これにより、プライマリデータベースからバイナリロギングファイル名と位置を手動でクエリしてレプリケーションオフセットを入力することなく、簡単に取得できます。例:

      image.png

  2. DMS を使用して論理バックアップをインポートします。

    1. DMS を使用して RDS for MySQL データベースにログインします (特権アカウントを使用)。

    2. DMS コンソールの左上隅にある 2023-01-28_15-57-17.png アイコンをクリックし、[すべての機能] > [データベース開発] > [データ変更] > [データインポート] を選択します。

      説明

      コンソールを非ストリームラインモードで使用している場合は、上部のメニューバーから [データベース開発] > [データ変更] > [データインポート] を選択します。

    3. [データ変更チケット申請] ページで、[一括データインポート] を選択し、ターゲットの RDS for MySQL データベースを指定して、論理バックアップ SQL ファイルをアップロードします。他の構成パラメーターの詳細については、「データインポート」をご参照ください。

  3. DMS でコマンドを実行してレプリケーションリンクを設定します。

    重要

    DMS を使用して論理バックアップをインポートすると、クラウドベースのセカンダリデータベースに個別のバイナリログと GTID が生成されます。このセカンダリデータベースをプライマリノードに切り替えると、これらの余分な GTID が他のノードにレプリケートされ、レプリケーションが中断される可能性があります。この問題を回避するには、次のいずれかの措置を講じます。

    • レプリケーションを設定する前に、ネイティブレプリケーションを無効にしてから再度有効にします。この操作により RESET MASTER が実行されます。

    • レプリケーショントポロジ内の他のノードに空のトランザクションを挿入して、冗長な GTID を上書きします。これはプレースホルダーとして機能します。

    # レプリケーションの設定
    CHANGE MASTER TO MASTER_HOST = '<source_host_IP>', MASTER_USER = '<replication_user>',MASTER_PASSWORD ='<replication_password>', MASTER_PORT = 3306,MASTER_LOG_FILE = '<binlog_file_name>',MASTER_LOG_POS = 190;
    # レプリケーションの開始
    START SLAVE;
    # レプリケーションステータスの確認
    SHOW SLAVE STATUS\G