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

Data Transmission Service:PolarDB-X 1.0 から ApsaraDB RDS for MySQL への同期

最終更新日:Aug 28, 2026

このトピックでは、 Data Transmission Service (DTS) を使用して、 PolarDB-X 1.0 インスタンスから ApsaraDB RDS for MySQL インスタンスへ増分データをリアルタイムで同期する方法を説明します。

前提条件

  • PolarDB-X 1.0 インスタンスが作成されていること。詳細については、「PolarDB-X 1.0 インスタンスの作成」および「データベースの作成」をご参照ください。

    説明

    PolarDB-X 1.0 インスタンスは、ストレージタイプとして ApsaraDB RDS for MySQL を使用している必要があります。これには、プライベートにカスタマイズされた RDS インスタンスと個別に購入した RDS インスタンスの両方が含まれます。PolarDB for MySQL はサポートされていません。

  • 同期するデータの文字セットが utf8mb3 でないことを確認してください。そうでない場合、増分データ同期タスクは失敗します。

  • ターゲット ApsaraDB RDS for MySQL インスタンスが作成されていること。ターゲットインスタンスのストレージ領域は、ソース PolarDB-X 1.0 インスタンスで使用されているストレージ領域よりも大きい必要があります。詳細については、「(非推奨、リダイレクト先「ステップ 1」) ApsaraDB RDS for MySQL インスタンスの迅速な作成」をご参照ください。

注意事項

説明
  • スキーマ同期中、DTS はソースデータベースの外部キーを宛先データベースに同期します。

  • 完全データ同期および増分データ同期中、DTS はセッションレベルで制約チェックと外部キーのカスケード操作を一時的に無効にします。タスクの実行中にソースデータベースでカスケード更新または削除操作を実行すると、データの不整合が発生する可能性があります。

カテゴリ

説明

ソースデータベースの制限事項

  • 同期するテーブルには PRIMARY KEY または UNIQUE 制約が必要です (UNIQUE 制約のみを持つテーブルはスキーマ同期をサポートしないため、PRIMARY KEY 制約の使用を推奨します)。また、フィールドは一意である必要があります。そうでない場合、宛先データベースに重複データが含まれる可能性があります。セカンダリインデックスを持つテーブルは同期できません。

  • 同期対象としてテーブルを選択し、テーブル名または列名のマッピングなど、テーブルを編集する場合、1 つのデータ同期タスクで同期できるテーブル数は最大 5,000 です。5,000 を超えるテーブルを同期するタスクを実行すると、タスクの送信後にリクエストエラーが発生する場合があります。この場合は、同期するテーブルを分割して複数のタスクを構成し、テーブルをバッチで同期するか、データベース全体を同期するタスクを構成することを推奨します。

  • RDS for MySQL インスタンスが インスタンスにアタッチされている場合、バイナリログは次の要件を満たす必要があります:

    • バイナリロギングを有効にし、binlog_row_image パラメータを full に設定する必要があります。そうでない場合、事前チェック中にエラーが報告され、データ同期タスクを開始できません。

    • 増分データ同期タスクの場合、DTS ではソースデータベースのバイナリログを少なくとも 24 時間保持する必要があります。完全データ同期と増分データ同期の両方を実行するタスクの場合、DTS ではソースデータベースのバイナリログを少なくとも 7 日間保持する必要があります。初期完全データ同期が完了した後、バイナリログの保持期間を 24 時間より長く設定できます。そうでない場合、DTS がバイナリログを取得できず、タスクが失敗する可能性があります。例外的な状況では、データの不整合またはデータ損失が発生する可能性があります。バイナリログの保持期間が必要な期間より短いことが原因で発生する問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

  • ソースデータベースで実行する操作の制限事項:

    • データ同期中に インスタンスのネットワークタイプを変更した場合、ネットワークタイプの変更後に同期リンクのネットワーク接続情報を変更する必要があります。

    • データ同期中は、アタッチされている RDS for MySQL インスタンスのスケールアウトなど、ソースインスタンスをスケールアウトしないでください。また、RDS for MySQL インスタンスをスケールアウトしない場合でも、RDS for MySQL インスタンス内の論理データベースおよび論理テーブルに対応する物理データベースと物理テーブルの分散を変更しないでください。さらに、ホットスポットテーブルを移行したり、シャードキーを変更したり、DDL 操作を実行したりしないでください。そうでない場合、データ同期タスクが失敗するか、データの不整合が発生する可能性があります。

    • スキーマ同期または完全データ同期中は、データベースまたはテーブルのスキーマを変更する DDL 操作を実行しないでください。そうでない場合、同期タスクが失敗することがあります。

      注

      完全データ同期中、DTS はソースデータベースに対してクエリを実行します。これによりメタデータロックが作成され、ソースデータベースでの DDL 操作がブロックされる可能性があります。

  • インスタンスのストレージクラスは RDS for MySQL である必要があります。これには、プライベートカスタム RDS と個別に購入した RDS が含まれます。ストレージクラスとして PolarDB for MySQL はサポートされていません。

  • のストレージリソースは、水平分割 (シャーディング) によってのみ分割できます。垂直分割はサポートされていません。

  • のコンピューティングリソースの読み取り専用インスタンスはサポートされていません。

  • ソース PolarDB-X 1.0 インスタンスのバージョンは 5.2 以降である必要があります。

