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

Data Transmission Service:PolarDB-X 1.0 インスタンスから ApsaraDB RDS for MySQL インスタンスへのデータ移行

最終更新日:Mar 28, 2026

Data Transmission Service (DTS) を使用すると、ダウンタイムを最小限に抑えながら、PolarDB-X 1.0 インスタンスから ApsaraDB RDS for MySQL インスタンスへデータを移行できます。DTS はスキーマ移行、完全なデータ移行、および増分データ移行をサポートしているため、アプリケーションを移行中もオンラインのまま利用できます。

前提条件

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

  • ストレージタイプとして ApsaraDB RDS for MySQL を使用する PolarDB-X 1.0 ソースインスタンス(バージョン 5.2 以降)。PolarDB for MySQL はストレージタイプとして使用できません。PolarDB-X 1.0

  • ソースインスタンス内の全データサイズよりも大きな空きストレージ容量を持つ ApsaraDB RDS for MySQL 宛先インスタンス。

  • 必要な権限を持つデータベースアカウント。詳細については、「データベースアカウントに必要な権限」をご参照ください。

  • 増分データ移行の場合:ソースインスタンスでバイナリロギングが有効化されており、binlog_row_image パラメーターが full に設定されていること。移行対象のデータの文字セットは utf8mb3 であってはなりません。

課金

移行タイプインスタンス料金インターネットトラフィック料金
スキーマ移行、完全なデータ移行無料[アクセス方法]」が「[パブリック IP アドレス]」に設定されている場合に課金されます。詳細については、「課金概要」をご参照ください。
増分データ移行課金概要課金されます。詳細については、「」をご参照ください。

制限事項

ソースデータベースの要件

  • サーバーには十分なアウトバウンド帯域幅が必要です。帯域幅が低いと、移行速度が低下します。

  • テーブルには PRIMARY KEY または一意制約(UNIQUE constraint)が定義されており、すべてのフィールドが一意である必要があります。これらの制約がないテーブルでは、宛先に重複レコードが生成される可能性があります。

  • 移行中にテーブル名またはカラム名を変更する場合、単一のタスクでは最大 1,000 個のテーブルをサポートします。1,000 個を超えるテーブルを移行する場合は、複数のタスクにワークロードを分割するか、データベース全体を移行してください。

  • 移行中はソースを変更しないでください:インスタンスのアップグレードまたはダウングレード、頻繁に更新されるテーブルの移行、シャードキーの変更、DDL 操作の実行などはいずれも避けてください。これらの操作を行うと、移行タスクが失敗します。

  • 移行中に PolarDB-X 1.0 インスタンスのネットワークタイプを変更した場合は、移行タスクのネットワーク接続設定をそれに合わせて更新してください。

  • 完全なデータ移行のみの場合:移行中にソースへのデータ書き込みを行わないでください。完全移行中の書き込みは、データの不整合を引き起こします。

増分データ移行の場合、開始前に以下の設定を行ってください。

  • バイナリロギングが有効化されており、binlog_row_imagefull に設定されている必要があります。この設定がされていない場合、事前チェックは失敗します。

  • バイナリログの保持期間が最低要件を満たしている必要があります:DTS がバイナリログを読み取れない場合、タスクは失敗し、データの不整合や損失が発生する可能性があります。完全なデータ移行が完了した後は、保持期間を 24 時間以上に短縮できます。

    移行範囲最低保持期間
    増分データ移行のみ24 時間超
    完全なデータ移行 + 増分データ移行7 日以上

