このトピックでは、DTS を使用してセルフマネージド Db2 データベースを ApsaraDB RDS for MySQL または インスタンスに移行する方法について説明します。DTS はスキーマ移行、フルデータ移行、増分データ移行をサポートしています。これらの移行タイプを組み合わせることで、ほぼゼロのダウンタイムでスムーズな移行を実現できます。
前提条件
-
ソース Db2 データベースのバージョンは 9.7 から 11.5 です。
説明DTS は、バージョン 7.3 および 7.4 の Db2 データベースから ApsaraDB RDS for MySQL への移行もサポートしています。設定プロセスは、このトピックで説明されている内容と同様です。
-
ターゲットの ApsaraDB RDS for MySQL インスタンスには、ソース Db2 データベースが占有する容量よりも多くのストレージ容量が必要です。
注意事項
-
DTS は DDL 操作を同期しません。
-
ソースデータベース名が ApsaraDB RDS の命名規則に従っていない場合は、移行タスクを設定する前に、ターゲットの ApsaraDB RDS for MySQL インスタンスに準拠したデータベースを作成する必要があります。
説明命名規則とデータベースの作成方法の詳細については、「ApsaraDB RDS for MySQL インスタンスでのデータベースの作成」をご参照ください。
-
完全データ移行中、DTS はソースデータベースと移行先データベースの読み取りおよび書き込みリソースを消費するため、負荷が増加します。データベースのパフォーマンスが低い、仕様が低い、またはワークロードが高い場合 (たとえば、ソースデータベースに低速な SQL クエリやプライマリキーのないテーブルが多く存在する、または移行先データベースでデッドロックが発生するなど)、負荷の増加によってデータベースに負担がかかったり、サービスが中断したりする可能性があります。データ移行は、両方のデータベースの CPU 使用率が 30% 未満であるなど、オフピーク時に実行してください。
-
ソースデータベースがターゲットインスタンスのデータを上書きするのを防ぐために、ビジネスをターゲットインスタンスに切り替える前にタスクを停止または解放してください。
-
DTS は Db2 の変更データキャプチャ (CDC) 技術を使用して増分データをレプリケートします。ただし、CDC にはサポートされるデータ型に制限があります。詳細については、「SQL レプリケーションの一般的なデータ制限」をご参照ください。
課金
|
移行タイプ |
タスク構成料金 |
インターネットトラフィック料金 |
|
スキーマ移行および完全なデータ移行 |
無料です。 |
ターゲットデータベースの アクセス方法 が パブリック IP アドレス に設定されている場合、DTS はインターネットトラフィック料金を請求します。課金概要。 |
|
増分データ移行 |
課金対象です。課金概要。 |
移行タイプ
-
スキーマ移行
DTS はオブジェクトのスキーマ定義をターゲットインスタンスに移行します。DTS はテーブル、インデックス、外部キーのスキーマ移行をサポートしています。
-
フルデータ移行
DTS は、ソース Db2 データベースで選択したオブジェクトのすべての履歴データを、ターゲットの ApsaraDB RDS for MySQL データベースに移行します。
-
増分データ移行
フルデータ移行の後、DTS はソース Db2 データベースからターゲットの ApsaraDB RDS for MySQL データベースにデータの変更をレプリケートします。これにより、セルフマネージドデータベースから最小限のダウンタイムでスムーズな移行が可能になります。
データベースアカウントの権限
|
データベース |
スキーマ移行 |
フルデータ移行 |
増分データ移行 |
|
セルフマネージド Db2 |
CONNECT、SELECT |
CONNECT、SELECT |
DBADM 権限 |
|
ApsaraDB RDS for MySQL インスタンス |
読み取りおよび書き込み権限 |
読み取りおよび書き込み権限 |
読み取りおよび書き込み権限 |
データベースアカウントを作成し、権限を付与するには、次のドキュメントをご参照ください:
-
ApsaraDB RDS for MySQL インスタンスについては、「ApsaraDB RDS for MySQL インスタンスでのアカウント作成」および「ApsaraDB RDS for MySQL インスタンスの標準アカウントの権限変更」をご参照ください。
データ移行プロセス
オブジェクト間の依存関係を解決し、移行の成功率を向上させるために、DTS は次の順序で Db2 データベースのスキーマとデータを移行します:
-
テーブル構造とインデックスの移行
-
フルデータ移行
-
外部キー構造の移行
-
増分データの移行
増分データ移行の準備
増分データ移行タスクを設定する前に、Db2 データベースのアーカイブ・ロギングを有効にする必要があります。詳細については、「1 次ログ・アーカイブ方式」および「2 次ログ・アーカイブ方式」をご参照ください。
フルデータ移行のみを実行する必要がある場合は、この手順をスキップできます。
操作手順
-
Data Transmission Service (DTS) コンソールにログインします。
説明Data Management (DMS) コンソールに自動的にリダイレクトされる場合は、右下の
アイコンをクリックし、その後
をクリックしてクラシック DTS コンソールに戻ります。 -
左側のナビゲーションウィンドウで、データの移行 をクリックします。
-
移行タスク ページの上部で、宛先インスタンスが配置されているリージョンを選択します。
-
ページの右上隅で、移行タスクの作成 をクリックします。
-
ソースデータベースとターゲットデータベースを設定します。
セクション
パラメーター
説明
N/A
タスク名
DTS はタスク名を自動的に生成しますが、識別しやすくするために、一意である必要のない、よりわかりやすい名前を選択できます。
ソースデータベース
インスタンスタイプ
ソースデータベースがデプロイされている場所に基づいてインスタンスタイプを選択します。このトピックでは、[パブリック IP アドレスを持つユーザー作成データベース] を例とします。
説明セルフマネージドデータベースのインスタンスタイプが異なる場合は、追加の準備が必要になることがあります。詳細については、「データ移行の準備」をご参照ください。
インスタンスリージョン
[インスタンスタイプ] で [パブリック IP アドレスを持つユーザー作成データベース] を選択した場合、インスタンスのリージョン パラメーターを設定する必要はありません。
説明Db2 データベースがホワイトリストを使用している場合は、[インスタンスリージョン] パラメーターの横にある インスタンスのリージョン をクリックして DTS の IP CIDR ブロックを取得し、Db2 データベースのホワイトリストに追加します。
データベースタイプ
DB2 を選択します。
ホスト名または IP アドレス
Db2 データベースのエンドポイントを入力します。この例では、パブリック IP アドレスを使用します。
ポート
Db2 データベースのサービスポートを入力します。デフォルトは 50000 です。
説明この例では、サービスポートはインターネット経由でアクセスできる必要があります。
データベース名
移行するデータベースの名前を入力します。
データベースアカウント
Db2 データベースのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
Db2 データベースアカウントのパスワードを入力します。
説明ソースデータベースを設定した後、接続テスト の横にある データベースのパスワード をクリックして、DTS が接続できることを確認できます。接続テストに合格すると、[合格] というメッセージが表示されます。[失敗] の場合は、[チェック] メッセージの横にある 失敗 をクリックし、プロンプトに従って設定を変更してください。
ターゲットデータベース
インスタンスタイプ
RDS インスタンス を選択します。
インスタンスリージョン
ターゲット RDS インスタンスのリージョンを選択します。
RDS インスタンス ID
ターゲット RDS インスタンスの ID を選択します。
データベースアカウント
ターゲット RDS インスタンスのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを入力します。
説明ターゲットデータベースを設定した後、接続テスト の横にある データベースのパスワード をクリックして、DTS が接続できることを確認できます。接続テストに合格すると、[合格] というメッセージが表示されます。[失敗] の場合は、[チェック] メッセージの横にある 失敗 をクリックし、プロンプトに従って設定を変更してください。
接続方法
非暗号化 または SSL 暗号化 を選択します。SSL 暗号化 を選択した場合は、まず RDS インスタンスで SSL 暗号化を有効にする必要があります。詳細については、「SSL 暗号化の設定」をご参照ください。
説明暗号化 パラメーターは、中国本土のリージョンと中国 (香港) リージョンでのみ使用できます。
-
設定が完了したら、ページの右下隅にある [ホワイトリストと次への設定] をクリックします。
説明この手順では、DTS サーバーがターゲット RDS インスタンスに接続できるように、DTS の IP CIDR ブロックがターゲット RDS インスタンスのホワイトリストに自動的に追加されます。
-
移行タイプとオブジェクトを選択します。
パラメーター
説明
移行タイプ
-
1 回限りの移行のみを実行するには、スキーマ移行 と [フルデータ移行] を選択します。
-
最小限のダウンタイムで移行を実行するには、スキーマ移行、[フルデータ移行]、および [増分データ移行] を選択します。
説明[増分データ移行] を選択しない場合は、データの一貫性を確保するために、移行中にソース Db2 データベースに新しいデータを書き込まないでください。
移行オブジェクト
[利用可能] ボックスで移行するオブジェクトを選択し、
アイコンをクリックして 選択中のオブジェクト ボックスに移動させます。説明-
データベース、テーブル、または列レベルでオブジェクトを選択できます。
-
ターゲット RDS インスタンスのオブジェクト名を変更するには、オブジェクト名マッピング機能を使用します。詳細については、「オブジェクト名マッピング」をご参照ください。
-
オブジェクト名マッピング機能を使用すると、名前が変更されたオブジェクトに依存する他のオブジェクトの移行が失敗する可能性があります。
Rename mapped objects
To change the names of migrated objects in the destination instance, use the object name mapping feature. For more information, see object name mapping.
ソース/ターゲットの接続が失われた場合の再試行期間
デフォルトの再試行期間は 12 時間です。この期間はカスタマイズできます。DTS がこの期間内にデータベースに再接続すると、タスクは自動的に再開されます。再接続できない場合、タスクは失敗します。
説明DTS タスクが再接続を試みている間は課金されます。ビジネスニーズに基づいて適切な再試行期間を設定するか、ソースインスタンスとターゲットインスタンスが解放されたらできるだけ早く DTS インスタンスを解放することを推奨します。
-
-
これらの設定が完了したら、ページ右下隅の [事前チェックと開始] をクリックします。
説明-
DTS はタスクの開始前に事前チェックを実行します。タスクは事前チェックに合格した後にのみ開始できます。
-
事前チェックに失敗した場合は、失敗した項目の横にある
アイコンをクリックして詳細を表示します。-
詳細に基づいて問題を修正してから、事前チェックを再度実行します。
-
修正を必要としない警告については、無視 または [無視してプリチェックを再実行] を選択してプリチェックを再実行できます。
-
-
-
タスクが事前チェックに合格したら、次へ をクリックします。
-
注文の確認 ページで、インスタンスクラス を選択し、Data Transmission Service (従量課金) 利用規約 チェックボックスをオンにします。
-
購入して起動 をクリックします。移行タスクが開始されます。
-
完全なデータ移行
タスクを手動で停止しないでください。データ損失を回避するため、自動的に完了するまで待機してください。
-
増分データ移行
タスクは自動的には停止しません。手動で停止する必要があります。
説明オフピーク時間帯または宛先インスタンスへの切り替え準備が整ったタイミングでタスクを停止してください。
-
タスクステータスが 増分データ移行 に変わり、遅延なし と表示されるまで待ちます。その後、数分間ソースデータベースへのデータ書き込みを停止します。増分データ移行 のステータスに遅延が表示される場合があります。
-
増分データ移行 のステータスが 遅延なし に戻ったら、移行タスクを手動で停止します。スキーマ移行および完全なデータ移行の進捗はいずれも 100 % になります。移行タスクを一時停止するには、タスクを選択し、下部のバッチ操作バーで 一時停止 をクリックします。
-
-
-
アプリケーションを ApsaraDB RDS for MySQL インスタンスに切り替えてください。