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

Data Transmission Service:PolarDB-X 2.0 インスタンス間でのデータ移行

最終更新日:Mar 29, 2026

ダウンタイムを最小限に抑えるために、Data Transmission Service (DTS) を使用して PolarDB-X 2.0 インスタンス間でデータを移行します。DTS はスキーマ移行、完全なデータ移行、増分データ移行の 3 種類の移行タイプをサポートしており、移行中もアプリケーションを継続して実行できます。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • MySQL 5.7 と互換性のある PolarDB-X 2.0 インスタンス(ソースおよび宛先)をそれぞれ 1 つずつ用意します。

  • ソースインスタンス内の合計データサイズよりも、より大きな利用可能なストレージ容量を持つ宛先インスタンス

  • 必要な権限に記載されている権限を持つデータベースアカウントを用意します。

制限事項

ソースデータベース

制限事項詳細
テーブル制約テーブルには PRIMARY KEY または一意制約 (UNIQUE constraint) が必要であり、すべてのフィールド値が一意である必要があります。これを満たさない場合、宛先データベースに重複レコードが生成される可能性があります。
テーブル数(個別テーブル選択時)1 つのタスクあたり最大 1,000 テーブルまで対応可能です。この上限を超えるとリクエストエラーが発生します。より多くのテーブルを移行する場合は、複数のタスクを作成するか、データベースレベルでの移行を実行してください。
帯域幅ソースデータベースをホストするサーバーには、十分なアウトバウンド帯域幅が必要です。帯域幅が不足していると、移行速度が低下します。
DDL 操作スキーマ移行または完全なデータ移行中に、ソースデータベース上で DDL 操作を実行しないでください。実行すると、タスクが失敗します。
完全移行中の書き込み増分データ移行を含めずに完全なデータ移行のみを実行する場合、移行中にソースに対して書き込み操作を行わないでください。同時書き込みにより、データの不整合が発生する可能性があります。
ネットワークタイプの変更移行中にソースの PolarDB-X 2.0 インスタンスのネットワークタイプを変更した場合、DTS タスク内のネットワーク接続設定も併せて更新してください。

増分データ移行のためのバイナリログ要件

増分データ移行を含める場合は、ソースデータベースが以下の要件を満たしていることを確認してください。

パラメーター必須値理由
バイナリログONDTS はバイナリログを読み取って増分変更をレプリケートします。
binlog_row_imagefullすべてのカラム値をキャプチャし、正確な競合解決を可能にします。
バイナリログ保持期間(増分移行のみ)24 時間以上移行中に DTS が連続したログにアクセスできるように保証します。
バイナリログ保持期間(完全移行+増分移行)最低 7 日間DTS が完全移行の開始ポイントから再開できるよう、十分な履歴を確保します。
バイナリログの保持期間が要件を満たさない場合、DTS がログを取得できず、タスクが失敗する可能性があります。例外的なケースでは、データの不整合や損失が発生する場合もあります。完全なデータ移行が完了した後は、保持期間を 24 時間以上に短縮できます。
重要

DTS は定期的にソースデータベース内の dts_health_check.ha_health_check テーブルを更新し、バイナリログの位置を進めます。

その他の制限事項

  • 宛先の PolarDB-X 2.0 インスタンスは MySQL 5.7 と互換性がある必要があります。

  • ピーク時間帯を避けて移行を実行してください。完全なデータ移行は、ソースおよび宛先の両方で読み取りおよび書き込みリソースを消費し、サーバー負荷が増加します。

  • 完全なデータ移行後に、宛先の表領域は、同時 INSERT 操作による断片化の影響でソースよりも大きくなります。

  • DTS は失敗したタスクを最大 7 日間自動的に再試行します。ワークロードを宛先に切り替える前に、失敗したタスクを停止またはリリースしてください。あるいは、宛先における DTS の書き込み権限を削除するために REVOKE を実行してください。これを行わないと、再開されたタスクによって、宛先のデータがソースのデータで上書きされる可能性があります。

課金

移行タイプインスタンス構成料金インターネットトラフィック料金
スキーマ移行および完全なデータ移行無料Alibaba Cloud からインターネット経由で移行する場合にのみ課金されます。詳細については、「課金概要」をご参照ください。
増分データ移行課金済み。「課金概要」を参照してください。

移行タイプ

DTS は 3 種類の移行タイプをサポートしています。ご要件に応じて組み合わせてご利用ください。

移行タイプ機能使用タイミング
スキーマ移行選択したオブジェクトのスキーマを宛先に移行します。データ移行の基盤として必須です。
完全なデータ移行選択したオブジェクトに格納されている既存の全データを移行します。移行中にソースへの書き込みが発生しない、ワンタイムの移行に適しています。
増分データ移行完全移行完了後に、ソースから宛先へ変更を継続的にレプリケートします。サービス継続性を確保するために、完全なデータ移行と併用します。

