このトピックでは、ApsaraDB RDS for MySQL Enterprise EditionインスタンスからPolarDB-X 2.0 Standard Editionインスタンスにデータを移行する方法について説明します。
事前チェック
PolarDB-X 2.0サービスにリンクされたロールが作成されているかどうかの事前確認
次の操作を実行して、PolarDB-X 2.0サービスにリンクされたロールが作成されているかどうかを確認します。
[クラウドリソース権限付与管理] ページに移動します。
[権限の有効化] をクリックします。 [クラウドリソースアクセス許可] ページが表示されます。
[権限付与ポリシーの確認] をクリックします。 [クラウドリソース権限付与管理] ページが表示されます。 有効化が表示された場合、権限が付与されます。

DTSにクラウドリソースへのアクセス権限が付与されているかどうかの事前確認
DTSにクラウドリソースへのアクセス権限が付与されているかどうかを確認します。 詳細については、「権限付与結果の表示」をご参照ください。
冗長システムアカウントがソースインスタンスから削除されているかどうかの事前確認
移行中に移行先PolarDB-X 2.0 Standard Editionインスタンスのシステムアカウントが上書きされないようにするには、移行元ApsaraDB RDS for MySQL Enterprise Editionインスタンスから冗長なrootアカウントとaliyun_rootアカウントを削除することを推奨します。
次の表に、ApsaraDB RDS for MySQLの各バージョンの正しいシステムアカウント名を示します。
MySQLバージョン | 正しいシステムアカウント名 |
MySQL 5.6 | root |
MySQL 5.7 | aliyun_root |
MySQL 8.0 | aliyun_root |
上記の表に記載されている各バージョンの対応するシステムアカウントとは別に、他のすべてのシステムアカウントを削除する必要があります。
これらのアカウントは、ユーザーが作成するか、バージョンのアップグレード中にシステムが自動的に作成できます。 特定のシナリオでは、特定のアカウントがコンソールに表示されない場合があります。
次の例は、ApsaraDB RDS for MySQL 5.6 Enterprise Editionインスタンスから冗長システムアカウントを削除する方法を示しています。
特権アカウントを使用してインスタンスに接続します。
すべてのrootおよびaliyun_rootシステムアカウントを検索します。
SELECT * FROM mysql.user WHERE user IN ('root', 'aliyun_root');冗長なシステムアカウントを削除します。 ApsaraDB RDS for MySQL 5.6 Enterprise Editionインスタンスの正しいシステムアカウントはrootであるため、aliyun_rootアカウントを削除する必要があります。
DELETE FROM mysql.user WHERE user = 'aliyun_root';ステップ1: ソースインスタンスからデータを移行する
この手順では、ソースのApsaraDB RDS for MySQL Enterprise Editionインスタンスと同じデータを含むPolarDB-X 2.0 Standard Editionインスタンスを作成します。 増分データは、ソースApsaraDB RDS for MySQL Enterprise EditionインスタンスからPolarDB-X 2.0 Standard Editionインスタンスにリアルタイムで同期されます。
PolarDB-Xコンソールにログインします。
On theインスタンスページをクリックし、PolarDB-X 2.0タブをクリックします。
表示されるページの右上隅に、インスタンスの作成をクリックします。
PolarDB-X 2.0 Standard Editionの購入ページで、次のパラメーターを設定します。
説明次の表に記載されていないパラメーターの詳細については、「PolarDB-Xインスタンスの作成」をご参照ください。
パラメーター
説明
リージョン
ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスがデプロイされているリージョン。
説明新しいPolarDB-X 2.0 Standard Editionインスタンスもこのリージョンに作成されます。
作成方法
[ApsaraDB RDSから移行] を選択します。
ソースRDSバージョン
ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスのバージョン。 MySQL 5.6、MySQL 5.7、またはMySQL 8.0を選択できます。
ソースRDSインスタンス
ソースApsaraDB RDS for MySQL Enterprise Editionインスタンス。 読み取り専用インスタンスは除外されます。
ノード仕様
要件に応じて仕様を選択します。 ソースのApsaraDB RDS for MySQL Enterprise Editionインスタンスの仕様以上の仕様を選択することを推奨します。 PolarDB-X 2.0 Standard Editionのノード仕様の詳細については、「インスタンスタイプ」をご参照ください。
[注文の確認] ページで、注文情報を確認します。 利用規約を読み、[支払い] をクリックします。
[購入] ページで注文と支払い方法を確認し、[購入] をクリックします。
支払いが完了したら、PolarDB-Xコンソールに戻り、[インスタンス] ページで新しいインスタンスを表示できます。
説明インスタンスがデプロイされているリージョンを選択してください。 それ以外の場合は、インスタンスを表示できません。
インスタンス内のノードが [作成中] 状態の場合、インスタンスは作成中であり、使用できません。 インスタンスが [実行中] 状態の場合にのみ使用できます。
移行前は、PolarDB-X 2.0 Standard Editionインスタンスは読み取り専用モードで、バイナリログはデフォルトで有効になっています。
インスタンスIDをクリックして、[基本情報] ページに移動します。 [基本情報] ページの [RDSインスタンスの移行] セクションで、移行先のPolarDB-X 2.0 Standard Editionインスタンスの [レプリケーション遅延] 値を確認します。 値が60秒未満の場合は、手順2: サービスの切り替えの操作を実行できます。
PolarDB-X 2.0 Standard Editionインスタンスの作成後、ApsaraDB RDS for MySQL Enterprise EditionインスタンスからPolarDB-X 2.0 Standard Editionインスタンスへのデータの移行が開始されます。 PolarDB-X 2.0 Standard Editionインスタンスの作成後30日以内に、手順2: サービスの切り替えおよび手順3: 移行の完了の操作を実行する必要があります。 それ以外の場合、移行タスクは30日後に自動的に終了します。 30日後、ApsaraDB RDS for MySQL Enterprise EditionインスタンスとPolarDB-X 2.0 Standard Editionインスタンス間のデータ同期リンクは削除されます。 2つのインスタンスは現在の状態のままであり、互いに独立しています。 既存のPolarDB-X 2.0 Standard Editionインスタンスでは、以降の操作を続行して移行を完了することはできません。 手順1: ソースインスタンスからのデータの移行を再度実行する必要があります。
PolarDB-X 2.0 Standard Editionインスタンスの作成後に、RDSインスタンスの移行セクションに表示されるApsaraDB RDS for MySQL Enterprise Editionインスタンスのステータス値がPrecheck Failedの場合、エラーメッセージの指示に従って問題のトラブルシューティングを行います。
ステップ2: サービスの切り替え
移行先PolarDB-X 2.0 Standard Editionインスタンスのレプリケーション遅延値が60秒未満の場合、切り替え操作を実行できます。
PolarDB-Xコンソールにログインします。
上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。
インスタンスページで、PolarDB-X 2.0タブをクリックします。
データディスクをデタッチするインスタンスを見つけ、インスタンスIDをクリックします。
[基本情報] ページの [RDSインスタンスの移行] セクションで、[移行の切り替え] をクリックします。
説明ほとんどの場合、システムが切り替えを競うのに5分未満しか必要としない。
次の操作は、ステップ2: サービスの切り替えで実行されます。
ソースApsaraDB RDS for MySQL Enterprise EditionインスタンスとPolarDB-X 2.0 Standard Editionインスタンスの読み書き状態が入れ替わっています。 ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスの読み書き状態が読み取り専用に変更され、PolarDB-X 2.0 Standard Editionインスタンスの読み書き状態が読み書きに変更されます。 これにより、データの不整合を回避し、書き込みの競合を防ぎ、エンドポイント交換に十分なセキュリティ条件を提供できます。
複製方向も変更される。 この場合、増分データはPolarDB-X 2.0 Standard EditionインスタンスからApsaraDB RDS for MySQL Enterprise Editionインスタンスに同期されます。
[切り替えの開始] ダイアログボックスで、[エンドポイントで切り替え (接続変更不要)] または [エンドポイントで切り替え (接続変更不要)] を選択します。
[エンドポイントとの切り替え (接続変更不要)] を選択した場合、システムはApsaraDB RDS for MySQL Enterprise EditionインスタンスとPolarDB-X 2.0 Standard Editionインスタンスの間でエンドポイントを交換します。 PolarDB-X 2.0 Standard Editionインスタンスに接続するために、アプリケーションの設定を変更する必要はありません。
重要[エンドポイントとの切り替え (接続変更は不要)] を選択する前に、必ず [エンドポイントとの切り替え] をお読みください。