その他の制限事項

  • DTS はオンライン DDL 操作を移行しません。

  • DTS はスキーマ移行時に、ソースの外部キーを宛先に移行します。

  • データに 4 バイト文字(稀な文字や絵文字など)が含まれる場合、宛先テーブルは UTF8mb4 文字セットを使用する必要があります。スキーマ移行を利用する場合は、宛先の character_set_server パラメーターを UTF8mb4 に設定してください。

  • 宛先テーブル内で大文字・小文字のみが異なるカラム名を使用すると、予期しない結果が生じる可能性があります(MySQL のカラム名は大文字小文字を区別しないため)。

  • ソースで XA トランザクションを使用する場合、DTS は XA トランザクションの連続性に基づいて増分データの整合性を保証します。連続性が中断された場合(例:ディザスタリカバリ時)、未コミットの XA トランザクションが失われる可能性があります。

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

  • 完全なデータ移行中、同時 INSERT 操作によりテーブルの断片化が発生します。移行完了後、宛先の表領域サイズはソースよりも大きくなります。

  • DTS は失敗したタスクを最大 7 日間リトライします。ワークロードを宛先に切り替える前に、失敗したタスクを停止またはリリースするか、REVOKE を実行して DTS の宛先への書き込み権限を取り消してください。そうしないと、再開された失敗タスクが宛先のデータをソースのデータで上書きする可能性があります。

  • 移行が完了した後(タスクの ステータス完了 に変更された後)、ディスクへのデータ書き込みを確認するために、ANALYZE TABLE <table_name> を実行してください。一部の高可用性(HA)スイッチオーバーのシナリオでは、データがメモリ内にのみ存在し、失われる可能性があります。

  • DTS タスクが失敗した場合、DTS テクニカルサポートが 8 時間以内に復旧を試みます。復旧中、タスクが再起動され、そのパラメーターが変更される場合があります。ただし、データベースのパラメーターは変更されません。

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

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

操作タイプSQL ステートメント
DMLINSERT、UPDATE、DELETE

データベースアカウントに必要な権限

データベーススキーマ移行完全なデータ移行増分データ移行
PolarDB-X 1.0SELECTSELECTSELECT、REPLICATION SLAVE、REPLICATION CLIENT
ApsaraDB RDS for MySQL読み取りおよび書き込み権限読み取りおよび書き込み権限読み取りおよび書き込み権限

REPLICATION SLAVE および REPLICATION CLIENT は、増分データ移行にのみ必要です。これらの権限の付与手順については、「PolarDB-X のデータ同期ツール」をご参照ください。

アカウントの作成および権限の付与手順は以下のとおりです。

データ移行タスクの作成

全体のプロセスは以下の 4 段階で構成されます。

  1. データ移行ページに移動し、タスクを作成します。

  2. ソースおよび宛先データベースを構成し、接続性をテストします。

  3. 移行対象オブジェクトを選択し、移行オプションを構成します。

  4. 事前チェックを実行し、インスタンスを購入して移行を開始します。

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

DTS コンソール

  1. DTS コンソール にログインします。DTS コンソール

  2. 左側のナビゲーションウィンドウで、データ移行 をクリックします。

  3. 画面左上隅で、移行インスタンスが配置されているリージョンを選択します。

DMS コンソール

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

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

  2. 上部のナビゲーションバーで、Data + AI > DTS (DTS) > データ移行 の順に選択します。

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

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

  1. タスクの作成 をクリックします。

  2. 以下の表のパラメーターを使用して、ソースおよび宛先データベースを構成します。

