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

Data Transmission Service:異なる Alibaba Cloud アカウントの RDS インスタンス間でデータを移行する

最終更新日:Feb 27, 2025

Data Transmission Service (DTS) は、他の Alibaba Cloud アカウントの RDS インスタンスから現在の Alibaba Cloud アカウントの RDS インスタンスへのデータ移行をサポートしています。このトピックでは、宛先 RDS インスタンスが属する Alibaba Cloud アカウント(プライマリアカウント)を使用してコンソールにログインし、他の Alibaba Cloud アカウントの RDS インスタンスからデータを移行する方法について説明します。

前提条件

  • ソースと宛先の両方の RDS インスタンスに関連付けられている Alibaba Cloud アカウント(プライマリアカウント)の ID を取得できます。詳細については、「準備」をご参照ください。

  • RDS インスタンスを所有する Alibaba Cloud アカウントで、RAM ロールの作成、特定の権限の割り当て、信頼ポリシーの更新などの承認タスクを実行できます。詳細については、「準備」をご参照ください。

  • 作成された宛先 RDS インスタンスのストレージ容量は、ソース RDS インスタンスの使用済みストレージ容量よりも大きくなければなりません。

    説明

    ソースと宛先のデータベースインスタンスでサポートされているバージョンについては、「移行の概要」をご参照ください。

考慮事項

詳細については、以下のようなアカウント間ではないドキュメントをご参照ください。

課金ルール

移行タイプ

タスク構成料金

インターネットトラフィック料金

スキーマ移行とフルデータ移行

無料。

インターネット経由で Alibaba Cloud からデータを移行する場合にのみ課金されます。詳細については、「課金概要」をご参照ください。

増分データ移行

課金されます。詳細については、「課金概要」をご参照ください。

移行アカウントに必要な権限

RDS MySQL インスタンス間の移行

データベースタイプ

スキーマ移行

フルデータ移行

増分データ移行

ソース ApsaraDB RDS for MySQL インスタンス

SELECT 権限

SELECT 権限

読み取りおよび書き込み権限

宛先 ApsaraDB RDS for MySQL インスタンス

読み取りおよび書き込み権限

読み取りおよび書き込み権限

読み取りおよび書き込み権限

RDS MySQL インスタンスのデータベースアカウントの作成と権限付与の手順については、「アカウントを作成する」および「アカウント権限を変更する」をご参照ください。

説明
  • 使用するソースデータベースアカウントが ApsaraDB RDS for MySQL コンソールで作成および権限付与されていない場合は、アカウントに REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、および SELECT 権限があることを確認してください。

  • ソースデータベースのアカウント情報を移行する場合は、DTS タスクの構成時に使用するソースデータベースアカウントと宛先データベースアカウントに追加の権限が必要です。詳細については、「データベースアカウントを移行する」をご参照ください。

RDS MariaDB インスタンス間の移行

データベース

スキーマ移行

フルデータ移行

増分データ移行

ソース ApsaraDB RDS for MariaDB インスタンス

SELECT 権限

SELECT 権限

読み取りおよび書き込み権限

宛先 ApsaraDB RDS for MariaDB インスタンス

読み取りおよび書き込み権限

読み取りおよび書き込み権限

読み取りおよび書き込み権限

ApsaraDB RDS for MariaDB インスタンスでデータベースアカウントを作成し、データベースアカウントに権限を付与する方法については、「アカウントを作成する」および「アカウント権限を変更またはリセットする」をご参照ください。

RDS PostgreSQL インスタンス間の移行

データベースタイプ

スキーマ移行

フルデータ移行

増分データ移行

ソース ApsaraDB RDS for PostgreSQL インスタンス

pg_catalog スキーマに対する USAGE 権限

移行対象のオブジェクトに対する SELECT 権限

データベースの所有者である特権アカウントの権限

説明

ソース ApsaraDB RDS for PostgreSQL インスタンスで PostgreSQL 9.4 が実行されており、DML 操作のみを移行する場合は、データベースアカウントに REPLICATION 権限のみが必要です。

