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

PolarDB:PolarDB for MySQL から RDS for MySQL へのデータ同期

最終更新日:Mar 28, 2026

Data Transmission Service (DTS) を使用して、PolarDB for MySQL クラスターから ApsaraDB RDS for MySQL インスタンスへデータを継続的に同期します。主なユースケースには、ディザスタリカバリ、読み取り負荷のオフロード、ゼロダウンタイム移行トランジションが含まれます。

サポートされる送信先タイプ

本トピックでは、ApsaraDB RDS for MySQL インスタンスを送信先として使用します。以下の送信先タイプにも同様の手順が適用されます。

  • ApsaraDB RDS for MySQL インスタンス

  • Elastic Compute Service (ECS) 上でホストされる自己管理データベース

  • Express Connect、VPN Gateway、または Smart Access Gateway 経由で接続された自己管理データベース

  • Database Gateway 経由で接続された自己管理データベース

  • Cloud Enterprise Network (CEN) 経由で接続された自己管理データベース

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • PolarDB for MySQL クラスター。詳細については、「サブスクリプションクラスターの購入」または「従量課金クラスターの購入」をご参照ください。

  • 送信先としての ApsaraDB RDS for MySQL インスタンス。詳細については、「ApsaraDB RDS for MySQL インスタンスの作成」をご参照ください。

  • 送信先インスタンスに、ソースクラスターの合計データサイズを超える十分なストレージ容量があること

  • 同期対象オブジェクトに対する読み取り権限を持つソースデータベースアカウント

  • ターゲットデータベースに対する読み取りおよび書き込み権限を持つ送信先データベースアカウント

  • ソースクラスターでバイナリロギングが有効化されており、loose_polar_log_binon に設定しています(増分同期に必要)。詳細については、「バイナリロギングの有効化」および「パラメーターの変更」をご参照ください。

重要

バイナリロギングを有効化すると、PolarDB for MySQL クラスターにおけるバイナリログファイルの保存に伴うストレージ料金が発生します。

バイナリログの保持期間に関する要件は以下のとおりです。

タスクタイプ最低保持期間
増分データ同期のみ24 時間
完全データ同期+増分データ同期7 日間

完全データ同期が完了した後は、保持期間を 24 時間より長く設定できます。バイナリログの保持期間が十分でない場合、DTS がログを読み取れず、タスクが失敗する可能性があります。また、例外的なケースではデータの不整合や損失が発生する場合があります。これらの要件を満たさないタスクは、DTS のサービスレベルアグリーメント(SLA)の対象外となります。

制限事項

ソースデータベースの制限事項

  • テーブルには PRIMARY KEY または一意制約(UNIQUE constraint)が必要であり、すべてのフィールドが一意である必要があります。これらの制約がないテーブルを使用すると、送信先に重複レコードが生成される可能性があります。

  • テーブルを選択して同期対象とし、そのテーブルを編集(例:テーブル名またはカラム名の変更)する必要がある場合、1 つのタスクで最大 1,000 個のテーブルをサポートします。1,000 個を超えるテーブルを同期する場合は、複数のタスクを構成するか、データベース単位での同期を実行してください。

  • ソース PolarDB for MySQL クラスターの読み取り専用ノードは同期できません。

同期中の DDL 操作

  • 同期中に、ソーステーブルに対して pt-online-schema-change を使用した DDL 操作は行わないでください。これによりタスクが失敗する可能性があります。

  • DTS がターゲットデータベースへの唯一の書き込み元である場合、Data Management (DMS) を使用してソーステーブルに対してオンライン DDL 操作を実行できます。「ロックフリー操作の実行」をご参照ください。

  • DTS 以外のツールもターゲットデータベースへ書き込む場合、DMS のオンライン DDL 操作によってターゲット側でデータ損失が発生する可能性があります。

RENAME TABLE risk

同期対象としてテーブル(データベースではなく)を選択し、同期中にそのテーブル名を変更した場合、当該テーブルのデータ同期が停止します。これを回避するには、同期対象としてデータベース全体を選択し、名前変更前および変更後のデータベース名の両方を同期対象オブジェクトに含める必要があります。

完全データ同期のパフォーマンス

初期完全同期中、DTS はソースおよび送信先の両方で読み取りおよび書き込みリソースを使用します。負荷を最小限に抑えるため、非ピーク時間帯に同期を実行することを推奨します。完全同期中に並列で INSERT 操作を実行すると、送信先のテーブルが断片化し、完全同期完了後に送信先の表領域がソースよりも大きくなります。