セクションパラメーター説明
該当なしタスク名移行タスクの名前です。DTS が自動的に名前を生成しますが、識別しやすいように意味のある名前を指定することを推奨します。名前は一意である必要はありません。
ソースデータベース既存の接続を選択インスタンスがすでに DTS に登録済みの場合は、一覧から選択してください(DTS が残りのパラメーターを自動的に入力します)。それ以外の場合は、以下のパラメーターを構成してください。
データベースタイプPolarDB-X 1.0 を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョンソース PolarDB-X 1.0 インスタンスが配置されているリージョン。
Alibaba Cloud アカウント間でのデータ複製ソースおよび宛先インスタンスが同一の Alibaba Cloud アカウントにある場合は、いいえ を選択します。
インスタンス IDソース PolarDB-X 1.0 インスタンスの ID。
データベースアカウントソースインスタンスのデータベースアカウント。詳細については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。
宛先データベース既存の接続を選択インスタンスがすでに DTS に登録済みの場合は、一覧から選択してください。それ以外の場合は、以下のパラメーターを構成してください。
データベースタイプMySQL を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョン宛先 ApsaraDB RDS for MySQL インスタンスが配置されているリージョン。
Alibaba Cloud アカウント間でのデータ複製同一の Alibaba Cloud アカウントを使用する場合は、いいえ を選択します。
RDS インスタンス ID宛先 ApsaraDB RDS for MySQL インスタンスの ID。
データベースアカウント宛先インスタンスのデータベースアカウント。詳細については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。
接続方法暗号化なし または SSL 暗号化 を選択します。SSL 暗号化を利用する場合は、事前に ApsaraDB RDS for MySQL インスタンスで SSL 暗号化を有効化してください。「クラウド証明書を使用した SSL 暗号化の有効化」をご参照ください。
  1. 接続性のテストと続行 をクリックします。

DTS サーバーの CIDR ブロックが、ソースおよびターゲットデータベースのセキュリティ設定に追加されていることを確認してください。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

ステップ 3:移行対象オブジェクトの選択および移行オプションの構成

  1. オブジェクトの構成 ページで、以下のパラメーターを設定します。

パラメーター説明
移行タイプご要望に応じて移行タイプを選択します。・ スキーマ移行完全なデータ移行:スキーマおよび既存のすべてのデータを移行します。構成中はソースをアクティブなままにしておくことができますが、移行開始後は書き込みを行わないでください。・ スキーマ移行完全なデータ移行増分データ移行:既存のデータを移行した後、変更を継続的にレプリケートします。これにより、アプリケーションをダウンタイムを最小限に抑えながら実行できます。
説明

スキーマ移行 をスキップする場合は、開始前に宛先テーブルを手動で作成してください。増分データ移行 をスキップする場合は、移行中にソースへの書き込みを行わないでください。

競合するテーブルの処理モード- 事前チェックとエラーの報告: ソースと同じ名前のテーブルが送信先に存在する場合、事前チェックが失敗します。誤った上書きを防ぐために、このモードを使用してください。移行されるオブジェクトの名前を変更するには、「オブジェクト名マッピング」機能を使用します。<br>- エラーを無視して続行: 重複するテーブル名についての事前チェックをスキップします。完全なデータ移行中は、送信先の既存レコードが保持されます。増分移行中は、それらが上書きされます。このモードは注意して使用してください。ソースと送信先のスキーマの違いにより、部分的な移行やタスクの失敗が発生する可能性があります。
宛先インスタンスにおけるオブジェクト名の大文字小文字の処理送信先におけるデータベース名、テーブル名、および列名の大文字小文字を制御します。デフォルトは [DTS デフォルトポリシー] です。その他のオプションについては、「オブジェクト名の大文字小文字の指定」をご参照ください。
ソースオブジェクト移行対象のオブジェクトを選択し、右向き矢印アイコンをクリックして 選択済みオブジェクト に移動します。データベース全体ではなく、個別のテーブルを選択することを推奨します。データベース全体を選択した場合、DTS は CREATE TABLE および DROP TABLE 操作をレプリケートしません。
選択済みオブジェクト個々のオブジェクトの名前を変更するには、右クリックします。一括で名前を変更するには、一括編集 をクリックします。「オブジェクト名マッピング」をご参照ください。行をフィルターするには、オブジェクトを右クリックして WHERE 条件を指定します。「フィルター条件の指定」をご参照ください。各オブジェクトに対して特定の DML 操作を選択するには、右クリックして含める操作を選択します。
説明

オブジェクトの名前を変更すると、依存オブジェクトの移行が失敗する可能性があります。

  1. 次へ:高度な設定 をクリックし、以下のパラメーターを構成します。