宛先 ApsaraDB RDS for PostgreSQL インスタンス

移行対象のオブジェクトに対する CREATE および USAGE 権限

スキーマ所有者の権限

RDS PostgreSQL インスタンスのデータベースアカウントの作成および権限付与の方法については、「アカウントを作成する」および「データベースを作成する」ドキュメントをご参照ください。

RDS SQL Server インスタンス間の移行

データベース

スキーマ移行

完全移行

増分移行

ソース RDS SQL Server インスタンス

SELECT 権限

SELECT 権限

オブジェクト所有者の権限

宛先 RDS SQL Server インスタンス

アクセス制御リスト

アクセス制御リスト

アクセス制御リスト

RDS SQL Server インスタンスでデータベースアカウントを作成し、承認するメソッドについては、標準アカウントと特権アカウントの作成方法 および アカウント権限の変更方法 をご覧ください。

手順

準備

データベースインスタンスに関連付けられた Alibaba Cloud アカウントの RAM 認証を構成します。詳細については、「アカウント間タスクの RAM 認証を構成する方法」をご参照ください。

アカウント間の移行インスタンスを構成する

説明

この例では、アカウント間のソース RDS MySQL インスタンスを使用して、アカウント間の移行インスタンスを構成する方法を説明します。

  1. 宛先 RDS インスタンスに関連付けられている Alibaba Cloud アカウント(プライマリアカウント)を使用して、移行タスクリストページにアクセスします。

    DTS コンソール

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

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

    3. ページの左上隅で、データ移行インスタンスが存在するリージョンを選択します。

    DMS コンソール

    説明

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

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

    2. 上部のナビゲーションバーで、ポインタを [データ開発] > [DTS (DTS)] > [データ移行] に移動します。

    3. [データ移行タスク] の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク構成ページに移動します。

  3. ソースデータベースと宛先データベースを構成します。次の表にパラメータを示します。

    カテゴリ

    構成

    説明

    なし

    タスク名

    DTS タスクの名前。DTS はタスク名を自動的に生成します。タスクを簡単に識別できる分かりやすい名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    ソースデータベース

    既存の接続情報の選択

    使用するインスタンス。ビジネス要件に基づいて既存のインスタンスを使用するかどうかを選択できます。

    • 既存のインスタンスを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のインスタンスを使用しない場合は、以下のデータベース情報を構成する必要があります。

    説明

    データベースタイプ

    MySQL を選択します。

    アクセス方法

    クラウドインスタンス を選択します。

    インスタンスリージョン

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

    説明

    ソース RDS インスタンスと宛先 RDS インスタンスに異なるリージョンを選択できます。

    [alibaba Cloud アカウント間]

    アカウント間 を選択します。

    [alibaba Cloud アカウント間]

    ソース RDS インスタンスが属する Alibaba Cloud アカウント(プライマリアカウント)の ID を入力します。

    [alibaba Cloud アカウントのロール名]

    ソース RDS インスタンスが属する Alibaba Cloud アカウント(プライマリアカウント)を使用して作成された RAM ロールの名前を入力します(例: ram-for-dts)。

    説明

    [RDS インスタンス ID]

    ソース RDS インスタンスのインスタンス ID を選択します。

    説明

    RDS インスタンス ID を選択したときにアラートメッセージが表示された場合は、メッセージに従ってパラメータ値を変更します。一般的なアラートメッセージの詳細については、「一般的なエラー」をご参照ください。

    データベースアカウント

    ソース MySQL データベースのアカウントを入力します。必要な権限の詳細については、「データベースアカウントの権限」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用するパスワード。

    [接続方法]

    必要に応じて、暗号化されていない接続 または SSL 暗号化接続 を選択します。この例では、暗号化されていない接続 が選択されています。

    説明

    SSL 暗号化接続 を選択した場合は、事前に RDS インスタンスの SSL 暗号化機能を有効にする必要があります。詳細については、「SSL 暗号化を有効にする」をご参照ください。

    宛先データベース

    既存の接続情報の選択

    使用するインスタンス。ビジネス要件に基づいて既存のインスタンスを使用するかどうかを選択できます。

    • 既存のインスタンスを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のインスタンスを使用しない場合は、以下のデータベース情報を構成する必要があります。

    説明

    データベースタイプ

    MySQL を選択します。

    アクセス方法

    クラウドインスタンス を選択します。

    インスタンスリージョン

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

    説明

    ソース RDS インスタンスと宛先 RDS インスタンスに異なるリージョンを選択できます。

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

    この例では、× が選択されています。

    [RDS インスタンス ID]

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

    データベースアカウント

    宛先 MySQL データベースのアカウントを入力します。必要な権限の詳細については、「データベースアカウントの権限」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用するパスワード。

    [接続方法]

    必要に応じて、暗号化されていない接続 または SSL 暗号化接続 を選択します。この例では、暗号化されていない接続 が選択されています。

    説明

    SSL 暗号化接続 を選択した場合は、事前に RDS インスタンスの SSL 暗号化機能を有効にする必要があります。詳細については、「SSL 暗号化を有効にする」をご参照ください。

  4. ページの下部にある [接続テストと続行] をクリックします。

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

    • ソースデータベースまたは宛先データベースが自己管理データベースであり、その アクセス方法Alibaba Cloud インスタンス に設定されていない場合は、DTS サーバーの CIDR ブロック ダイアログボックスの 接続テスト をクリックします。

  5. 移行するオブジェクトを構成します。

    1. オブジェクト設定 ページで、移行するオブジェクトを構成します。

      構成

      説明

      移行タイプ

      • フルデータ移行のみを実行するには、スキーマ移行フルデータ移行 を選択します。

      • データ移行中のサービス継続性を確保するには、スキーマ移行フルデータ移行、および 増分データ移行 を選択します。

      説明
      • スキーマ移行 を選択しない場合は、宛先データベースにデータを受信するためのデータベースとテーブルが作成され、選択済みオブジェクト でオブジェクト名マッピング機能が有効になっていることを確認してください。

      • 増分データ移行 を選択しない場合は、データ移行中にソースデータベースにデータを書き込まないことをお勧めします。これにより、ソースデータベースと宛先データベース間のデータ整合性が確保されます。

      移行元データベースのトリガーを移行する方法

      要件に合ったトリガーの移行方法を選択します。移行するオブジェクトにトリガーが含まれていない場合は、このパラメータを構成する必要はありません。詳細については、「トリガーの同期または移行を構成する方法」をご参照ください。

      説明

      移行タイプスキーマ移行、および 増分データ移行 を選択した場合にのみ、このパラメータを構成できます。

      移行評価の有効化

      インデックスの長さ、ストアドプロシージャ、依存テーブルなど、ソースデータベースと宛先データベースの構造が要件を満たしているかどうかを評価します。実際のニーズに応じて、 または × を選択できます。

      説明
      • このパラメータは、移行タイプスキーマ移行 を選択した場合にのみ構成できます。

      • を選択すると、事前チェック時間が長くなる場合があります。事前チェックフェーズで 評価結果 を表示できます。評価結果は事前チェック結果に影響しません。

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

      • エラーの事前チェックと報告: 宛先データベースにソースデータベースのテーブルと同じ名前を使用するテーブルが含まれているかどうかを確認します。ソースデータベースと宛先データベースに同じテーブル名のテーブルが含まれていない場合、事前チェックは合格です。それ以外の場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。

        説明

        ソースデータベースと宛先データベースに同じ名前のテーブルが含まれており、宛先データベースのテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、宛先データベースに移行されるテーブルの名前を変更できます。詳細については、「オブジェクト名をマッピングする」をご参照ください。

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

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスが以下の潜在的なリスクにさらされる可能性があります。

        • ソースデータベースと宛先データベースのスキーマが同じで、データレコードのプライマリキーが宛先データベースの既存のデータレコードと同じである場合、以下のシナリオが発生する可能性があります。

          • フルデータ移行中、DTS はデータレコードを宛先データベースに移行しません。宛先データベースの既存のデータレコードは保持されます。

          • 増分データ移行中、DTS はデータレコードを宛先データベースに移行します。宛先データベースの既存のデータレコードは上書きされます。

        • ソースデータベースと宛先データベースのスキーマが異なる場合、特定の列のみが移行されるか、データ移行タスクが失敗します。注意して進めてください。

      イベントを移行するかどうか

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

      宛先インスタンスのデータベース名、テーブル名、および列名の大文字小文字。デフォルトでは、DTS デフォルトポリシー が選択されています。他のオプションを選択して、オブジェクト名の大文字小文字がソースデータベースまたは宛先データベースと一致するようにすることができます。詳細については、「宛先インスタンスのオブジェクト名の大文字小文字を指定する」をご参照ください。

      ソースオブジェクト

      ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。向右小箭头 アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。

      説明

      移行対象のオブジェクトとして、列、テーブル、またはデータベースを選択できます。移行対象のオブジェクトとしてテーブルまたは列を選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトを宛先データベースに移行しません。

      選択中のオブジェクト

      • 宛先インスタンスで移行するオブジェクトの名前を指定するか、宛先インスタンスでデータを受信するオブジェクトを指定するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名をマッピングする」をご参照ください。

      • 移行用に選択された 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、image アイコンをクリックして、ソースオブジェクト セクションにオブジェクトを移動します。

      説明
      • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの移行が失敗する可能性があります。

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

      • 増分移行の SQL 操作を選択するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、移行する SQL 操作を選択します。

    2. 次へ:詳細設定 をクリックして、詳細設定を構成します。

      構成

      説明

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

      デフォルトでは、専用クラスタを指定しない場合、DTS はデータ移行タスクを共有クラスタにスケジュールします。データ移行タスクの安定性を向上させるには、専用クラスタを購入します。詳細については、「DTS 専用クラスタとは」をご参照ください。

      移行元テーブルで生成された Online DDL ツールの一時テーブルを移行先データベースにコピーします。

      DMS または gh-ost ツールを使用してソースデータベースでオンライン DDL 操作を実行する場合、オンライン DDL 操作によって生成された一時テーブルのデータを移行するかどうかを指定できます。有効な値:

      重要

      pt-online-schema-change などのツールを使用して、ソースデータベースでオンライン DDL 操作を実行することはできません。そうしないと、DTS タスクは失敗します。

      • はい: DTS はオンライン DDL 操作によって生成された一時テーブルのデータを移行します。

        説明

        オンライン DDL 操作によって大量のデータが生成される場合、データ移行タスクに遅延が発生する可能性があります。

      • いいえ、DMS オンライン DDL に適応: DTS はオンライン DDL 操作によって生成された一時テーブルのデータを移行しません。DMS を使用して実行される元の DDL 操作のみが移行されます。

        説明

        このオプションを選択すると、宛先データベースのテーブルがロックされる可能性があります。

      • いいえ、gh-ost に適応: DTS はオンライン DDL 操作によって生成された一時テーブルのデータを移行しません。gh-ost ツールを使用して実行される元の DDL 操作のみが移行されます。デフォルトまたはカスタムの正規表現を使用して、gh-ost ツールのシャドウテーブルと不要なテーブルを除外できます。

        説明

        このオプションを選択すると、宛先データベースのテーブルがロックされる可能性があります。

      アカウントを移行

      要件に応じて、ソースデータベースからアカウント情報を移行することを選択します。 を選択した場合は、移行するアカウントを選択し、その権限を確認する必要もあります。

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

      接続失敗時の再試行時間の範囲。データ移行タスクの開始後にソースデータベースまたは宛先データベースへの接続に失敗した場合、DTS は再試行時間の範囲内で直ちに接続を再試行します。有効な値: 10 ~ 1,440。単位: 分。デフォルト値: 720。パラメータを 30 より大きい値に設定することをお勧めします。指定された再試行時間の範囲内で DTS がソースデータベースと宛先データベースに再接続された場合、DTS はデータ移行タスクを再開します。それ以外の場合、データ移行タスクは失敗します。

      説明
      • 同じソースデータベースまたは宛先データベースを共有する複数のデータ移行タスクに異なる再試行時間の範囲を指定した場合、後で指定された値が優先されます。

      • DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいて再試行時間の範囲を指定することをお勧めします。また、ソースデータベースと宛先インスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。

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

      その他の問題の再試行時間の範囲。たとえば、データ移行タスクの開始後に DDL または DML 操作の実行に失敗した場合、DTS は再試行時間の範囲内で直ちに操作を再試行します。有効な値: 1 ~ 1440。単位: 分。デフォルト値: 10。パラメータを 10 より大きい値に設定することをお勧めします。指定された再試行時間の範囲内で失敗した操作が正常に実行された場合、DTS はデータ移行タスクを再開します。それ以外の場合、データ移行タスクは失敗します。

      重要

      <移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメータの値は、失敗した接続の再試行時間 パラメータの値よりも小さくなければなりません。

      完全移行率を制限するかどうか

      フルデータ移行のスロットリングを有効にするかどうかを指定します。フルデータ移行中、DTS はソースデータベースと宛先データベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、フルデータ移行のスロットリングを有効にすることができます。スロットリングを構成するには、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメータを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

      移行タイプ パラメータで 完全データ移行 を選択した場合にのみ、このパラメータを構成できます。

      増分移行率を制限するかどうか

      増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを構成するには、1 秒あたりの増分移行の行数 RPS および 1 秒あたりの増分移行データ量 (MB) BPS パラメータを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

      移行タイプ パラメータで 増分データ移行 を選択した場合にのみ、このパラメータを構成できます。

      順方向および逆方向タスクのハートビートテーブル sql を削除

      DTS インスタンスの実行中に、ハートビートテーブルの SQL 操作をソースデータベースに書き込むかどうかを指定します。有効な値:

      • はい: ハートビートテーブルの SQL 操作を書き込みません。この場合、DTS インスタンスの遅延が表示される場合があります。

      • いいえ: ハートビートテーブルの SQL 操作を書き込みます。この場合、ソースデータベースの物理バックアップやクローニングなどの機能が影響を受ける可能性があります。

      環境タグ

      実際のニーズに応じて、インスタンスを識別するための環境タグを選択できます。この例では、このパラメータを構成する必要はありません。

      ETL の設定

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

      監視アラート

      データ移行タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。有効な値:

      • いいえ: アラートを構成しません。

      • はい: アラートを構成します。この場合、アラートのしきい値と アラート通知設定 も構成する必要があります。詳細については、「監視とアラートの構成」トピックの DTS タスクの作成時に監視とアラートを構成する」セクションをご参照ください。

    3. [次のステップ: データ検証] をクリックして、データ検証タスクを構成します。

      データ検証機能の使用方法の詳細については、「データ検証タスクを構成する」をご参照ください。

  6. タスク設定を保存し、事前チェックを実行します。

    • DTS タスクを構成するために関連する API 操作を呼び出すときに指定するパラメータを表示するには、次:タスク設定の保存と事前チェック にポインタを移動し、OpenAPI パラメーターのプレビュー をクリックします。

    • パラメータを表示する必要がない場合、またはすでに表示している場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後でのみ、データ移行タスクを開始できます。

    • タスクが事前チェックに合格しない場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、事前チェックを再度実行します。

    • 事前チェック中に項目のアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして、問題をトラブルシューティングします。その後、事前チェックを再度実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。その後、[再チェック] をクリックして、事前チェックを再度実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

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

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

    2. [インスタンスの購入] ページで、データ移行インスタンスの [インスタンスクラス] パラメータを構成します。次の表にパラメータを示します。

      セクション

      パラメータ

      説明

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

      [リソースグループ]

      データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトのリソースグループ]。詳細については、「リソース管理とは」をご参照ください。

      インスタンスクラス

      DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。

    3. チェックボックスをオンにして、[data Transmission Service (従量課金制) サービス規約] を読んで同意します。

    4. [購入して開始] をクリックします。表示されるメッセージで、[OK] をクリックします。

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