Data Transmission Service (DTS) を使用して、ApsaraDB RDS for MySQL インスタンスからセルフマネージド MySQL データベースへデータを移行できます。これにより、データ分析やビジネス機能のテストなどのシナリオで利用できます。
前提条件
-
ApsaraDB RDS for MySQL インスタンスから移行するテーブルには、プライマリキーまたは UNIQUE NOT NULL インデックスが必要です。
-
移行先のセルフマネージド MySQL データベースには、移行元の ApsaraDB RDS for MySQL インスタンスが使用しているストレージ容量より大きい空き容量が必要です。
-
移行先のセルフマネージド MySQL データベースのバージョンは、移行元の ApsaraDB RDS for MySQL インスタンスのバージョンと同じである必要があります。
注意事項
-
完全なデータ移行中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを消費するため、負荷が増加します。 ご利用のデータベースのパフォーマンスが低い、仕様が低い、またはワークロードが高い (たとえば、ソースデータベースに低速な SQL クエリやプライマリキーのないテーブルが多い、またはターゲットデータベースでデッドロックが発生するなど) 場合、負荷の増加によってデータベースに負荷がかかったり、サービスが中断されたりする可能性があります。 データ移行は、両方のデータベースの CPU 使用率が 30% 未満であるなど、オフピーク時に実行してください。
- ソーステーブルにプライマリキー、一意性制約、または一意性を保証するフィールドの組み合わせがない場合、DTS はターゲットデータベースに重複データを生成する可能性があります。
- 完全なデータ移行では、同時 INSERT 操作が使用されるため、テーブルの断片化が発生します。 移行後、ターゲットの表領域はソースよりも大きくなります。
- DTS は失敗したタスクを自動的に回復します。 ワークロードをターゲットに切り替える前に、移行タスクを停止またはリリースして、タスクが再開されてターゲットデータが上書きされるのを防いでください。
- 完全なデータ移行のレートを調整することはできません。
制限事項
- DTS は、テーブル、ビュー、トリガー、ストアドプロシージャ、およびストアドファンクションのスキーマ移行をサポートしています。 説明 スキーマ移行中、DTS はビュー、ストアドプロシージャ、または関数の
DEFINERをINVOKERに変更します。 - DTS はユーザー情報を移行しません。 ターゲットでビュー、ストアドプロシージャ、または関数を呼び出すには、呼び出し元に読み取りおよび書き込み権限を付与する必要があります。
移行タイプ
DTS はフルデータ移行と増分データ移行に対応しています。 詳細については、「用語」をご参照ください。
PolarDB for MySQLクラスター間でデータを移行する場合、サポートされているすべての移行タイプを選択して、サービスの継続性を確保できます。
課金
移行タイプ | タスク設定料金 | インターネットトラフィック料金 |
スキーマ移行とフルデータ移行 | 無料です。 | インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。 |
増分データ移行 | 有料。 詳細については、「課金の概要」をご参照ください。 |
増分データ移行中に同期できる SQL 操作
操作タイプ | SQL文 |
DML | INSERT、UPDATE、DELETE、および REPLACE |
DDL |
|
データベースアカウントの権限
|
データベース |
必要な権限 |
|
ApsaraDB RDS for MySQL |
移行対象オブジェクトに対する読み取り権限 |
|
セルフマネージド MySQL データベース |
宛先データベースへのオブジェクトの作成とデータの書き込みに必要な権限 |
データベースアカウントの作成と権限の付与については、以下のトピックをご参照ください。
-
ApsaraDB RDS for MySQL については、「アカウントの作成」および「アカウント権限の変更」をご参照ください。
-
セルフマネージド MySQL データベースについては、「セルフマネージド MySQL データベースのアカウント作成と binlog の設定」をご参照ください。
操作手順
にログインします。 DTSコンソール。
説明データ管理 (DMS) コンソールにリダイレクトされている場合は、にある
アイコンをクリックして、以前のバージョンのDTSコンソールに移動し
。左側のナビゲーションウィンドウで、[データ移行] をクリックします。
[移行タスク] ページの上部で、移行先クラスターが存在するリージョンを選択します。
ページの右上隅にある [移行タスクの作成] をクリックします。
-
移行元と移行先のデータベース接続情報を設定します。
カテゴリ
設定
説明
該当なし
タスク名
DTS は自動的にタスク名を生成します。識別しやすいように、わかりやすい名前を指定できます。タスク名は一意である必要はありません。
移行元データベース
インスタンスタイプ
[RDS インスタンス] を選択します。
インスタンスリージョン
移行元 RDS インスタンスのリージョンを選択します。
RDS インスタンス ID
移行元 RDS インスタンスを選択します。
データベースアカウント
移行元 RDS インスタンスのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを入力します。
説明ソースデータベース情報を入力した後、データベースのパスワード の横にある 接続テスト をクリックして情報を確認します。テストに成功すると、合格 メッセージが表示されます。失敗 メッセージが表示された場合は、失敗 の後に表示される チェック をクリックし、プロンプトに従って問題を修正します。
接続方法
必要に応じて非暗号化またはSSL 暗号化を選択します。SSL 暗号化を選択した場合は、まず RDS インスタンスで SSL 暗号化を有効にする必要があります。詳細については、「SSL 暗号化を設定する」をご参照ください。
説明暗号化 設定は、中国本土リージョンおよび中国 (Hong Kong) リージョンでのみ利用できます。
移行先データベース
インスタンスタイプ
データベースがデプロイされている場所に基づいてインスタンスタイプを選択します。この例では、[ECS インスタンス上の自己管理型データベース] が選択されています。
説明別のタイプのセルフマネージドデータベースを使用する場合は、追加の準備が必要です。詳細については、「準備の概要」をご参照ください。
インスタンスリージョン
移行先 ECS インスタンスのリージョンを選択します。
ECS インスタンス ID
セルフマネージド MySQL データベースがデプロイされている ECS インスタンスを選択します。
データベースタイプ
MySQL を選択します。
ポート
データベースサービスのポート番号を入力します。この例では、3306 と入力します。
データベースアカウント
セルフマネージド MySQL データベースのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを入力します。
説明移行先データベース情報を入力した後、データベースのパスワード の横にある 接続テスト をクリックして情報を検証します。情報が正しい場合は、合格 メッセージが表示されます。失敗 メッセージが表示された場合は、失敗 の横にある チェック をクリックし、プロンプトに基づいて問題を修正します。
接続方法
必要に応じて非暗号化またはSSL 暗号化を選択します。この例では非暗号化を使用します。
-
設定を完了したら、ページの右下隅にある[許可リストを設定して次へ]をクリックします。
移行元または移行先データベースが ApsaraDB RDS for MySQL や ApsaraDB for MongoDB などの Alibaba Cloud データベースインスタンスである場合、DTS は、対応するリージョンの DTS サーバーの IP アドレスを、そのデータベースインスタンスの許可リストに自動的に追加します。移行元または移行先データベースが ECS インスタンス上のセルフマネージドデータベースである場合、DTS は、対応するリージョンの DTS サーバーの IP アドレスを、その ECS インスタンスのセキュリティグループルールに自動的に追加します。また、セルフマネージドデータベースが ECS インスタンスからのアクセスを制限していないことを確認する必要があります。データベースが複数の ECS インスタンスにデプロイされているクラスターの場合、対応するリージョンの DTS サーバーの IP アドレスを、追加の各 ECS インスタンスのセキュリティグループルールに手動で追加する必要があります。移行元または移行先データベースがデータセンターまたは別のクラウド内のセルフマネージドデータベースである場合は、対応するリージョンの DTS サーバーの IP アドレスを手動で追加してアクセスを許可する必要があります。DTS サーバーの IP アドレスのリストについては、「DTS サーバーの IP アドレス」をご参照ください。
警告DTS サーバーのパブリック IP アドレスを追加すると、セキュリティリスクが生じる可能性があります。本製品を使用することにより、これらのリスクを認識し、受け入れたものとみなされます。強力なパスワード、ポートの制限、API 認証、定期的なネットワークセグメントのレビュー、または Express Connect、VPN Gateway、Smart Access Gateway を介したプライベート接続などの基本的なセキュリティ対策を実装してください。
移行タイプと移行対象オブジェクトを選択します。