パラメーター説明
タスクスケジューリング用専用クラスターデフォルトでは、DTS は共有クラスターを使用します。安定性の向上のために、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
接続失敗時のリトライ時間DTS がソースまたは宛先への接続に失敗した場合のリトライ時間です。有効値:10~1,440 分。デフォルト値:720 分。少なくとも 30 分に設定することを推奨します。複数のタスクが同一のソースまたは宛先を共有する場合、最も最近に設定された値が適用されます。リトライ中は、DTS インスタンスの料金が発生します。
その他の問題発生時のリトライ時間DDL または DML 操作が失敗した場合のリトライ時間です。有効値:1~1,440 分。デフォルト値:10 分。少なくとも 10 分に設定することを推奨します。この値は 接続失敗時のリトライ時間 よりも小さくする必要があります。
完全なデータ移行の負荷制御の有効化完全なデータ移行中のソースおよび宛先への負荷を制限します。有効化した場合、ソースデータベースへのクエリ数/秒(QPS)完全なデータ移行の RPS、および 完全なデータ移行のデータ移行速度(MB/秒) を構成します。完全なデータ移行 を選択した場合にのみ利用可能です。
増分データ移行の負荷制御の有効化増分データ移行中の負荷を制限します。有効化した場合、増分データ移行の RPS および 増分移行のデータ移行速度(MB/秒) を構成します。増分データ移行 を選択した場合にのみ利用可能です。
環境タグDTS インスタンスを環境(例:本番環境またはテスト環境)で識別するための任意のタグ。
ETL の構成抽出・変換・書き出し (ETL) 変換を適用するかどうか。[はい]アラート通知設定 を選択して、データ処理文を入力します。「データ移行タスクで ETL を設定する」をご参照ください。
モニタリングとアラートタスクの失敗または移行遅延が大きい場合にアラートを設定するかどうか。[はい] を選択し、しきい値と通知設定を構成します。詳細については、「モニタリングとアラートの設定」をご参照ください。

ステップ 4:事前チェックの実行および移行の開始

  1. 次へ:タスク設定の保存および事前チェック をクリックします。

    この構成の API パラメーターを表示するには、次へ:タスク設定の保存および事前チェック 上にカーソルを合わせ、進む前に OpenAPI パラメーターのプレビュー をクリックします。
  2. DTS が自動的に事前チェックを実行します。いずれかの項目が失敗した場合:

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

    • 無視可能な警告が表示された項目については、警告の詳細の確認 > 無視 > OK の順にクリックし、その後 再チェック をクリックします。警告を無視すると、データの不整合が発生する可能性があります。

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

  4. インスタンスの購入 ページで、以下のパラメーターを構成します。

セクションパラメーター説明
新しいインスタンスクラスリソースグループ移行インスタンスのリソースグループ。デフォルト値:デフォルトリソースグループResource Management とは
インスタンスクラスインスタンスクラスは移行速度を決定します。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
  1. Data Transmission Service(従量課金)サービス利用規約 を読み、同意した上で、購入および開始 > OK をクリックします。

移行の検証

データ移行 ページで進行状況を監視します。

  • 完全なデータ移行のみ:タスクは完了時に自動的に停止します。ステータス 列には 完了 と表示されます。

  • 増分データ移行:タスクは継続して実行され、自動的に停止しません。ステータス 列には 実行中 と表示されます。

タスクのステータスが 完了 に変更された後、宛先テーブルへのデータ書き込みを確認するために、以下のコマンドを実行します。

ANALYZE TABLE <table_name>;

アプリケーションのトラフィックを宛先データベースに切り替える前に、失敗した移行タスクを停止またはリリースするか、REVOKE を使用して DTS の宛先への書き込み権限を取り消してください。これにより、再開されたタスクによる移行済みデータの上書きを防止できます。

次のステップ