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

Data Transmission Service:MaxComputeプロジェクトからApsaraDB RDS for MySQLインスタンスへのデータ移行

最終更新日:Jan 22, 2025

このトピックでは、data Transmission Service (DTS) を使用して、MaxComputeプロジェクトからApsaraDB RDS for MySQLインスタンスにデータを移行する方法について説明します。

前提条件

以下の操作が実行されます。

注意事項

  • DTSは、完全データ移行中にソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 データベースのパフォーマンスが悪い場合、仕様が低い場合、またはデータ量が多い場合、データベースサービスが利用できなくなる可能性があります。 たとえば、ソースデータベースで多数の低速SQLクエリが実行されている場合、テーブルにプライマリキーがない場合、またはターゲットデータベースでデッドロックが発生する場合、DTSは大量の読み取りおよび書き込みリソースを占有します。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。 たとえば、ソースデータベースとターゲットデータベースのCPU使用率が30% 未満の場合にデータを移行できます。

  • DTSは、ターゲットApsaraDB RDS for MySQLインスタンスにデータベースを自動的に作成します。 ただし、ソースデータベースの名前が無効な場合は、データ移行タスクを設定する前に、ターゲットインスタンスにデータベースを手動で作成する必要があります。

    説明

    ApsaraDB RDSの命名規則とデータベースの作成方法の詳細については、「アカウントとデータベースの作成」をご参照ください。

  • データの一貫性を確保するために、フルデータ移行中はソースMaxComputeプロジェクトにデータを書き込まないことを推奨します。

  • データ移行タスクが失敗した場合、DTSは自動的にタスクを再開します。 ワークロードをターゲットインスタンスに切り替える前に、データ移行タスクを停止またはリリースします。 それ以外の場合、タスクの再開後、ソースデータベースのデータがターゲットインスタンスのデータを上書きします。

  • MaxComputeはPRIMARY KEY制約をサポートしていません。 ネットワークエラーが発生した場合、DTSはデータ移行タスクを再試行します。 この場合、重複するデータレコードは、主キーを持たない宛先テーブルに移行され得る。

  • DTSは、MaxComputeプロジェクトからApsaraDB RDS for MySQLインスタンスに増分データを移行できません。

    説明

    データの一貫性を確保するために、データ移行中にソースMaxComputeプロジェクトにデータを書き込まないことを推奨します。

サポートされているターゲットデータベースタイプ

DTSを使用して、次のタイプのMySQLデータベースにデータを移行できます。

  • Elastic Compute Service (ECS) でホストされる自己管理型データベース

  • Express Connect、VPN Gateway、またはSmart Access Gatewayを介して接続された自己管理型データベース

  • database Gateway経由で接続された自己管理型データベース

  • MaxComputeプロジェクトと同じAlibaba Cloudアカウント、またはMaxComputeプロジェクトとは異なるAlibaba Cloudアカウントが所有するApsaraDB RDS for MySQLインスタンス

このトピックでは、ApsaraDB RDS for MySQLインスタンスを使用して、データ移行タスクを設定する方法を説明します。 手順に従って、他のタイプのMySQLデータベースのデータ移行タスクを設定することもできます。

説明

移行先データベースが自己管理型MySQLデータベースの場合、移行元データベースのネットワーク環境をデプロイする必要があります。 詳細については、「準備の概要」をご参照ください。

課金

移行タイプ

タスク設定料金

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

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

無料です。

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

移行タイプ

移行タイプ

説明

スキーマの移行

DTSは、必要なオブジェクトのスキーマをターゲットデータベースに移行します。 DTSは、ビュー、テーブル、およびデータベースのスキーマ移行をサポートします。

警告

このトピックでは、ソースデータベースとターゲットデータベースは異種データベースです。 DTSは、スキーマ移行後にソースデータベースとターゲットデータベースのスキーマが一貫していることを保証しません。 データ型変換がビジネスに与える影響を評価することを推奨します。 詳細については、「異種データベース間のデータ型マッピング」をご参照ください。

フルデータ移行

DTSは、必要なオブジェクトの履歴データをターゲットデータベースに移行します。

説明

完全データ移行中、同時INSERT操作により、ターゲットデータベースのテーブルが断片化されます。 完全データ移行が完了すると、移行先データベースの使用表領域のサイズが移行元データベースのサイズよりも大きくなります。