パラメーター
説明
移行タイプ
完全移行のみを実行する必要がある場合は、スキーマ移行 と [全量データ移行] の両方を選択します。
最小限のダウンタイムで移行するには、スキーマ移行、[フルデータ移行]、および[増分データ移行]を選択します。
説明[増分データ移行] を選択しない場合は、データの整合性を確保するために、移行中にソースデータベースにデータを書き込まないでください。
移行対象オブジェクト
[移行オブジェクト] ボックスで、移行するオブジェクトをクリックし、
アイコンをクリックして選択中のオブジェクト ボックスに移動します。説明データベース、テーブル、列レベルで移行するオブジェクトを選択できます。
デフォルトでは、ターゲットデータベースの移行対象オブジェクトの名前は、ソースデータベースと同じです。ターゲットデータベースで移行対象オブジェクトの名前を変更する必要がある場合は、オブジェクト名のマッピング機能を使用します。詳細については、「オブジェクト名のマッピング」をご参照ください。
オブジェクト名のマッピング機能を使用すると、名前変更されたオブジェクトに依存する他のオブジェクトの移行が失敗する可能性があります。
マッピング名の変更
ターゲットインスタンスで移行されたオブジェクトの名前を変更するには、オブジェクト名のマッピングを使用します。詳細については、「オブジェクト名のマッピング」をご参照ください。
ソースまたはターゲットデータベース接続の再試行時間
DTS がソースデータベースまたはターゲットデータベースへの接続に失敗した場合、デフォルトで 720 分 (12 時間) 再試行します。再試行時間をカスタマイズできます。指定された時間内に DTS がデータベースに再接続すると、移行タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。
説明接続再試行期間中は DTS インスタンスに対して課金されます。ビジネスニーズに基づいて再試行時間をカスタマイズするか、ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。
ソーステーブルで DMS_ONLINE_DDL を実行する際に、一時テーブルをターゲットデータベースにレプリケートするかどうか
Data Management (DMS) を使用してオンライン DDL 変更を実行する場合、これらの変更によって生成される一時テーブルを移行するかどうかを選択します。
[○]:オンライン DDL 変更によって生成された一時テーブルのデータを移行します。
説明一時テーブルのデータ量が多い場合、移行タスクが遅延する可能性があります。
[×]:一時テーブルのデータを移行しません。ソースデータベースの元の DDL データのみが移行されます。
説明このオプションを選択すると、ターゲットデータベースでテーブルロックが発生する可能性があります。
ページの右下隅にある [事前チェック] をクリックします。
説明データ移行タスクを開始する前に、DTSは事前チェックを実行します。 データ移行タスクは、タスクが事前チェックに合格した後にのみ開始できます。
タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある
アイコンをクリックして詳細を表示できます。 原因に基づいて問題をトラブルシューティングし、事前チェックを再度実行できます。
問題をトラブルシューティングする必要がない場合は、失敗した項目を無視して、再度事前チェックを実行できます。
タスクが事前チェックに合格したら、[次へ] をクリックします。
[設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを指定し、[データ送信サービス (従量課金) サービス規約] を選択します。
[購入と開始] をクリックして、データ移行タスクを開始します。
スキーマ移行とフルデータ移行
フルデータ移行中は、手動でタスクを停止しないことをお勧めします。 そうしないと、ターゲットデータベースに移行されたデータが不完全になる可能性があります。 データ移行タスクが自動的に停止するまで待つことができます。
スキーマ移行、完全データ移行、および増分データ移行
増分データ移行タスクは自動的に停止しません。 タスクを手動で停止する必要があります。
重要データ移行タスクを手動で停止する適切な時期を選択することを推奨します。 たとえば、オフピーク時やワークロードを移行先クラスターに切り替える前にタスクを停止できます。
増分データ移行と移行タスクが遅延しませんが移行タスクのプログレスバーに表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。
増分データ移行のステータスが [移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。