[エンドポイントなしの切り替え (接続変更が必要)] を選択した場合、アプリケーションの設定を変更してPolarDB-X 2.0 Standard Editionインスタンスに接続する必要があります。
重要切り替え操作が完了したら、アプリケーションのデータベースエンドポイントをできるだけ早く変更して、長期的な接続の中断を回避します。

[OK] をクリックします。 インスタンスは [切り替え] 状態です。

切り替え操作が完了するまで待ちます。
説明[エンドポイントなしの切り替え (接続変更が必要)] を選択し、PolarDB-X 2.0 Standard Editionインスタンスの読み取り /書き込みステータスの値が読み取りと書き込みになった場合、アプリケーションのデータベースエンドポイントをPolarDB-X 2.0 Standard Editionインスタンスのエンドポイントに変更します。
移行の完了後にデータエラーが発生した場合は、移行をロールバックできます。 これにより、移行が実行される前にデータベースとデータを元の状態に復元できます。 詳細については、「 (オプション) 移行のロールバック」をご参照ください。
ステップ3: 移行を完了する
[移行の完了] をクリックして移行を完了する前に、データ移行が完了し、同期タスクが使用されなくなったことを確認します。 移行の完了後、システムはデータ同期タスクを削除します。
移行が完了すると、ApsaraDB RDS for MySQL Enterprise EditionインスタンスとPolarDB-X 2.0 Standard Editionインスタンス間のデータの同期が停止し、(オプション) 移行のロールバック機能が使用できなくなります。 移行を完了する前に、PolarDB-X 2.0 Standard Editionインスタンスをテストして、インスタンスが正常に実行されていることを確認することを推奨します。
PolarDB-Xコンソールにログインします。
上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。
インスタンスページで、PolarDB-X 2.0タブをクリックします。
データディスクをデタッチするインスタンスを見つけ、インスタンスIDをクリックします。
[基本情報] ページの [RDSインスタンスの移行] セクションで、[移行の完了] をクリックします。 表示されるダイアログボックスで [OK] をクリックします。
説明[OK] をクリックすると、システムは約2分以内にデータ同期を停止します。 このプロセス中の移行ステータスは [同期の無効化] です。 データ移行の完了まで待ちます。
移行完了後1〜2週間、ソースのApsaraDB RDS for MySQL Enterprise Editionインスタンスを保持することを推奨します。 互換性、安定性、データの一貫性など、PolarDB-X 2.0 Standard Editionインスタンスの全体的なパフォーマンスを確認します。 次に、ソースインスタンスをリリースします。
(オプション) データ同期タスクの詳細を表示する
事前チェックの失敗などの移行エラーや、移行中に高いレプリケーション遅延などの例外が発生した場合は、データ同期タスクの詳細ページに移動して、タスクの詳細を確認できます。
PolarDB-Xコンソールにログインします。
上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。
インスタンスページで、PolarDB-X 2.0タブをクリックします。
データディスクをデタッチするインスタンスを見つけ、インスタンスIDをクリックします。
[基本情報] ページの [RDS移行] セクションで、[DTSデータ同期タスク] のタスク名をクリックして、DTSコンソールのデータ同期タスクリストに移動します。
データ同期タスクを見つけます。 事前チェックの失敗の詳細、データ同期タスクの詳細、およびデータ同期タスクログを表示できます。