外部キーの動作

  • スキーマ同期中、DTS はソースから送信先へ外部キーを同期します。

  • 完全および増分データ同期中、DTS はセッションレベルで外部キーの制約チェックおよびカスケード操作を一時的に無効化します。同期中にソースでカスケード更新または削除操作を実行すると、データの不整合が発生する可能性があります。

課金

同期タイプ料金
スキーマ同期および完全データ同期無料
増分データ同期課金済み。詳細については、「課金概要

サポートされる同期トポロジ

詳細については、「同期トポロジ」をご参照ください。

  • 単方向 1 対 1 同期

  • 単方向 1 対多同期

  • 単方向カスケード同期

  • 双方向カスケード同期

  • 単方向多対 1 同期

  • 双方向 1 対 1 同期

同期可能な SQL 操作

タイプ操作
DMLINSERT、UPDATE、DELETE
DDLALTER TABLE、ALTER VIEW、CREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE、CREATE VIEW、DROP INDEX、DROP TABLE、RENAME TABLE、TRUNCATE TABLE

データ同期タスクの構成

ステップ 1:データ同期タスクページを開く

  1. Data Management (DMS) コンソール にログインします。

  2. 上部のナビゲーションバーで、DTS をクリックします。

  3. 左側のナビゲーションウィンドウで、DTS (DTS)データ同期 を選択します。

ナビゲーションオプションは、DMS コンソールモードによって異なります。詳細については、「シンプルモード」または「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。また、「データ同期タスクページ」に直接アクセスすることもできます。

ステップ 2:タスクの作成

  1. 同期インスタンスを配置するリージョンを選択します。

    新しい DTS コンソールでは、上部のナビゲーションバーからリージョンを選択します。
  2. タスクの作成 をクリックします。

  3. (任意)前のバージョンに戻る ボタンが表示されていない場合、右上隅の 新しい構成ページ をクリックします。利用可能な場合は新しい構成ページを使用してください。バージョン間で一部のパラメーターが異なります。

ステップ 3:ソースおよび送信先データベースの構成

警告

ソースおよび送信先データベースの構成後は、次に進む前にページ上部に表示される 制限事項 を必ずご確認ください。これを省略すると、タスクの失敗やデータの不整合が発生する可能性があります。

ソースデータベースのパラメーター:

パラメーター説明
タスク名タスクの名前です。DTS がデフォルト名を割り当てます。識別が容易になるよう、意味のある名前を指定してください。名前の重複は許可されます。
DMS データベースインスタンスの選択既存の登録済みインスタンスを選択するか、ソースデータベースを手動で設定します。 Alibaba Cloud データベースを登録するには、「Alibaba Cloud データベースインスタンスを登録する」をご参照ください。 自己管理データベースを登録するには、「サードパーティのクラウドサービスでホストされているデータベースまたは自己管理データベースを登録する」をご参照ください。 DTS コンソールで、[データベース接続] ページを使用します。
データベースタイプPolarDB for MySQL を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョンソース PolarDB for MySQL クラスターが配置されているリージョンです。
Alibaba Cloud アカウント間でのデータ複製いいえ を選択します(本例では同一の Alibaba Cloud アカウントを使用します)。
PolarDB クラスター IDソース PolarDB for MySQL クラスターの ID です。
データベースアカウント

同期対象オブジェクトに対する読み取り権限を持つアカウントです。

データベースパスワードデータベースアカウントのパスワードです。
暗号化ソース クラスターへの接続を暗号化するかどうか。詳細については、「SSL 暗号化の設定」をご参照ください。

送信先データベースのパラメーター:

パラメーター説明
DMS データベースインスタンスの選択既存の登録済みインスタンスを選択するか、送信先データベースを手動で構成してください。上記の登録リンクをご参照ください。
データベースタイプMySQL を選択します。
アクセス方法Alibaba Cloud インスタンス を選択します。
インスタンスリージョン送信先 ApsaraDB RDS for MySQL インスタンスが配置されているリージョンです。
Alibaba Cloud アカウント間でのデータ複製いいえ を選択します。
RDS インスタンス ID送信先 ApsaraDB RDS for MySQL インスタンスの ID です。
データベースアカウントターゲットデータベースに対する読み取りおよび書き込み権限を持つアカウントです。
データベースパスワードデータベースアカウントのパスワードです。
暗号化[非暗号化] または [SSL 暗号化] を選択します。[SSL 暗号化] を選択した場合は、まず RDS インスタンスで SSL 暗号化を有効化してください。詳細については、「SSL 暗号化機能の設定」をご参照ください。

