このトピックでは、data Transmission Service (DTS) を使用して、異なるAlibaba CloudアカウントのRDSインスタンス間でデータを移行する方法について説明します。
前提条件
ターゲットインスタンスの使用可能なストレージスペースが、ソースインスタンスのデータの合計サイズよりも大きいこと。
課金ルール
移行タイプ | タスク設定料金 | インターネットトラフィック料金 |
スキーマ移行とフルデータ移行 | 無料です。 | インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。 |
増分データ移行 | 有料。 詳細については、「課金の概要」をご参照ください。 |
データベースアカウントに必要な権限
インスタンス | スキーマ移行 | 完全なデータ移行 | 増分データ移行 |
移行元の RDS インスタンス | 読み取りおよび書き込み権限 | 読み取りおよび書き込み権限 | 読み取りおよび書き込み権限 |
宛先RDSインスタンス | 読み取りおよび書き込み権限 | 読み取りおよび書き込み権限 | 読み取りおよび書き込み権限 |
始める前に
ソースインスタンスを所有するAlibaba Cloudアカウント (アカウントA) を使用して、Resource Access Management (RAM) コンソールにログインします。 移行先インスタンス (アカウントB) を所有するAlibaba Cloudアカウントを信頼できるアカウントとして指定します。 次に、DTSを使用してアカウントBにアカウントAのクラウドリソースへのアクセスを許可します。 詳細については、「クロスアカウントDTSタスクのRAM権限の設定」をご参照ください。
手順
- 最初に 移行先RDSインスタンスを所有するAlibaba Cloudアカウントを使用したDTSコンソール。
左側のナビゲーションウィンドウで、データ移行 をクリックします。
[移行タスク] ページの上部で、RDSインスタンスが存在するリージョンを選択します。
ページの右上隅にある [移行タスクの作成] をクリックします。
- [ソースデータベース] セクションで、インスタンスタイプを [RDSインスタンス] に設定し、[RDSインスタンスID] フィールドの横にある [その他のApsaraスタックアカウントのRDSインスタンス] をクリックします。
- ソースデータベースとターゲットデータベースを設定します。
パラメーター 説明 タスク名 タスク名は自動生成されます。 タスクを識別するために、有益な名前を指定することを推奨します。 一意のタスク名を指定する必要はありません。 ソースデータベース - インスタンスタイプ: [RDS インスタンス] を選択します。 説明 インスタンスタイプとしてRDSインスタンスを選択した場合は、この手順をスキップできます。
- インスタンスリージョン:ソース RDS インスタンスが配置されているリージョンを選択します。 説明 ソースRDSインスタンスとターゲットRDSインスタンスに異なるリージョンを選択できます。
- RDSインスタンスのApsara StackテナントアカウントID: ソースインスタンスを所有するAlibaba CloudアカウントのIDを入力します。 説明 ソースインスタンスを所有するAlibaba CloudアカウントのIDを取得するには、このアカウントを使用してアカウント管理コンソールにログインする必要があります。 [セキュリティ設定] ページにアカウントIDが表示されます。
- ロール名: ソースインスタンスを所有するAlibaba Cloudアカウントに設定されたロール名を入力します。 詳細については、「クロスアカウントDTSタスクのRAM権限の設定」をご参照ください。
- RDSインスタンスID: ソースRDSインスタンスのIDを選択します。 説明 RDSインスタンスIDを選択したときにアラートメッセージが表示された場合は、プロンプトに従ってパラメーター値を変更します。 詳細は、「よくある質問」をご参照ください。
- データベースアカウント: ソースRDSインスタンスのデータベースアカウントを入力します。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
- データベースパスワード: データベースアカウントのパスワードを入力します。
ターゲットデータベース - インスタンスタイプ: [RDS インスタンス] を選択します。 説明 ソースRDSインスタンスとターゲットRDSインスタンスに異なるリージョンを選択できます。
- インスタンスリージョン: ターゲットRDSインスタンスが存在するリージョンを選択します。
- RDSインスタンスID: ターゲットRDSインスタンスのIDを選択します。
- データベースアカウント: ターゲットRDSインスタンスのデータベースアカウントを入力します。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
- データベースパスワード: データベースアカウントのパスワードを入力します。
- 暗号化: [非暗号化] または [SSL暗号化] を選択します。 この例では、[非暗号化] を選択します。 説明 SSL暗号化を選択する場合は、データ移行タスクを設定する前に、RDSインスタンスのSSL暗号化を有効にする必要があります。 詳細については、「ApsaraDB RDS For MySQLインスタンスのSSL暗号化の設定」をご参照ください。
- インスタンスタイプ: [RDS インスタンス] を選択します。
- ページの右下隅にある [ホワイトリストの設定] および [次へ] をクリックします。 警告
DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。
移行するオブジェクトと移行タイプを選択します。
パラメータまたは設定
説明
移行タイプの選択
フルデータ移行のみを実行するには、[スキーマ移行] と [フルデータ移行] を選択します。
データ移行中のサービスの継続性を確保するには、[スキーマ移行] 、[フルデータ移行] 、および [増分データ移行] を選択します。
説明増分データ移行が選択されていない場合、データ移行中にソースデータベースにデータを書き込まないでください。 これにより、ソースデータベースとターゲットデータベース間のデータの整合性が確保されます。
移行するオブジェクトの選択
[使用可能] セクションから1つ以上のオブジェクトを選択し、
アイコンをクリックして、オブジェクトを [選択済み] セクションに追加します。
説明移行するオブジェクトとして、列、テーブル、またはデータベースを選択できます。 移行するオブジェクトとしてテーブルまたは列を選択した場合、DTSは、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトを移行先データベースに移行しません。
既定では、オブジェクトがターゲットデータベースに移行された後、オブジェクトの名前は変更されません。 オブジェクト名マッピング機能を使用して、移行先データベースに移行するオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの移行に失敗する可能性があります。
オブジェクトの名前を変更するかどうかを指定する
オブジェクト名マッピング機能を使用して、移行先インスタンスに移行されるオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ時間範囲の指定
デフォルトでは、DTSがソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTSは次の12時間以内に再試行します。 業務要件に基づいて再試行時間範囲を指定できます。 指定された時間範囲内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。
説明DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。
DMSがソーステーブルに対してオンラインDDL操作を実行するときに、一時テーブルをターゲットデータベースにコピーするかどうかを指定します。
DMSを使用してソースデータベースでオンラインDDL操作を実行する場合、オンラインDDL操作によって生成された一時テーブルを移行するかどうかを指定できます。
はい: DTSは、オンラインDDL操作によって生成された一時テーブルのデータを移行します。
説明オンラインDDL操作で大量のデータが生成される場合、データ移行タスクにレイテンシが発生する可能性があります。
No: DTSは、オンラインDDL操作によって生成された一時テーブルのデータを移行しません。 移行元データベースの元のDDLデータのみが移行されます。
説明[いいえ] を選択すると、ターゲットデータベースのテーブルがロックされる可能性があります。
[事前チェック] をクリックします。
説明移行タスクが開始される前にプリチェックが実行されます。 移行タスクは、事前チェックが成功した後にのみ開始されます。
事前チェックが失敗した場合は、失敗した各チェック項目の横にある
アイコンをクリックして、関連する詳細を表示します。 指示に従って問題を修正し、事前チェックを再度実行します。
[次へ] をクリックします。
[設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを設定します。 次に、[データ送信サービス (従量課金) サービス規約] を読み、選択します。
[今すぐ購入してスタート] をクリックして、移行タスクを開始します。
フルデータ移行
フルデータ移行タスクを手動で停止しないでください。 フルデータ移行タスクを手動で停止すると、RDSインスタンスに移行されたデータが不完全になる可能性があります。 データ移行タスクが自動的に停止するまで待つことができます。
増分データ移行
増分データ移行タスクは自動的に停止しません。 タスクを手動で停止する必要があります。
説明増分データ移行タスクを適切な時点で手動で停止することを推奨します。 たとえば、オフピーク時やワークロードをApsaraDB RDS For MySQLインスタンスに切り替える前にタスクを停止できます。
増分データ移行とデータ移行タスクが遅延しませんがデータ移行タスクのプログレスバーに表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。
増分データ移行のステータスが [データ移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。
よくある質問
ソースデータベースのRDSインスタンスIDパラメーターを設定したときにアラートメッセージが表示された場合は、次の表の説明に従って問題を解決できます。
アラートメッセージ | 解決策 |
![]() | ソースインスタンスを所有するAlibaba CloudアカウントのIDとアカウントに設定されたロール名が有効かどうかを確認します。 説明 ソースインスタンスを所有するAlibaba CloudアカウントのIDを取得するには、このアカウントを使用してアカウント管理コンソールにログインする必要があります。 [セキュリティ設定] ページにアカウントIDが表示されます。 |
![]() | 次の手順を実行したことを確認します。 ソースインスタンスを所有するAlibaba Cloudアカウント (アカウントA) を使用して、RAMコンソールにログインします。 2. 移行先インスタンス (アカウントB) を所有するAlibaba Cloudアカウントを信頼できるアカウントとして指定します。 3. DTSを使用して、アカウントBにアカウントAのクラウドリソースへのアクセスを許可します。 詳細については、「クロスアカウントDTSタスクのRAM権限の設定」をご参照ください。 |