その他の制限事項

  • インデックスとパーティションは同期されません。

  • DTS は、ソース PolarDB-X 1.0 インスタンスにおける XA トランザクションの連続性に基づいて、増分同期タスクのデータ整合性を確保します。増分データ収集モジュールの災害復旧シナリオで同期対象を変更する場合など、XA トランザクションの連続性が中断されると、コミットされていない XA トランザクションが失われる可能性があります。

  • インスタンスのデータ同期タスクは、分散タスクです。アタッチされている各 RDS for MySQL インスタンスに対してサブタスクが作成されます。[Task Topology] でサブタスクの実行状態を確認できます。

  • データに希少な漢字や絵文字などの 4 バイト文字が含まれる場合、宛先データベースおよびテーブルでは utf8mb4 文字セットを使用する必要があります。

    注

    DTS を使用してテーブルスキーマを同期する場合は、宛先データベースのインスタンスレベルで character_set_server パラメータを utf8mb4 に設定してください。

  • データを同期する前に、ソースデータベースと宛先データベースのパフォーマンスを評価する必要があります。オフピーク時にデータを同期することを推奨します。そうでない場合、初期完全データ同期により、ソースデータベースと宛先データベースの読み取り/書き込みリソースを消費し、データベース負荷を増加させる可能性があります。

  • 初期完全データ同期中に同時に INSERT 操作が行われると、宛先データベースのテーブルでフラグメンテーションが発生します。そのため、初期完全データ同期の完了後、宛先インスタンスのテーブルスペースはソースインスタンスより大きくなります。

  • pt-online-schema-change などのツールを使用して、ソースデータベース内の同期対象に対してオンライン DDL 操作を実行しないでください。そうでない場合、同期が失敗することがあります。

  • データ同期中は、他のツールを使用して宛先データベースにデータを書き込まないでください。そうでない場合、ソースデータベースと宛先データベース間でデータの不整合が発生する可能性があります。たとえば、他のツールを使用して宛先データベースにデータを書き込んでいるときに DMS を使用してオンライン DDL 操作を実行すると、宛先データベースでデータ損失が発生する可能性があります。

  • 宛先の MySQL データベースで、大文字と小文字の違いだけが異なる列名を同一テーブルに書き込むと、MySQL の列名は大文字と小文字を区別しないため、想定外の結果が発生する可能性があります。

  • データ同期が完了した後 (インスタンスの [Status] が [Completed] である状態)、ANALYZE TABLE <table_name> コマンドを使用して、すべてのデータが宛先テーブルに書き込まれていることを確認することを推奨します。たとえば、宛先の MySQL データベースで HA フェイルオーバーのメカニズムがトリガーされた後、データがメモリにのみ書き込まれる可能性があり、データ損失につながる場合があります。

  • タスクが失敗した場合、DTS サポート担当者が 8 時間以内に復旧を試みます。復旧中に、タスクを再起動したり、パラメータを調整したりする場合があります。

    説明

    変更されるのは DTS タスクのパラメータのみであり、データベースパラメータは変更されません。 調整される可能性があるパラメータには、「インスタンスパラメータの変更」に記載されているものが含まれます。

課金

同期タイプ

料金

全データ同期

無料

増分データ同期

有料となり、「課金概要」をご参照ください。

サポートされている同期トポロジ

  • 1 対 1 の一方向同期

  • 1 対多の一方向同期

  • カスケード一方向同期

  • 多対 1 の一方向同期

サポートされている同期トポロジと使用上の注意の詳細については、「同期トポロジ」をご参照ください。

