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

PolarDB:アップグレード手順

最終更新日:Mar 28, 2026

このトピックでは、ApsaraDB RDS for MySQL インスタンスを PolarDB for MySQL クラスターに移行する手順について説明します。PolarDB はクラスターを自動的に作成し、データを同期するとともに、ソース RDS インスタンスのアカウント、データベース、IP アドレスホワイトリスト、および必須パラメーターを継承します。

このガイドでは、以下の操作を行います。

  • ソース RDS インスタンスの準備として事前チェックを実行します。

  • RDS からの移行 メソッドを使用して、送信先の PolarDB クラスターを作成します。

  • (オプション)スイッチオーバー後に接続変更を回避するためにエンドポイントを追加します。

  • サービスをスイッチオーバーして、PolarDB クラスターをプライマリの読み取り/書き込みデータベースにします。

  • (オプション)既存の DTS タスクをスイッチオーバーします。

  • 移行を完了させてプロセスを確定します。

  • (オプション)ソース RDS インスタンスのリリースまたは登録解除を行います。

移行方法の選択

2 種類の移行方法が利用可能です。ご利用のソースインスタンスに適した方法を選択してください。

物理移行論理移行
仕組みストレージレベルでデータを直接レプリケーションします。Data Transmission Service (DTS) を使用してデータを同期します。
サポートされるソースバージョンRDS MySQL 5.6 または 5.7、ローカル SSD 搭載の High-availability Editionその他のすべての RDS MySQL 仕様
ターゲットバージョンソースと同じ MySQL バージョン同じまたは異なる MySQL バージョン
速度大規模なデータベースの場合、特に高速です。大規模なデータセットでは低速です。完全同期中に DTS がソースおよび送信先データベースに対して読み取りと書き込みを実行します。

詳細な比較については、「物理移行と論理移行の比較」をご参照ください。

事前チェック

PolarDB のサービスリンクロールの作成確認(論理移行のみ)

説明 すでに移行評価を問題なく完了している場合は、このチェックをスキップしてください。詳細については、「移行評価」をご参照ください。

論理移行を実行する前に、PolarDB のサービスリンクロールが存在し、Data Transmission Service (DTS) が Alibaba Cloud リソースへのアクセス権限を持っていることを確認してください。

  • PolarDB のサービスリンクロールの存在確認

    1. Resource Access Management (RAM) コンソールロールページにログインします。

    2. リスト内にAliyunServiceRoleForPolarDBという名前のロールが表示されているか確認します。

      • ロールが存在する場合は、このチェックをスキップします。

      • ロールが存在しない場合は、次のステップに進みます。

      image

    3. 左上隅のロールの作成をクリックします。ロールの作成ページで、右上隅のサービスリンクロールの作成をクリックします。

      image

    4. サービスリンクロールの作成ページで、サービスの選択ドロップダウンリストからApsaraDB for PolarDBを選択し、サービスリンクロールの作成をクリックします。

      image

  • DTS の権限付与確認

    ここでは、権限付与の確認および高速権限付与の手順のみを説明します。権限付与の完全なガイドについては、「DTS による Alibaba Cloud リソースへのアクセス権限付与」をご参照ください。

    権限付与結果の確認

    1. RAM コンソールロールページにログインします。

    2. リスト内にAliyunDTSDefaultRoleという名前のロールが表示されているか確認します。

      • ロールが存在しない場合は、高速権限付与を実行してください(以下を参照)。

      • ロールが存在する場合は、次のステップに進んで権限を検証します。

      image

    3. AliyunDTSDefaultRoleをクリックして詳細を表示します。以下の両方が満たされている場合、ロールは適切に権限付与されています。いずれかの条件が満たされていない場合は、AliyunDTSDefaultRoleを削除して再度権限付与を行ってください。

      • 権限タブにAliyunDTSRolePolicyポリシーが表示されています。image

      • 信頼ポリシータブにdts.aliyuncs.comが表示されています。image

    高速権限付与

    RAM コンソールロールページにログインします。クラウドリソースへのアクセス権限付与ダイアログボックスで、権限付与をクリックします。

    説明

ソース RDS インスタンスからの不要なシステムアカウントの削除(論理移行のみ)

説明 すでに移行評価を例外なく完了している場合は、このチェックをスキップしてください。詳細については、「移行評価」をご参照ください。

移行中に送信先の PolarDB クラスター内のシステムアカウントが上書きされないようにするため、ソース RDS インスタンスにrootaliyun_rootの両方が同時に存在しないようにしてください。正しいシステムアカウントは RDS MySQL のバージョンによって異なります。

RDS MySQL バージョン正しいシステムアカウント
RDS MySQL 5.6root
RDS MySQL 5.7aliyun_root
RDS MySQL 8.0aliyun_root