推奨:サービス継続性およびデータ整合性を維持するため、3 種類すべて(スキーマ移行+完全なデータ移行+増分データ移行)を選択してください。

増分データ移行でサポートされる SQL 操作

操作タイプサポートされる文
DML(Data Manipulation Language)INSERT、UPDATE、DELETE

必要な権限

タスク開始前に、DTS で使用するデータベースアカウントに以下の権限を付与してください。

ソースの PolarDB-X 2.0 インスタンス

権限必須目的
SELECTスキーマ移行、完全なデータ移行ソースからデータおよびスキーマ定義を読み取ります。
REPLICATION SLAVE増分データ移行増分変更のレプリケーションを可能にするためのバイナリログストリーミングを有効化します。
REPLICATION CLIENT増分データ移行バイナリログの位置およびサーバーのステータスへのアクセスを提供します。
SELECT(移行対象オブジェクト)増分データ移行移行対象の特定オブジェクトを読み取ります。

宛先の PolarDB-X 2.0 インスタンス

すべての移行タイプにおいて、読み取りおよび書き込み権限が必要です。

移行タスクの作成

ステップ 1:データ移行タスクページへ移動

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

  2. トップナビゲーションバーで、DTS をクリックします。

  3. 左側のナビゲーションウィンドウで、DTS (DTS)データ移行 を選択します。

また、新しい DTS コンソールの [データ移行タスクページ] に直接アクセスすることもできます。コンソールのナビゲーションは、使用している DMS コンソールのモードによって異なる場合があります。「シンプルモード」および「ビジネス要件に応じて DMS コンソールを設定する」をご参照ください。

ステップ 2:ソースおよび宛先データベースの構成

  1. データ移行タスク の横にあるドロップダウンリストから、移行対象インスタンスが配置されているリージョンを選択します。

    新しい DTS コンソールでは、左上隅のリージョンを選択します。
  2. タスクの作成 をクリックします。

    警告

    ソースおよび宛先インスタンスを選択した後、ページ上部に表示される制限事項を必ず確認してください。これを怠ると、タスクの失敗やデータの不整合が発生する可能性があります。

  3. タスクおよびデータベース接続を構成します。

    セクションパラメーター説明
    タスク名DTS が自動的に名称を生成します。タスクを識別しやすいように、意味のある名称を指定してください。名称は一意である必要はありません。
    ソースデータベースインスタンスの選択設定を自動入力するため、既存のインスタンスを選択するか、手動で構成してください。
    データベースタイプ PolarDB-X 2.0 を選択します。
    アクセス方法 Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンソースの PolarDB-X 2.0 インスタンスが配置されているリージョンです。
    インスタンス IDソースの PolarDB-X 2.0 インスタンスの ID です。
    データベースアカウントソースのデータベースアカウントです。必要な権限をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
    宛先データベースインスタンスの選択設定を自動入力するため、既存のインスタンスを選択するか、手動で構成してください。
    データベースタイプ PolarDB-X 2.0 を選択します。
    アクセス方法 Alibaba Cloud インスタンス を選択します。
    インスタンスリージョン宛先の PolarDB-X 2.0 インスタンスが配置されているリージョンです。
    インスタンス ID宛先の PolarDB-X 2.0 インスタンスの ID です。
    データベースアカウント宛先のデータベースアカウントです。必要な権限をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。

ステップ 3:接続性のテスト

接続性のテストと続行 をクリックします。

DTS は、自動的に自社サーバーの CIDR ブロックを Alibaba Cloud データベースインスタンス(ApsaraDB RDS for MySQL や ApsaraDB for MongoDB など)のホワイトリストおよび Elastic Compute Service (ECS) インスタンスのセキュリティグループルールに追加します。データセンターやサードパーティプロバイダーによってホストされている自己管理データベースの場合は、DTS サーバーの CIDR ブロックをデータベースのホワイトリストに手動で追加する必要があります。詳細については、「オンプレミスデータベースのセキュリティ設定に DTS サーバーの CIDR ブロックを追加する」をご参照ください。

警告

DTS の CIDR ブロックをホワイトリストまたはセキュリティグループに追加すると、セキュリティリスクが生じる可能性があります。続行する前に、認証情報の強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストおよびセキュリティグループルールの定期監査、Express Connect・VPN Gateway・Smart Access Gateway を使用したデータベースと DTS の接続など、予防措置を講じてください。

ステップ 4:オブジェクトの選択および移行設定の構成