サポートされる SQL 操作

操作タイプ

SQL ステートメント

DML

INSERT、UPDATE、DELETE

データベースアカウントに必要なアクセス許可

データベース

必要なアクセス許可

アカウント設定

ソース PolarDB-X 1.0 インスタンス

同期対象のオブジェクトに対する読み取りアクセス許可。

アカウントの管理

デスティネーション ApsaraDB RDS for MySQL インスタンス

同期先のデスティネーションデータベースに対する読み取りおよび書き込みアクセス許可。

アカウントを作成 および ApsaraDB RDS for MySQL インスタンスの標準アカウントのアクセス許可を変更。

手順

  1. 宛先リージョンの同期タスクリストページに移動します。次の 2 つの方法のいずれかを使用できます。

    DTS コンソールから

    1. Data Transmission Service (DTS) コンソールにログインします。

    2. 左側メニューで、データ同期 をクリックします。

    3. ページの左上隅で、同期インスタンスがあるリージョンを選択します。

    DMS コンソールから

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMSインターフェースのレイアウトとスタイルをカスタマイズする」をご参照ください。

    1. Data Management (DMS) にログインします。

    2. 上部メニューで、[データ + AI] > [Data Transmission (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側で、同期インスタンスがあるリージョンを選択します。

  2. タスクの作成 をクリックして、タスク設定ページを開きます。

  3. 任意:ページの右上隅で、新バージョンの設定ページを試してみる をクリックします。

    説明
    • ボタンが 旧バージョンの設定ページに戻る の場合は、この手順をスキップできます。

    • 新しい設定ページと古い設定ページでは、パラメーターが異なります。新しい設定ページを使用することを推奨します。

  4. ソースデータベースと宛先データベースを設定します。

    警告

    ソースインスタンスと宛先インスタンスを選択した後、ページ上部の 制限事項 を確認して、タスクを正常に作成および実行できることを確認します。

    カテゴリ

    パラメーター

    説明

    N/A

    [タスク名]

    DTS はタスク名を自動的に生成します。簡単に識別できるよう、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。

    [ソースデータベース]

    [データベースタイプ]

    PolarDB-X 1.0 を選択します。

    [接続タイプ]

    Alibaba Cloud インスタンス を選択します。

    [インスタンスリージョン]

    ソース PolarDB-X 1.0 インスタンスが存在するリージョンを選択します。

    [Alibaba Cloud アカウント間でデータを複製]

    この例では、現在の Alibaba Cloud アカウントに属するデータベースインスタンスを使用します。× を選択します。

    [インスタンス ID]

    ソース PolarDB-X 1.0 インスタンスの ID を選択します。

    [データベースアカウント]

    ソース PolarDB-X 1.0 インスタンスのデータベースアカウントを入力します。必要なアクセス許可については、「データベースアカウントに必要なアクセス許可」をご参照ください。

    [データベースパスワード]

    データベースアカウントに対応するパスワードを入力します。

    [宛先データベース]

    [データベースタイプ]

    MySQL を選択します。

    [接続タイプ]

    Alibaba Cloud インスタンス を選択します。

    [インスタンスリージョン]

    宛先 ApsaraDB RDS for MySQL インスタンスが存在するリージョンを選択します。

    [Alibaba Cloud アカウント間でデータを複製]

    この例では、現在の Alibaba Cloud アカウントに属するデータベースインスタンスを使用します。× を選択します。

    [RDS インスタンス ID]

    宛先 ApsaraDB RDS for MySQL インスタンスの ID を選択します。

    [データベースアカウント]

    宛先 ApsaraDB RDS for MySQL インスタンスのデータベースアカウントを入力します。必要なアクセス許可については、「データベースアカウントに必要なアクセス許可」をご参照ください。

    [データベースパスワード]

    データベースアカウントに対応するパスワードを入力します。

    [接続方法]

    必要に応じて、非暗号化 または SSL 暗号化 を選択します。SSL 暗号化 を選択する場合は、事前に RDS for MySQL インスタンスに対して SSL 暗号化を有効にする必要があります。詳細については、「クラウド証明書を使用して SSL 暗号化を迅速に有効にする」をご参照ください。

  5. 設定が完了したら、ページ下部の 接続をテストして続行 をクリックします。

    説明
    • DTS サーバーの IP アドレスの CIDR ブロックが、ソースデータベースと宛先データベースのセキュリティ設定に追加され、DTS サーバーからのアクセスが許可されていることを確認します。これは自動または手動で行うことができます。詳細については、「DTS サーバーの IP アドレスの CIDR ブロックをホワイトリストに追加する」をご参照ください。

    • ソースまたは宛先データベースがセルフマネージドデータベース (アクセス方法 が Alibaba Cloud インスタンス ではない場合) である場合は、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックする必要もあります。

  6. タスクオブジェクトを設定します。

    1. オブジェクト設定 ページで、同期するオブジェクトを設定します。

      パラメーター

      説明

      [同期タイプ]

      増分データ同期 が選択されています。デフォルトでは、スキーマ同期 と 完全データ同期 も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトのフルデータ同期をソースインスタンスから宛先クラスターに実行します。これが、後続の増分データ同期のベースラインデータとなります。

      [競合するテーブルの処理モード]

      • [エラーの事前チェックと報告]:DTS は宛先データベースに同じ名前のテーブルがあるかどうかをチェックします。競合がある場合、DTS は事前チェック中にエラーを報告し、タスクを開始しません。

        説明

        競合するテーブルを削除または名前変更することが現実的でない場合は、テーブルを別の名前にマッピングできます。詳細については、「オブジェクト名のマッピング」をご参照ください。

      • [エラーを無視して続行]:宛先データベース内の同じ名前のテーブルのチェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生する可能性があります。例:

        • テーブルスキーマが一貫している場合、ソースレコードと同じプライマリキーまたは一意キーを持つ宛先レコードは上書きされます。

        • テーブルスキーマに一貫性がない場合、タスクが失敗したり、データが部分的にしか同期されなかったりする可能性があります。選択は慎重に行ってください。

      [移行先インスタンスでのオブジェクト名の大文字化]

      宛先インスタンスに同期されるデータベース、テーブル、および列オブジェクト名の大文字と小文字の区別ポリシーを設定できます。デフォルトでは、DTS のデフォルトポリシー が選択されています。ソースデータベースと宛先データベースのデフォルトポリシーを使用することもできます。詳細については、「宛先オブジェクト名の大文字と小文字の区別ポリシー」をご参照ください。

      [ソースオブジェクト]

      ソースオブジェクト ボックスで、同期するオブジェクトをクリックし、向右 をクリックして 選択中のオブジェクト ボックスに移動します。

      説明

      同期オブジェクトとしてテーブルを選択することを推奨します。データベース全体を選択した場合、そのデータベース内のテーブルの追加または削除の変更は宛先データベースに同期されません。

      [選択中のオブジェクト]

      説明
      • データベースまたはテーブルレベルで同期する SQL 操作を選択するには、選択中のオブジェクト ボックスで同期オブジェクトを右クリックし、表示されるダイアログボックスで目的の SQL 操作を選択します。サポートされている操作のリストについては、「サポートされている SQL 操作」をご参照ください。

      • データをフィルターするための WHERE 条件を設定するには、選択中のオブジェクト ボックスで同期するテーブルを右クリックし、表示されるダイアログボックスでフィルター条件を設定します。詳細については、「フィルター条件の設定」をご参照ください。

    2. 詳細設定へ をクリックして、高度なパラメーターを設定します。

      パラメーター

      説明

      [タスクのスケジュールに使用する専用クラスターの選択]

      デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、クラスターを選択する必要はありません。より安定したパフォーマンスを得るために、専用クラスターを購入して DTS 同期タスクを実行できます。詳細については、「DTS 専用クラスターとは」をご参照ください。

      [失敗した接続の再試行時間]

      同期タスクが開始された後、ソースまたは宛先データベースへの接続が失敗した場合、DTS はエラーを報告し、すぐに接続の再試行を開始します。デフォルトの再試行期間は 720 分です。10~1,440 分の範囲でカスタムの再試行期間を指定することもできます。期間は 30 分以上に設定することを推奨します。指定された期間内に DTS がデータベースに正常に再接続すると、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

      説明
      • 同じソースまたは宛先を共有する複数の DTS インスタンス (インスタンス A とインスタンス B など) があり、インスタンス A のネットワーク再試行時間を 30 分、インスタンス B のネットワーク再試行時間を 60 分に設定した場合、両方に短い方の 30 分が使用されます。

      • DTS は接続再試行期間中のタスク実行時間に対して課金するため、ビジネスニーズに基づいて再試行期間をカスタマイズするか、ソースおよび宛先データベースインスタンスのリリース後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

      [移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。]

      同期タスクが開始された後、ソースまたは宛先データベースで接続以外の問題 (DDL または DML の実行例外など) が発生した場合、DTS はエラーを報告し、すぐに再試行を継続します。デフォルトの再試行期間は 10 分です。1~1,440 分の範囲で再試行期間をカスタマイズすることもできます。10 分以上に設定することを推奨します。設定された再試行期間内に関連する操作が成功すると、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値より小さくする必要があります。

      [完全同期レートを制限するかどうか]

      フル同期段階では、DTS はソースデータベースと宛先データベースの読み取りおよび書き込みリソースを消費し、データベースの負荷を増加させる可能性があります。ソースおよび宛先データベースの負荷を軽減するために、1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定することで、フル同期タスクのレート制限を設定できます。

      説明
      • この設定項目は、同期タイプ が 完全データ同期 に設定されている場合にのみ使用できます。

      • 同期インスタンスの実行後にフル同期レートを調整することもできます。

      [増分同期率を制限するかどうか]

      増分同期タスクにレート制限を設定することもできます。宛先データベースへの負荷を軽減するには、1 秒あたりの増分同期の行数 RPS と 1 秒あたりの増分同期データ量 (MB) BPS を設定します。

      [環境タグ]

      環境タグを選択してインスタンスを識別できます。この例では選択は不要です。

      [ETL 機能の設定]

      ETL (抽出、変換、ロード) 機能を有効にするかどうかを選択します。詳細については、「ETL とは」をご参照ください。有効な値:

      [監視アラート]

      アラートを設定するかどうかを指定します。同期が失敗した場合、またはレイテンシが指定されたしきい値を超えた場合、通知がアラート連絡先に送信されます。

  7. タスクを保存して事前チェックを実行します。

    • このインスタンスを設定するための API パラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにカーソルを合わせ、吹き出し内の OpenAPI パラメーターのプレビュー をクリックします。

    • API パラメーターの表示が完了したら、ページ下部の 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • 同期タスクが開始される前に、DTS は事前チェックを実行します。タスクは、すべての事前チェック項目に合格した後にのみ開始できます。

    • 事前チェックが失敗した場合は、失敗した項目の 詳細を表示 をクリックします。指示に従って問題を修正し、再度事前チェックを実行します。

    • 事前チェックで警告が返された場合:

      • チェック項目が失敗し、無視できない場合は、項目の横にある 詳細を表示 をクリックします。指示に従って問題を修正し、再度事前チェックを実行します。

      • 無視できるチェック項目については、アラートの詳細を確認、無視、OK、再度事前チェックを実行 を順にクリックして、警告をスキップして事前チェックを再実行できます。警告項目を無視することを選択した場合、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

  8. インスタンスを購入します。

    1. 成功率 が 100% になったら、次:インスタンスの購入 をクリックします。

    2. 購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。次の表で、これらのパラメーターについて詳しく説明します。

      カテゴリ

      パラメーター

      説明

      [新しいインスタンスクラス]

      課金方法

      • サブスクリプション:インスタンスを作成するときに支払います。これは長期的なニーズに適しており、従量課金よりも費用対効果が高くなります。サブスクリプション期間が長いほど、割引率が高くなります。

      • 従量課金:時間単位で課金されます。これは短期的なニーズに適しています。使用後すぐにインスタンスをリリースして、コストを節約できます。

      リソースグループ設定

      インスタンスが属するリソースグループです。デフォルトでは、デフォルトのリソースグループが選択されます。詳細については、「リソース管理とは」をご参照ください。

      リンク仕様

      DTS は、さまざまなパフォーマンスレベルの同期仕様を提供します。同期リンクの仕様によって同期速度が変わります。ビジネスシナリオに基づいて仕様を選択できます。詳細については、「データ同期リンクの仕様」をご参照ください。

      サブスクリプション期間

      サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。1~9 か月の月単位のサブスクリプション、または 1、2、3、5 年の年単位のサブスクリプションを選択できます。

      説明

      このオプションは、課金方法が サブスクリプション の場合にのみ使用できます。

    3. 設定が完了したら、Data Transmission Service (従量課金) 利用規約 を読み、同意のチェックを入れます。

    4. 購入して起動 をクリックします。OK ダイアログボックスで、[OK] をクリックします。

      [データ同期] ページでタスクの進捗状況を確認できます。