ご利用のバージョンに対して正しいと記載されていないアカウントは削除してください。たとえば、RDS MySQL 5.7 をご利用の場合にコンソールで手動でrootを作成している場合は、移行を開始する前に削除してください。ただし、本番環境でそのアカウントが使用されていないことを事前に確認してください。

説明 不要なシステムアカウントは手動で作成されたものか、以前のバージョンアップグレード時に継承されたものである可能性があります。一部のアカウントはコンソールに表示されない場合があります。

以下の例は、RDS MySQL 5.6 インスタンスから不要なシステムアカウントを削除する方法を示しています。

  1. 特権アカウントを使用してデータベースに接続します。

  2. rootおよびaliyun_rootのすべてのシステムアカウントを検索します。

    SELECT * FROM mysql.user WHERE `user` IN ('root', 'aliyun_root');
  3. 不要なアカウントを削除します。RDS MySQL 5.6 の場合、rootが正しいため、aliyun_rootを削除します。

    DELETE FROM mysql.user WHERE `user` = 'aliyun_root' LIMIT n;

(オプション)ホワイトリスト構成の確認

プライマリ RDS インスタンスと読み取り専用 RDS インスタンスのホワイトリスト構成が異なる場合は、移行を開始する前に、読み取り専用インスタンスのホワイトリストをプライマリインスタンスのホワイトリストにマージしてください。これにより、読み取り専用インスタンスのホワイトリストが送信先の PolarDB クラスターに自動的に同期されます。

ステップ 1:送信先の PolarDB クラスターの作成

ソース RDS インスタンスのデータをミラーする PolarDB クラスターを作成します。クラスター作成後、増分データがリアルタイムでソース RDS インスタンスから PolarDB クラスターへ継続的に同期されます。

説明
  • 開始前に移行評価を完了させてください。詳細については、「移行評価」をご参照ください。

  • PolarDB クラスターで利用可能なストレージ容量が、ソース RDS インスタンスで使用されているストレージ容量を超えることを確認してください。

  • 論理移行の場合、完全なデータ同期中に DTS がソースおよび送信先の両方のデータベースに対して読み取りと書き込みを実行するため、データベース負荷が増加する可能性があります。影響を抑えるには、速度制限を有効にしてください。詳細については、「データ移行の速度制限の有効化」をご参照ください。

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウでクラスターをクリックします。クラスターページでクラスターの作成をクリックします。

  2. 課金方法サブスクリプション従量課金、またはServerlessに設定します。

    • サブスクリプション:コンピュートノードの料金を前払いします。ストレージは実際の時間単位の使用量に基づいて課金されます。

    • 従量課金:前払いは不要です。コンピュートノードおよびストレージの料金は、実際の使用量に基づいて時間単位で差し引かれます。

    • Serverless:前払いは不要です。コンピュートノード、ストレージ、および PolarProxy は需要に応じて動的にスケーリングされます。料金は実際の使用量に基づきます。

  3. クラスターパラメーターを設定します。主なパラメーターは以下の表に示されています。

    説明 ここで記載されていないパラメーターについては、「クラスターの購入」をご参照ください。
    パラメーター説明
    作成方法RDS からの移行を選択します。移行が完了するまで、PolarDB クラスターは読み取り専用モードで動作します。バイナリロギングはデフォルトで有効になります。
    リージョンソース RDS インスタンスがデプロイされているリージョン。送信先の PolarDB クラスターは同じリージョン内に配置する必要があります。
    RDS エンジンタイプソース RDS インスタンスのデータベースエンジン。MySQLに固定されています。
    RDS エンジンバージョンソース RDS インスタンスの MySQL バージョン:5.65.7、または8.0
    ソース RDS インスタンス移行元のソース RDS インスタンス。読み取り専用インスタンスは含まれません。
    データベースエンジン送信先の PolarDB クラスターの MySQL バージョン。ソースバージョンと同じでも異なっていてもかまいません。
    ノードスペックコンピュートノードのスペック。ソース RDS インスタンスのスペック以上を選択してください。利用可能なスペックについては、「PolarDB for MySQL Enterprise Edition のコンピュートノードスペック」をご参照ください。
    ストレージエンジンInnoDB または InnoDB & X-Engine。[InnoDB & X-Engine] を選択した場合、X-Engine のメモリ使用量比率を指定できます。詳細については、「X-Engine」をご参照ください。
  4. 右上隅で構成を確認し、期間数量、および自動更新パラメーターを設定します。期間はサブスクリプションクラスターにのみ適用されます。

  5. サービス利用規約を読み、同意したうえで注文の確認をクリックします。

  6. 購入ページで注文内容と支払方法を確認し、購入をクリックします。

    説明
    • 支払い後、クラスターがクラスターページに表示されるまで 10~15 分ほどお待ちください。

    • ノードのステータスが作成中と表示されている場合は、クラスターがまだ初期化中です。クラスターはステータスが実行中になった時点で利用可能になります。

    • 正しいリージョンを選択していることを確認してください。そうでない場合、リストにクラスターが表示されません。

  7. クラスター作成後、クラスター ID をクリックして基本情報ページを開きます。

  8. RDS 移行セクションで、レプリケーション遅延値をモニターします。この値が 60 秒未満になったら、ステップ 3:サービスのスイッチオーバーに進むことができます。

    説明
    • 双方向の DTS データ同期タスクが進行中のインスタンスを移行またはアップグレードしないでください。データ不整合が発生する可能性があります。

    • クラスター作成後、RDS インスタンスからのデータ同期が開始されます。クラスター作成後 30 日以内にステップ 5 を完了させてください。期限を過ぎると、移行タスクは自動的に無効になります。

    • 論理移行の場合:クラスター作成後にRDS 移行セクションに事前チェック失敗と表示された場合は、エラーメッセージの指示に従ってトラブルシューティングを行ってください。预检查失败

      たとえば、ソース RDS インスタンスにトリガーが含まれている場合、「RDS インスタンスにトリガーがあります」というメッセージで事前チェックが失敗します。トリガーを削除して移行の続行をクリックするか、移行のキャンセルをクリックして DTS コンソールで手動でデータ同期タスクを作成してください。詳細については、「トリガーを含むソースデータベースのデータ同期タスクの設定」をご参照ください。

    • この段階で移行のキャンセルをクリックすることもできます。移行キャンセルの影響については、「よくある質問」をご参照ください。

    基本信息