ステップ 4:接続性のテスト

接続性のテストと続行 をクリックします。

DTS は、その CIDR ブロックを Alibaba Cloud データベースインスタンスのホワイトリストと、ECS でホストされているデータベースのセキュリティグループルールに自動的に追加します。複数の ECS インスタンスでホストされているデータベースの場合、各 ECS インスタンスのセキュリティグループルールに CIDR ブロックを手動で追加する必要があります。データセンターまたはサードパーティのクラウドプロバイダーの自己管理データベースの場合、DTS の CIDR ブロックを手動で追加する必要があります。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

警告

DTS の CIDR ブロックをホワイトリストまたはセキュリティグループに追加すると、潜在的なセキュリティリスクが発生します。続行する前に、アカウント認証情報の強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストルールの定期監査、可能であれば Express Connect、VPN Gateway、または Smart Access Gateway を介した接続など、予防措置を講じてください。

ステップ 5:同期対象オブジェクトの選択

同期対象の選択 ページで、以下のパラメーターを構成します。

パラメーター説明
同期タイプスキーマ同期完全データ同期、および 増分データ同期 を選択します。完全データ同期は、増分同期の基盤(ベースライン)を確立します。完全な同期セットアップを行うには、これら 3 つを同時に選択してください。増分データ同期 はデフォルトで選択されています。
ソースデータベース内のトリガーの移行方法スキーマ同期 を選択した場合にのみ利用可能です。トリガーの処理方法を選択します。「ソースデータベースからのトリガーの同期または移行」をご参照ください。
同期トポロジ単方向同期 を選択します。
競合テーブルの処理モード事前チェックとエラー報告(デフォルト):ソースと送信先に同名のテーブルが存在する場合、事前チェックが失敗します。競合を解決するには、オブジェクト名マッピングを使用します。「オブジェクト名マッピング」をご参照ください。エラーを無視して続行:同名のテーブルに関する事前チェックをスキップします。フル同期中は、主キーまたは一意キーの値が一致する場合、送信先の既存レコードが保持されます。増分同期中は、一致するレコードが上書きされます。スキーマが異なる場合、同期が部分的に失敗する可能性があります。
送信先インスタンスにおけるオブジェクト名の大文字小文字の区別デフォルトは DTS デフォルトポリシー です。宛先インスタンスで特定の大文字小文字の区別が必要な場合は調整してください。詳細については、「宛先インスタンスでのオブジェクト名の大文字小文字の指定」をご参照ください。
ソースオブジェクトオブジェクトを選択し、矢印アイコンをクリックして 選択済みオブジェクト に移動します。カラム、テーブル、またはデータベースを選択できます。テーブルまたはカラムを選択した場合、ビュー、トリガー、ストアドプロシージャは除外されます。
選択済みオブジェクトオブジェクトを右クリックして、名前を変更するか、行レベルのフィルター条件を設定します。[一括編集] をクリックして、複数のオブジェクトを一度に名前を変更します。「オブジェクト名のマッピング」および「フィルター条件の設定」をご参照ください。オブジェクトの名前を変更すると、依存オブジェクトの同期が中断される場合があります。

ステップ 6:高度な設定の構成

次へ:高度な設定 をクリックし、以下の項目を構成します。

