Data Transmission Service (DTS) を使用すると、自己管理 Db2 データベースから ApsaraDB RDS for MySQL インスタンスへデータを移行できます。DTS はスキーマ移行、完全なデータ移行、および増分データ移行をサポートしています。これらの 3 種類の移行をすべて選択することで、移行中に業務を中断することなく継続的に運用できます。
前提条件
開始する前に、以下の点をご確認ください。
Db2 データベースのバージョンが 9.7 ~ 11.5 である
DTS は、Db2 for i データベース(バージョン 7.3 または 7.4)からの移行もサポートしています。これらのバージョンの場合も、同じ手順に従ってください。
RDS インスタンスの利用可能なストレージ容量が、Db2 データベース内のデータの合計サイズより大きい
制限事項
DTS は、データ定義言語 (DDL) の同期をサポートしていません。
ソースデータベース名が ApsaraDB RDS 命名規則に準拠していない場合は、移行タスクを設定する前に、データベースを作成する必要があります。
完全なデータ移行中、DTS はソースおよび宛先データベースの読み取り/書き込みリソースを使用するため、両方のデータベースサーバーの負荷が高まります。サービスの中断を回避するため、非ピーク時間帯(例:両データベースの CPU 利用率が 30 % 未満の時間帯)に移行を実施してください。また、遅延 SQL クエリが存在する場合、テーブルにプライマリキーが設定されていない場合、または宛先データベースでデッドロックが発生している場合など、パフォーマンス関連のリスクが高まります。
移行タスクが失敗し、DTS が自動的に再開した場合、ワークロードを宛先インスタンスに切り替える前に、タスクを停止またはリリースしてください。これにより、ソースデータによる宛先データの上書きを防止できます。
増分データ移行は、Db2 の Change Data Capture (CDC) レプリケーション技術に依存しており、独自の制限があります。詳細については、「SQL Replication の一般的なデータ制限」をご参照ください。
課金
| 移行タイプ | タスク構成料金 | インターネットトラフィック料金 |
|---|---|---|
| スキーマ移行および完全なデータ移行 | 無料 | Alibaba Cloud からインターネット経由でデータが移行された場合にのみ課金されます。詳細については、「課金概要」をご参照ください。 |
| 増分データ移行 | 課金済み。詳細については、「課金概要」をご参照ください。 | — |
移行タイプ
[スキーマ移行]
DTS は、テーブル、インデックス、外部キーなど、必要なオブジェクトのスキーマを宛先インスタンスに移行します。
[完全なデータ移行]
DTS は、Db2 データベースに既存するすべてのデータを宛先 RDS インスタンスに移行します。
[増分データ移行]
完全なデータ移行が完了した後、DTS は CDC レプリケーションを用いて、Db2 データベースの変更を継続的に RDS インスタンスに同期します。これにより、両データベースの状態を常に一致させ、ダウンタイムを最小限に抑えながらワークロードの切り替えが可能です。
仕組み
オブジェクト間の依存関係による移行失敗を回避するため、DTS では以下の順序でデータを移行します。
テーブルスキーマおよびインデックスを移行します。
完全なデータを移行します。
外部キーのスキーマを移行します。
増分データを移行します。
必要な権限
| データベース | スキーマ移行 | 完全なデータ移行 | 増分データ移行 |
|---|---|---|---|
| Db2 データベース | CONNECT および SELECT | CONNECT および SELECT | DBADM 権限(データベース管理者) |
| RDS インスタンス | 読み取りおよび書き込み | 読み取りおよび書き込み | 読み取りおよび書き込み |
データベースアカウントを作成し、必要な権限を付与するには、以下の手順に従ってください。
Db2 データベース: Db2 データベースのインストール用グループおよびユーザー ID の作成 (Linux および UNIX) および 権限の概要 を参照してください。
RDS インスタンス: アカウントを作成する、アカウント権限を変更する、およびアカウントの権限を変更するをご参照ください。
増分移行のためのアーカイブログの有効化
完全なデータのみを移行する場合は、このステップをスキップしてください。
移行タスクの設定前に、Db2 データベースでアーカイブログ機能を有効化してください。「logarchmeth1 — 主要ログアーカイブ方法の構成パラメーター」および「logarchmeth2 — 二次ログアーカイブ方法の構成パラメーター」をご参照ください。
移行タスクの設定と開始
DTS コンソールにログインします。
Data Management (DMS) コンソールにリダイレクトされた場合は、
アイコンをクリックして、ナビゲーションウィンドウの
から DTS コンソールの旧バージョンに移動します。左側のナビゲーションウィンドウで、[データ移行] をクリックします。
[移行タスク] ページで、RDS インスタンスが配置されているリージョンを選択します。
右上隅の [移行タスクの作成] をクリックします。
ソースおよび宛先データベースを構成します。