(オプション)ステップ 2:エンドポイントの追加

アプリケーションの接続文字列を変更せずにサービスをスイッチオーバーしたい場合は、スイッチオーバー時にエンドポイントを使用したスイッチオーバー(接続変更不要)オプションを選択してください。これにより、ソース RDS インスタンスと送信先の PolarDB クラスターのエンドポイントが自動的に交換されます。スイッチオーバー後、アプリケーションは元の接続文字列を使用して PolarDB に接続します。

エンドポイントの交換を機能させるには、ソース RDS インスタンスと送信先の PolarDB クラスターが一致するエンドポイントを持つ必要があります。デフォルトでは、PolarDB はプライベートプライマリエンドポイントとプライベートクラスターエンドポイントのみを作成します。ソース RDS インスタンスに追加のエンドポイントがある場合は、スイッチオーバー前に PolarDB に該当するエンドポイントを作成してください。

説明
  • スイッチオーバー前にエンドポイントを追加しなかった場合は、スイッチオーバー後に PolarDB クラスターが実行状態になった時点で追加してください。

  • プライベートエンドポイントを交換するには、ソース RDS インスタンスと送信先の PolarDB クラスターが同じ VPC に属している必要があります。異なる VPC に属している場合、スイッチオーバー後に既存のサービスが接続できなくなります。

ステップ 3:サービスのスイッチオーバー

RDS 移行セクションのレプリケーション遅延が 60 秒未満になったら、スイッチオーバーを実行します。

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

  2. 送信先クラスターを見つけ、クラスター ID をクリックします。

  3. 基本情報ページのRDS 移行セクションで、スイッチオーバーをクリックします。

    説明
    • スイッチオーバーには通常、約 5 分かかります。

    • スイッチオーバー後、ソース RDS インスタンスは読み取り専用になり、PolarDB クラスターは読み取り/書き込みになります。その後、増分データが PolarDB クラスターから RDS インスタンスへと逆方向にレプリケーションされます。

    image

  4. ビジネスを新しいデータベースに切り替えますダイアログボックスで、スイッチオーバー方法を選択します。

    • エンドポイントを使用したスイッチオーバー(接続変更不要) システムが RDS インスタンスと PolarDB クラスターのエンドポイントを交換します。アプリケーションは既存の接続文字列を使用して PolarDB に接続し、構成変更は不要です。> 重要: このオプションを選択する前に、「エンドポイントを使用したスイッチオーバーに関する注意事項」を確認してください。OKをクリックし、ダイアログボックスで確認します。

    • エンドポイントを使用しないスイッチオーバー(接続変更が必要) OKをクリックし、ダイアログボックスで確認します。スイッチオーバーが完了したらページをリフレッシュします。PolarDB の読み取り/書き込みステータス読み取り/書き込みに変わったら、アプリケーションのデータベースエンドポイントを更新してください。

    image

説明 スイッチオーバー後にデータエラーが発生した場合は、ロールバックしてデータベースをスイッチオーバー前の状態に戻してください。詳細については、「移行のロールバック」をご参照ください。移行開始前の状態を完全に復元するには、「移行のキャンセル」をご参照ください。

