このトピックでは、data Transmission Service (DTS) を使用して、自己管理型Db2データベースからApsaraDB RDS for MySQLインスタンスにデータを移行する方法について説明します。 DTS はフルデータ移行と増分データ移行に対応しています。 自己管理型Db2データベースからデータを移行する場合、サポートされているすべての移行タイプを選択して、ビジネスの継続性を確保できます。
前提条件
Db2データベースのバージョンは9.7〜11.5です。
説明DTSは、バージョン7.3 7.4のDb2 for iデータベースからRDSインスタンスへのデータ移行をサポートしています。 このトピックで説明する手順に従って、Db2 for iデータベースからRDSインスタンスにデータを移行できます。
RDSインスタンスの使用可能なストレージが、Db2データベースのデータの合計サイズよりも大きいこと。
使用上の注意
DTSはデータ定義言語 (DDL) 操作を同期できません。
ソースデータベースの名前がApsaraDB RDSのデータベース命名規則に準拠していない場合、データ移行タスクを設定する前にRDSインスタンスにデータベースを作成する必要があります。
説明ApsaraDB RDSのデータベース命名規則とデータベースの作成方法の詳細については、 データベースの作成をご参照ください。
DTSは、完全データ移行中にソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 データベースのパフォーマンスが悪い場合、仕様が低い場合、またはデータ量が多い場合、データベースサービスが利用できなくなる可能性があります。 たとえば、ソースデータベースで多数の低速SQLクエリが実行されている場合、テーブルにプライマリキーがない場合、またはターゲットデータベースでデッドロックが発生する場合、DTSは大量の読み取りおよび書き込みリソースを占有します。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。 たとえば、ソースデータベースとターゲットデータベースのCPU使用率が30% 未満の場合にデータを移行できます。
データ移行タスクが失敗した場合、DTSは自動的にタスクを再開します。 ワークロードをターゲットインスタンスに切り替える前に、データ移行タスクを停止またはリリースする必要があります。 それ以外の場合、タスクの再開後、ソースデータベースのデータがターゲットインスタンスのデータを上書きします。
DTSは、Db2の変更データキャプチャ (CDC) レプリケーションテクノロジに基づいて、自己管理Db2データベースからRDSインスタンス上のターゲットデータベースに増分データを同期します。 しかし、CDC複製技術には独自の限界がある。 詳細については、「SQLレプリケーションの一般的なデータ制限」をご参照ください。
課金ルール
移行タイプ | タスク設定料金 | インターネットトラフィック料金 |
スキーマ移行とフルデータ移行 | 無料です。 | インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。 |
増分データ移行 | 有料。 詳細については、「課金の概要」をご参照ください。 |
移行タイプ
スキーマの移行
必要なオブジェクトのスキーマをターゲットインスタンスに移行します。 スキーマ移行でサポートされているオブジェクトタイプは、テーブル、インデックス、外部キーです。
フルデータ移行
DTSは、必要なオブジェクトの履歴データをDb2データベースからRDSインスタンスのターゲットデータベースに移行します。
増分データ移行
完全なデータ移行が完了すると、DTSはDb2データベースからRDSインスタンスのターゲットデータベースに増分データを同期します。 増分データ移行は、Db2データベースからデータを移行するときにビジネス継続性を確保するのに役立ちます。
データベースアカウントに必要な権限
データベース | スキーマ移行 | 完全なデータ移行 | 増分データ移行 |
Db2データベース | CONNECTおよびSELECT権限 | CONNECTおよびSELECT権限 | データベース管理者権限 (DBADM権限) |
RDS インスタンス | 読み書き権限 | 読み書き権限 | 読み書き権限 |
データベースアカウントを作成し、データベースアカウントに権限を付与する方法については、次のトピックを参照してください。
データ移行プロセス
オブジェクト間の依存関係によるデータ移行の失敗を防ぐために、DTSはDb2データベースのスキーマとデータを次の順序で移行します。
テーブルスキーマとインデックスを移行します。
完全なデータを移行します。
外部キーのスキーマを移行します。
増分データを移行します。
増分データ移行前の準備
増分データ移行タスクを設定する前に、Db2データベースのアーカイブログ機能を有効にします。 詳細については、以下をご参照ください。 logarchmeth1-プライマリログアーカイブメソッド設定パラメーターと logarchmeth2-セカンダリログアーカイブ方式の設定パラメータ
完全なデータのみを移行する場合は、この手順をスキップします。
手順
最初にDTSコンソールにログインします。
説明Data Management (DMS) コンソールにリダイレクトされている場合は、右下隅にあるアイコンをクリックして、以前のバージョンのDTSコンソールに移動します。
左側のナビゲーションウィンドウで、データ移行 をクリックします。
[移行タスク] ページの上部で、RDSインスタンスが存在するリージョンを選択します。
ページの右上隅にある [移行タスクの作成] をクリックします。
ソースデータベースとターゲットデータベースを設定します。
セクション
パラメーター
説明
N/A
タスク名
タスク名は自動生成されます。 タスクの識別に役立つ名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。
移行元データベース
インスタンスタイプ
ソースデータベースのタイプを選択します。 この例では、パブリックIPアドレスを持つユーザー作成データベースが選択されています。
説明他のインスタンスタイプを選択した場合、自己管理データベースのネットワーク環境をデプロイする必要があります。 詳細については、「準備の概要」をご参照ください。
インスタンスリージョン
データベースのタイプとして [パブリックIPアドレスを持つユーザー作成データベース] を選択した場合、[インスタンスリージョン] パラメーターを設定する必要はありません。
説明Db2データベースにホワイトリストが設定されている場合は、DTSサーバーのCIDRブロックをデータベースのホワイトリストに追加する必要があります。 インスタンスリージョンの横にあるDTSのIPアドレスセグメントの取得をクリックして、CIDRブロックを取得できます。
データベースエンジン
[DB2] を選択します。
Hostname or IP Address
Db2データベースへの接続に使用するエンドポイントを入力します。 この例では、パブリックIPアドレスが使用されます。
ポート番号
Db2データベースのサービスポート番号を入力します。 デフォルトのポート番号は、50000 です。
説明この例では、サービスポートはインターネット経由でアクセスできる必要があります。
データベース名
データを移行するデータベースの名前を入力します。
データベースアカウント
Db2データベースへの接続に使用するアカウントのユーザー名を入力します。 アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
Db2データベースへの接続に使用するアカウントのパスワードを入力します。
説明ソースデータベースパラメーターを設定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、設定されたパラメーターが有効かどうかを確認します。 設定されたパラメーターが有効な場合、[合格] メッセージが表示されます。 [失敗] メッセージが表示されたら、[失敗] の横にある [チェック] をクリックします。 チェック結果に基づいてソースデータベースのパラメーターを変更します。
ターゲットデータベース
インスタンスタイプ
ターゲットデータベースのタイプ。 RDS インスタンスを選択します。
インスタンスリージョン
RDSインスタンスが存在するリージョンを選択します。
RDS インスタンス ID
RDSインスタンスのIDを選択します。
データベースアカウント
RDSインスタンスのターゲットデータベースを管理する権限を持つアカウントのユーザー名を入力します。 アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
RDSインスタンスのターゲットデータベースを管理する権限があるアカウントのパスワードを入力します。
説明ターゲットデータベースパラメーターを設定した後、[データベースパスワード] の横にある [接続のテスト] をクリックし、設定されたパラメーターが有効かどうかを確認します。 設定されたパラメーターが有効な場合、[合格] メッセージが表示されます。 [失敗] メッセージが表示されたら、[失敗] の横にある [チェック] をクリックします。 チェック結果に基づいて、ターゲットデータベースのパラメーターを変更します。
暗号化
ビジネス要件に基づいて、[非暗号化] または [SSL暗号化] を選択します。 SSL暗号化を選択した場合、データ移行タスクを設定する前に、RDSインスタンスに対してSSL暗号化が有効になっていることを確認してください。 詳細については、「ApsaraDB RDS for MySQLインスタンスのSSL暗号化の設定」をご参照ください。
説明Encryptionパラメーターは、中国本土および中国 (香港) リージョンのリージョンでのみ使用できます。
ページの右下隅にある [ホワイトリストの設定] および [次へ] をクリックします。
警告DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。
移行オブジェクトと移行タイプを選択します。
パラメーター
説明
移行タイプ
フルデータのみを移行するには、[スキーマ移行] および [フルデータ移行] を選択します。
データ移行中のビジネスの継続性を確保するには、[スキーマ移行] 、[フルデータ移行] 、および [増分データ移行] を選択します。
説明増分データ移行が選択されていない場合、データ移行中にDb2データベースにデータを書き込まないことを推奨します。 これにより、データの一貫性を確保できます。
Available
[使用可能] セクションから1つ以上のオブジェクトを選択し、アイコンをクリックして、選択したオブジェクトを [選択済み] セクションに追加します。
説明列、テーブル、またはデータベースを選択できます。
デフォルトでは、オブジェクトがRDSインスタンスのターゲットデータベースに移行された後も、オブジェクトの名前はDb2データベースの名前と同じままです。 オブジェクト名マッピング機能を使用して、RDSインスタンスに移行されるオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの移行に失敗する可能性があります。
データベースとテーブルの名前変更
オブジェクト名マッピング機能を使用して、RDSインスタンスのターゲットデータベースに移行されるオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
失敗した接続の再試行時間
既定では、DTSが必要なデータベースへの接続に失敗した場合、DTSは次の720分以内に再試行します。 指定された時間範囲内にDTSがRDSインスタンスのソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。
説明DTSが必要なデータベースへの再接続を試みる時間範囲内で、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 RDSインスタンスのソースデータベースとターゲットデータベースがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。
[事前チェック] をクリックします。
説明移行タスクが開始される前にプリチェックが実行されます。 移行タスクは、事前チェックが成功した後にのみ開始されます。
事前チェックが失敗した場合は、失敗した各チェック項目の横にあるアイコンをクリックして、関連する詳細を表示します。 指示に従って問題を修正し、事前チェックを再度実行します。
[次へ] をクリックします。
[設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを設定します。 次に、[データ送信サービス (従量課金) サービス規約] を読み、選択します。
[今すぐ購入してスタート] をクリックして、移行タスクを開始します。
フルデータ移行
フルデータ移行タスクを手動で停止しないでください。 フルデータ移行タスクを手動で停止すると、RDSインスタンスに移行されたデータが不完全になる可能性があります。 データ移行タスクが自動的に停止するまで待つことができます。
増分データ移行
増分データ移行タスクは自動的に停止しません。 タスクを手動で停止する必要があります。
説明増分データ移行タスクを適切な時点で手動で停止することを推奨します。 たとえば、オフピーク時やワークロードをApsaraDB RDS For MySQLインスタンスに切り替える前にタスクを停止できます。
増分データ移行とデータ移行タスクが遅延しませんがデータ移行タスクのプログレスバーに表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。
増分データ移行のステータスが [データ移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。
ワークロードをRDSインスタンスに切り替えます。