(オプション) 移行をロールバックする
移行が完了する前にデータエラーが発生した場合は、移行をロールバックできます。 これにより、データ移行前のデータベースとデータを元の状態に復元できます。 ロールバック後、ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスの読み取り /書き込み状態はread and writeに変更され、PolarDB-X 2.0 Standard Editionインスタンスの読み取り /書き込み状態はRead Onlyに変更されます。 システムは、ApsaraDB RDS for MySQL Enterprise EditionインスタンスからPolarDB-X 2.0 Standard Editionインスタンスにデータを同期します。
PolarDB-Xコンソールにログインします。
上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。
インスタンスページで、PolarDB-X 2.0タブをクリックします。
データディスクをデタッチするインスタンスを見つけ、インスタンスIDをクリックします。
[基本情報] ページの [RDSインスタンスの移行] セクションで、[移行ロールバック] をクリックします。
[スイッチバックの開始] ダイアログボックスで、[エンドポイントへの切り替え (接続変更不要)] または [エンドポイントへの切り替え (接続変更不要)] を選択します。
[エンドポイントへの切り替え (接続変更不要)] を選択した場合、システムはApsaraDB RDS for MySQL Enterprise EditionインスタンスとPolarDB-X 2.0 Standard Editionインスタンスの間でエンドポイントを交換します。 ApsaraDB RDS for MySQL Enterprise Editionインスタンスに接続するために、アプリケーションの設定を変更する必要はありません。
[エンドポイントなしの切り替え (接続変更が必要)] を選択した場合、アプリケーションの設定を変更してApsaraDB RDS for MySQL Enterprise Editionインスタンスに接続する必要があります。
[OK] をクリックします。 ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスの読み書き状態がread and writeに変更され、PolarDB-X 2.0 Standard Editionインスタンスの読み書き状態がRead Onlyに変更されました。 システムは、ApsaraDB RDS for MySQL Enterprise EditionインスタンスからPolarDB-X 2.0 Standard Editionインスタンスにデータを同期します。
ロールバック操作が完了するまで待ちます。
説明[エンドポイントなしの切り替え (接続変更が必要)] を選択し、ソースApsaraDB RDS for MySQL Enterprise Editionインスタンスの読み取り /書き込みステータスの値が読み取りと書き込みになった場合、アプリケーションのデータベースエンドポイントをApsaraDB RDS for MySQL Enterprise Editionインスタンスのエンドポイントに変更します。