セクション パラメーター 説明 該当なし タスク名 DTS が自動生成するタスク名です。タスクを識別しやすいように、意味のある名前を指定してください。この名前は一意である必要はありません。 ソースデータベース インスタンスタイプ パブリック IP アドレスを持つユーザー作成データベース事前準備の概要 を選択します。その他のインスタンスタイプの場合は、事前に必要なネットワーク環境を構築してください。詳細については、「」をご参照ください。 インスタンスリージョン パブリック IP アドレスを持つユーザー作成データベース の場合は必須ではありません。Db2 データベースにホワイトリストが設定されている場合、インスタンスリージョン の横にある DTS の IP アドレス範囲の取得 をクリックして DTS の CIDR ブロックを取得し、ホワイトリストに追加してください。 データベースタイプ DB2 を選択します。 ホスト名または IP アドレス Db2 データベースへの接続に使用するエンドポイントを入力します。本例では、パブリック IP アドレスを使用します。 ポート番号 Db2 サービスポートを入力します。デフォルト値は 50000 です。本例では、このポートがインターネット経由でアクセス可能である必要があります。 データベース名 移行対象のデータベース名を入力します。 データベースアカウント Db2 データベースへの接続に使用するアカウントのユーザー名を入力します。必要な権限については、「必要な権限」をご参照ください。 データベースパスワード アカウントのパスワードを入力します。パスワードを入力後、接続テスト をクリックしてパラメーターを検証してください。成功 と表示されれば接続が確認されます。もし 失敗 と表示された場合は、確認 をクリックして問題を修正してください。 ターゲットデータベース インスタンスタイプ RDS インスタンス を選択します。 インスタンスリージョン RDS インスタンスが配置されているリージョンを選択します。 RDS インスタンス ID RDS インスタンス ID を選択します。 データベースアカウント ターゲットデータベースを管理する権限を持つアカウントのユーザー名を入力します。必要な権限については、「必要な権限」をご参照ください。 データベースパスワード アカウントのパスワードを入力します。パスワードを入力後、接続テスト をクリックしてパラメーターを検証してください。成功 と表示されれば接続が確認されます。もし 失敗 と表示された場合は、確認 をクリックして問題を修正してください。 暗号化 要件に応じて、非暗号化 または SSL 暗号化 を選択します。SSL 暗号化ApsaraDB RDS for MySQL インスタンスの SSL 暗号化の設定 を選択する場合は、タスクの設定前に RDS インスタンスで SSL 暗号化を有効化してください。詳細については、「」をご参照ください。このパラメーターは、中国本土および香港 (中国) のみで利用可能です。 右下隅で、[ホワイトリストの設定と次へ] をクリックします。DTS は、その CIDR ブロックを Alibaba Cloud のデータベースインスタンス(例:ApsaraDB RDS for MySQL)のホワイトリストおよび、自己管理データベースをホストする Elastic Compute Service (ECS) インスタンスのセキュリティグループルールに自動的に追加します。複数の ECS インスタンスでホストされる自己管理データベースの場合、各インスタンスのセキュリティグループルールに DTS の CIDR ブロックを手動で追加します。オンプレミスデータセンターまたはサードパーティクラウドプロバイダーでホストされる自己管理データベースの場合、データベースのホワイトリストに DTS の CIDR ブロックを手動で追加します。「DTS サーバーの CIDR ブロック」をご参照ください。
警告DTS の CIDR ブロックをホワイトリストまたはセキュリティグループに追加すると、データベースが潜在的なセキュリティリスクにさらされる可能性があります。実行前に、強力な認証情報の使用、公開ポートの制限、API 呼び出しの検証、ホワイトリストおよびセキュリティグループルールの定期的な監査、不正な CIDR ブロックの削除などの予防措置を講じてください。あるいは、Express Connect、VPN Gateway、または Smart Access Gateway (SAG) を介してデータベースを DTS に接続することもできます。
移行対象オブジェクトおよび移行タイプを選択します。

パラメーター 説明 移行タイプ 一度限りの完全移行を行う場合は、[スキーマ移行] および [完全なデータ移行] を選択します。ダウンタイムを最小限に抑えるには、[増分データ移行] も併せて選択してください。増分移行を選択しない場合、データ整合性を保つため、移行中に Db2 データベースへの書き込みを避けてください。 利用可能 [利用可能] からオブジェクトを選択し、
アイコンをクリックして [選択済み] に移動します。必要に応じて、列、テーブル、またはデータベースを選択します。デフォルトでは、移行対象オブジェクトの名前は宛先データベースでもそのまま保持されます。オブジェクト名マッピング機能を使用して、オブジェクト名を変更できます。「オブジェクト名マッピング」をご参照ください。ただし、オブジェクト名を変更すると、依存オブジェクトの移行に失敗する場合があります。[データベースおよびテーブルの名前変更] オブジェクト名マッピング機能を使用して、宛先データベース内のオブジェクト名を変更できます。「オブジェクト名マッピング」をご参照ください。 [接続失敗時のリトライ時間] デフォルトでは、DTS は接続失敗時に 720 分間リトライを実行します。この期間内に DTS が再接続できた場合、移行タスクは自動的に再開します。それ以外の場合はタスクが失敗します。リトライ期間中は、DTS インスタンスに対して課金されます。リトライ期間は要件に応じて設定し、移行完了後は速やかに DTS インスタンスをリリースしてください。 [事前チェック] をクリックします。
事前チェックが成功した場合にのみ、移行タスクが開始されます。事前チェックが失敗した場合は、各失敗項目の横にある
アイコンをクリックして詳細を表示し、問題を修正したうえで、再度事前チェックを実行してください。[次へ] をクリックします。
[設定の確認] ダイアログボックスで、[チャネル仕様] を構成します。[Data Transmission Service(従量課金)サービス利用規約] を読み、同意してください。
[購入および開始] をクリックします。
[完全なデータ移行]:タスクを手動で停止しないでください。自動的に完了するまでお待ちください。早期に停止すると、RDS インスタンスに不完全なデータが残る可能性があります。
[増分データ移行]:タスクは自動的に停止しません。適切なタイミング(例:非ピーク時間帯、またはワークロードを RDS インスタンスに切り替える直前)で手動で停止してください。正しいタイミングでタスクを停止するには、以下の手順に従ってください。
進行状況バーに [増分データ移行] および データ移行タスクに遅延はありません と表示されるまで待ちます。
ソース Db2 データベースへの書き込みを数分間停止します。進行状況バーに一時的に遅延値が表示される場合があります。
[増分データ移行] のステータスが再び データ移行タスクに遅延はありません に戻るまで待ちます。

移行タスクを手動で停止します。
ワークロードを RDS インスタンスに切り替えます。