パラメーター説明
移行タイプ実行する移行タイプを選択します。サービス継続性を確保する場合は、スキーマ移行完全なデータ移行増分データ移行 を選択してください。ソースへの書き込みが発生しないワンタイム移行の場合は、スキーマ移行 および 完全なデータ移行 を選択してください。
競合テーブルの処理モード[事前チェックとエラーの報告]: ソーステーブルと同じ名前のテーブルが送信先に存在する場合、事前チェックは失敗します。競合を解決するには、オブジェクト名マッピング機能を使用します。「オブジェクト名のマップ」をご参照ください。[エラーを無視して続行]: 名前衝突のチェックをスキップします。スキーマが一致する場合、DTS は一致するプライマリキーを持つレコードをスキップします。スキーマが異なる場合、一部の列のみが移行されるか、タスクが失敗します。注意して使用してください。
ソースオブジェクトソースオブジェクト からオブジェクトを選択し、Rightwards arrow をクリックして 選択済みオブジェクト に追加します。カラム、テーブル、またはスキーマを選択できます。テーブルまたはカラムを選択すると、ビュー、トリガー、ストアドプロシージャは除外されます。
選択済みオブジェクト移行された単一のオブジェクトの名前を変更するには、[選択したオブジェクト] でオブジェクトを右クリックします。「単一のオブジェクトの名前をマップする」をご参照ください。複数のオブジェクトの名前を変更するには、[一括編集] をクリックします。「一度に複数のオブジェクト名をマップする」をご参照ください。行をフィルターするには、オブジェクトを右クリックして SQL WHERE 条件を指定します。「SQL 条件を使用してデータをフィルターする」をご参照ください。
オブジェクトの名前を変更すると、依存オブジェクトの移行が失敗する可能性があります。

ステップ 5:高度な設定の構成

次へ:高度な設定 をクリックし、以下の項目を構成します。

パラメーター説明
アラートの設定タスクが失敗した場合、または移行遅延がしきい値を超えた場合に通知を受信するには、[はい] を設定します。アラートのしきい値と連絡先を指定します。詳細については、「DTS タスクを作成するときにモニタリングとアラートを設定する」をご参照ください。
失敗した接続の再試行時間ソースまたは宛先との接続が切断された後の DTS の再試行時間です。有効範囲:10~1,440 分。デフォルト値:720 分。30 分を超える値を設定してください。再試行期間内に DTS が再接続できた場合、タスクは再開されます。それ以外の場合は、タスクが失敗します。複数のタスクが同一のソースまたは宛先を共有する場合、最も短い再試行期間がすべてのタスクに適用されます。
ETL の構成[はい]」に設定すると、抽出・変換・書き出し (ETL) 機能を使用して移行中にデータを変換できます。コードエディタに処理文を入力します。詳細については、「データ移行またはデータ同期タスクでの ETL の設定」および「ETL とは?」をご参照ください。
転送および逆再生タスクのハートビートテーブルに対する SQL 操作の削除有無はい:DTS はソースに対してハートビート SQL 操作を書き込みません。DTS インスタンスに遅延値が表示される場合があります。いいえ:DTS はソースに対してハートビート SQL を書き込みます。物理バックアップやクローンなどの機能に影響を与える可能性があります。

ステップ 6:事前チェックの実行

次へ:タスク設定の保存と事前チェック をクリックします。

DTS は移行開始前に事前チェックを実行します。事前チェックに合格した場合にのみ、タスクは進行します。

事前チェックが失敗した場合、またはアラートを返した場合:

  • 失敗した項目:失敗した項目の横にある 詳細の表示 をクリックし、問題を解決した後、再事前チェック をクリックします。

  • 無視できない警告項目詳細の表示 をクリックし、問題を解決した後、再び事前チェックを実行します。

  • 無視できる警告項目警告詳細の確認無視OK をクリックし、その後 再事前チェック をクリックします。警告を無視すると、データの不整合が発生する可能性があります。

ステップ 7:インスタンスの購入および移行の開始

  1. 成功率100% に達するまで待機し、次へ:インスタンスの購入 をクリックします。

  2. データ移行インスタンス用の [インスタンスクラス] を選択します。インスタンスクラスは移行速度を決定します。詳細については、「データ移行インスタンスの仕様」をご参照ください。

  3. Data Transmission Service(従量課金)サービス利用規約 をお読みになり、同意してください。

  4. 購入して開始 をクリックします。

タスク一覧で移行の進捗状況を監視できます。

ワークロードを宛先への切り替え

警告

これは移行における最もリスクの高いフェーズです。DTS タスクは失敗後、最大 7 日間自動的に再開されます。切り替え後にタスクを停止またはリリースしなかった場合、再開されたタスクによって、宛先のデータがソースのデータで上書きされる可能性があります。

ワークロードを安全に切り替えるには、以下の手順を順に実行してください。

  1. 増分移行の遅延が 0 に達し、安定するまで待ちます。これにより、宛先がソースと同期していることが確認されます。

  2. ソースデータベースへのすべての書き込みトラフィックを停止します。

  3. 再度、移行遅延が 0 になるまで待ち、残りの変更がすべてレプリケートされたことを確認します。

  4. アプリケーションの接続文字列を、宛先インスタンスを指すように更新します。

  5. DTS の移行タスクを停止またはリリースします。あるいは、宛先で REVOKE を実行して、DTS の書き込み権限を削除してください。

次のステップ