パラメーター説明
タスクスケジューリング用の専用クラスターDTS はデフォルトで共有クラスターを使用します。タスクの安定性を高めるには、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
ソーステーブルに生成されたオンライン DDL ツールの一時テーブルをターゲットデータベースにコピーするDTS がオンライン DDL ツール (DMS または gh-ost) からの一時テーブルをどのように処理するかを制御します。はい:一時テーブルのデータを同期します (同期時間が長くなる可能性があります)。いいえ、DMS オンライン DDL に適応:一時テーブルをスキップします。最終的な DDL のみが同期されます (ターゲットテーブルが一時的にロックされる可能性があります)。いいえ、gh-ost に適応:gh-ost のシャドウテーブルをスキップします。最終的な DDL のみが同期されます (ターゲットテーブルが一時的にロックされる可能性があります)。pt-online-schema-change は使用しないでください。タスクが失敗する原因となります。
接続失敗時の再試行時間タスク開始後に DTS が失敗した接続を再試行する時間。範囲:10~1,440 分。デフォルト:720。このパラメーターは 30 より大きい値に設定することを推奨します。複数のタスクが同じソースまたはターゲットを共有する場合、最も短い再試行時間が適用されます。再試行時間は課金の対象となります。
その他の問題の再試行時間DTS が失敗した DDL または DML 操作を再試行する時間。範囲:1~1,440 分。デフォルト:10。このパラメーターは 10 より大きい値に設定することを推奨します。[接続失敗時の再試行時間] より短くする必要があります。
フルデータ移行のスロットリングを有効にするフルデータ同期中にソースへの秒間クエリ数 (QPS)、RPS、および移行速度 (MB/s) を制限して、負荷を軽減します。[フルデータ同期] を選択した場合にのみ表示されます。
増分データ同期のスロットリングを有効にする増分同期中の RPS と同期速度 (MB/s) を制限します。
環境タグDTS インスタンスを分類するためのオプションのタグです。
正逆タスクのハートビートテーブルに対する SQL 操作を削除するかどうかはい:DTS はソースにハートビート SQL を書き込みません (タスクの遅延メトリックに影響する可能性があります)。いいえ:DTS はソースにハートビート SQL を書き込みます (ソースの物理バックアップやクローニングに影響する可能性があります)。
ETL の設定はい:抽出、変換、ロード (ETL) 処理を有効にします。コードエディタにデータ処理文を入力します。詳細については、「ETL の設定」をご参照ください。いいえ:ETL を無効にします。
モニタリングとアラートはい:アラートのしきい値と通知設定を構成して、タスクの失敗または同期遅延に関するアラートを受信します。詳細については、「モニタリングとアラートの設定」をご参照ください。いいえ:アラート機能なし。

ステップ 7:データ検証の構成(任意)

[次へ: バリデーション設定] をクリックして、データのバリデーションを設定します。詳細については、「データのバリデーションを設定する」をご参照ください。

ステップ 8:事前チェックの実行

次へ:タスク設定の保存と事前チェック をクリックします。

このタスクの OpenAPI パラメーターをプレビューするには、ボタンにカーソルを合わせて OpenAPI パラメーターのプレビュー をクリックします。

事前チェックを実行する前に、以下の点を確認して失敗リスクを低減してください。

  • バイナリロギングが有効化され、loose_polar_log_binon に設定されていること

  • ソースアカウントが読み取り権限を持ち、送信先アカウントが読み取りおよび書き込み権限を持つこと

  • バイナリログの保持期間が「前提条件」セクションに記載された最低要件を満たしていること

  • ソーステーブルに PRIMARY KEY または一意制約があること

事前チェックが成功した場合にのみ、タスクが開始されます。

  • 項目が失敗した場合、詳細の表示 をクリックして原因を確認し、問題を修正した後、再事前チェック をクリックします。

  • 安全に無視できる警告がある場合、警告の詳細の確認無視OK をクリックし、その後 再事前チェック をクリックします。警告を無視すると、データの不整合が発生する可能性があります。

ステップ 9:同期インスタンスの購入

成功率100% に達したら、次へ:インスタンスの購入 をクリックします。

パラメーター説明
課金方法サブスクリプション:固定期間分を前払いします。利用可能な期間は 1~9 か月、または 1 年、2 年、3 年、5 年です。期間が長いほど月額コストが低くなります。従量課金:1 時間単位で課金されます。インスタンスが不要になったらリリースして課金を停止してください。
リソースグループ設定項目インスタンスのリソースグループです。デフォルト:default resource group。詳細については、「What is Resource Management?
インスタンスクラス同期のパフォーマンスと速度を決定します。データ量および遅延要件に応じて選択してください。詳細については、「Instance classes of data synchronization instances」をご参照ください。
サブスクリプション期間サブスクリプション課金でのみ利用可能です。期間およびインスタンス数を設定します。

Data Transmission Service (従量課金) サービス利用規約 をお読みになり、同意の上、購入して開始 をクリックします。

同期タスクがタスクリストに表示されます。そこから進行状況を監視できます。

DTS は、バイナリログ位置を進めるために、ソースデータベースで定期的に CREATE DATABASE IF NOT EXISTS `test` を実行します。これは想定される動作です。

次のステップ