手順

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

    説明

    データ管理 (DMS) コンソールにリダイレクトされている場合は、にあるoldアイコンをクリックして、以前のバージョンのDTSコンソールに移動しimage

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

  3. [移行タスク] ページの上部で、移行先クラスターが存在するリージョンを選択します。

  4. ソースデータベースとターゲットデータベースを設定します。

    Configure the source and destination databases

    セクション

    パラメーター

    説明

    移行元データベース

    インスタンスタイプ

    [MaxCompute] を選択します。

    インスタンスリージョン

    ソースMaxComputeプロジェクトが存在するリージョン。

    プロジェクト

    MaxComputeプロジェクトの名前。 DataWorksコンソールの [ワークスペース] ページでプロジェクトを検索できます。 Workspaces page

    ターゲットデータベース

    インスタンスタイプ

    RDS インスタンスを選択します。

    インスタンスリージョン

    ターゲットApsaraDB RDS for MySQLインスタンスが存在するリージョン。

    RDS インスタンス ID

    ターゲットApsaraDB RDS for MySQLインスタンスのID。

    データベースアカウント

    ターゲットApsaraDB RDS for MySQLインスタンスのデータベースアカウント。 アカウントには、ターゲットデータベースに対する読み取りおよび書き込み権限が必要です。

    データベースパスワード

    データベースアカウントのパスワードを設定します。

    ターゲットデータベースパラメーターを指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、指定したパラメーターが有効かどうかを確認します。

    説明

    指定されたパラメーターが有効な場合、[合格] メッセージが表示されます。 [失敗] メッセージが表示された場合、[失敗] の横にある [確認] をクリックします。 チェック結果に基づいて、ターゲットデータベースのパラメーターを変更します。

    暗号化

    [暗号化なし] または[SSL 暗号化] を選択します。 SSL暗号化を選択する場合、データ移行タスクを設定する前に、ApsaraDB RDS for MySQLインスタンスのSSL暗号化を有効にする必要があります。 詳細については、次をご参照ください: クラウド証明書を使用してSSL暗号化を有効にします

  5. ページの右下隅にある [ホワイトリストと次への設定] をクリックします。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  6. ページの右下隅にある [次へ] をクリックします。 このステップでは、MaxComputeプロジェクトに対する権限が移行アカウントに付与されます。 次の図に例を示します。

    Grant permissions to an account

  7. 移行タイプと移行するオブジェクトを選択します。

    Select the migration types and the objects to be migrated

    設定

    説明

    移行タイプの選択

    [スキーマ移行] および [フルデータ移行] を選択します。

    説明

    DTSは、MaxComputeプロジェクトからApsaraDB RDS for MySQLインスタンスに増分データを移行できません。

    移行するオブジェクトを選択します。

    [ソースオブジェクト] セクションから1つ以上のオブジェクトを選択し、Rightwards arrowアイコンをクリックして [選択済みオブジェクト] セクションにオブジェクトを追加します。

    説明
    • 移行するオブジェクトとして、列、テーブル、またはデータベースを選択できます。

    • 既定では、オブジェクトがターゲットデータベースに移行された後、オブジェクトの名前は変更されません。 オブジェクト名マッピング機能を使用して、移行先データベースに移行するオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。

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

    ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ時間範囲の指定

    デフォルトでは、DTSがソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTSは次の12時間以内に再試行します。 業務要件に基づいて再試行時間範囲を指定できます。 指定された時間範囲内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。

    説明

    DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 ビジネスニーズに基づいて再試行時間範囲を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

  8. ページの右下隅にある [事前チェック] をクリックします。

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

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にあるInfo iconアイコンをクリックして詳細を表示できます。

      • 原因に基づいて問題をトラブルシューティングした後、再度事前チェックを実行できます。

      • 問題をトラブルシューティングする必要がない場合は、失敗した項目を無視して、再度事前チェックを実行できます。

  9. タスクが事前チェックに合格したら、[次へ] をクリックします。

  10. [設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを指定し、[データ送信サービス (従量課金) サービス規約] を選択します。

  11. [購入と開始] をクリックして、データ移行タスクを開始します。

    説明

    フルデータ移行中は、手動でタスクを停止しないことをお勧めします。 そうしないと、ターゲットデータベースに移行されたデータが不完全になる可能性があります。 フルデータ移行タスクが自動的に停止するまで待つことができます。

  12. ワークロードをApsaraDB RDS for MySQLインスタンスに切り替えます。

次のステップ

ソースMaxComputeプロジェクトのメンバーには読み取り権限があります。 ターゲットApsaraDB RDS for MySQLインスタンスのデータベースアカウントに読み取りおよび書き込み権限があります。 データベースのセキュリティを確保するには、データ移行の完了後に次の操作を実行します。 ソースMaxComputeプロジェクトのメンバーを削除するか、ロールを変更します。 2. ターゲットApsaraDB RDS for MySQLインスタンスのデータベースアカウントを削除します。 詳細については、「プロジェクトメンバーの追加とロールの設定」および「アカウントの削除」をご参照ください。