(オプション)ステップ 4:DTS タスクのスイッチオーバー

説明
  • ソースインスタンスがワンクリック移行タスク以外の DTS タスクに関与していない場合、コンソールにビジネス DTS タスク データベースエンドポイント スイッチオーバーボタンは表示されません。このステップはスキップしてください。

  • スキーマ移行および完全なデータ移行中は、データベースまたはテーブルスキーマを変更する DDL 文を実行しないでください。そうすると、移行タスクが失敗します。

ソースインスタンスが DTS タスク(ワンクリック移行タスクではない)に関与している場合は、スムーズなスイッチオーバーのために DTS タスクのソースまたはターゲットデータベースを変更してください。この機能の動作の詳細については、「ModifyDtsJobEndpoint」をご参照ください。

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

  2. 送信先クラスターを見つけ、クラスター ID をクリックします。

  3. 基本情報ページのRDS 移行セクションで、ビジネス DTS タスク データベースエンドポイント スイッチオーバーをクリックします。

    image

  4. ビジネス DTS タスク データベースエンドポイント スイッチオーバーダイアログボックスで、オプションを選択します。

    • ソースインスタンス DTS タスク(フォワードスイッチオーバー):ソース RDS インスタンスの DTS タスクを選択し、フォワードスイッチオーバーのコミットをクリックします。

    • 送信先インスタンスの DTS タスク (切り替えロールバック): image 送信先の PolarDB クラスターの DTS タスクを選択し、[切り替えロールバックをコミット] をクリックします。

    重要

    進める前に、ソース RDS インスタンスおよび送信先の PolarDB クラスターの両方の DTS 同期タスクのステータスを確認してください。詳細については、「DescribeDtsJobDetail」をご参照ください。

    image

説明
  • フォワードスイッチオーバー:ステップ 3(サービスのスイッチオーバー)の後、ステップ 5(移行の完了)の前にこのオプションを使用します。これにより、DTS タスクがソース RDS インスタンスから PolarDB クラスターに切り替わります。

  • スイッチオーバーロールバック:移行をロールバックした後、キャンセルする前にこのオプションを使用します。これにより、DTS タスクが PolarDB クラスターからソース RDS インスタンスに戻ります。

ステップ 5:移行の完了

ステップ 1 で PolarDB クラスターを作成した後、30 日以内に移行の完了をクリックします。

警告
  • データ移行が完了しており、データ同期が不要であることを確認した後でのみ、移行の完了をクリックしてください。物理移行の場合、これは RDS インスタンスから PolarDB クラスターへのデータレプリケーションを終了します。論理移行の場合、これは DTS データ同期タスクを削除します。

  • この操作により、PolarDB クラスターと RDS インスタンス間のデータ同期が永久に中断されます。移行のキャンセルオプションは以降利用できなくなります。移行を完了する前に、PolarDB クラスターを本番環境で一定期間運用し、安定性を確認してください。

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

  2. クラスターを見つけ、クラスター ID をクリックします。

  3. 基本情報ページのRDS 移行セクションで、移行の完了をクリックします。ダイアログボックスでOKをクリックします。

    説明
    • OKをクリックすると、システムは約 2 分以内にデータ同期を停止します。このプロセス中、移行ステータスは同期の無効化と表示されます。移行が完了するまでお待ちください。

    • 移行の完了ダイアログボックスで、PolarDB クラスターのバイナリロギングを無効にするかどうかを選択できます。バイナリロギングを無効にすると、書き込みパフォーマンスが若干向上します。変更を有効にするためにクラスターが自動的に再起動します。

    • ソース RDS インスタンスで更新または構成変更を行う必要がある場合は、まず移行の完了をクリックしてください。

    image

(オプション)ソース RDS インスタンスのリリースまたは登録解除

PolarDB クラスター上でサービスが正しく動作していることと、ソース RDS インスタンスが不要であることを確認した後、以下の手順でリリースまたは登録解除を行ってください。

(オプション)DTS データ同期タスクの詳細の確認(論理移行のみ)

論理移行中に事前チェック失敗などの移行エラーや、レプリケーション遅延が高いなどの異常が発生した場合は、DTS タスクの詳細を確認して問題を診断してください。

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

  2. クラスターを見つけ、クラスター ID をクリックします。

  3. 基本情報ページのRDS 移行セクションで、DTS データ同期タスク名をクリックして、DTS コンソールのタスクリストを開きます。

    DTS任务

  4. 同期タスクを見つけます。事前チェック失敗の詳細、タスクの詳細、およびタスクログを確認できます。任务详情

  5. 移行中に同期範囲に新しいデータベースを追加するには、オブジェクトの再選択をクリックします。

    image