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

AnalyticDB:ECS インスタンス上の自己管理 MySQL データベースから AnalyticDB for PostgreSQL へのデータ同期

最終更新日:Mar 28, 2026

Data Transmission Service (DTS) を使用して、ECS インスタンス上でホストされている MySQL データベースから AnalyticDB for PostgreSQL インスタンスへデータを継続的にレプリケーションします。DTS は初期完全同期およびその後の増分同期の両方を自動で処理するため、手動による介入なしに分析用データを常に最新の状態に保つことができます。

前提条件

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

  • ECS インスタンス上で実行中の MySQL データベース(バージョン 5.1、5.5、5.6、5.7、または 8.0)

  • ソース MySQL データベースでバイナリロギングが有効化され、同期タスク用のデータベースアカウントが作成されています。設定手順については、「自己管理 MySQL データベース用のアカウントを作成してバイナリロギングを設定する」をご参照ください。データベースアカウントには、以下の権限が必要です:SELECT(同期対象のオブジェクトに対するもの)、REPLICATION CLIENT、REPLICATION SLAVE、および SHOW VIEW。

  • 同期対象となるすべてのテーブルにプライマリキーが定義されていること

  • AnalyticDB for PostgreSQL インスタンス。セットアップ手順については、「AnalyticDB for PostgreSQL インスタンスの作成」をご参照ください。

制限事項

サポート対象オブジェクト: テーブルのみ。データベースやスキーマを直接同期することはできません。

サポート対象 SQL 操作:

  • DML:`INSERT`、`UPDATE`、`DELETE`

  • DDL: ADD COLUMN 操作は CREATE TABLE 文ではサポートされていません。タスクの開始後に追加された新しいテーブルを同期するには、選択されたオブジェクトに手動で追加してください。詳細については、「データ同期タスクにオブジェクトを追加する」をご参照ください。

サポート対象外のデータ型: `BIT`、`VARBIT`、`GEOMETRY`、`ARRAY`、`UUID`、`TSQUERY`、`TSVECTOR`、`TXID_SNAPSHOT`、`POINT`。これらのデータ型を持つカラムは DTS により同期されません。

プレフィックスインデックス: プレフィックスインデックスは同期されません。ソーステーブルでプレフィックスインデックスを使用している場合、データの同期に失敗する可能性があります。

オンライン DDL ツール: アクティブな同期タスク実行中に `gh-ost` や `pt-online-schema-change` を使用しないでください。これにより、データ同期が失敗する可能性があります。

サポート対象の同期トポロジ

  • 単方向・一対一同期

  • 単方向・一対多同期

  • 単方向・多対一同期

用語の対応関係

MySQL と AnalyticDB for PostgreSQL では、同一の概念に対して異なる用語が使用されます。

MySQLAnalyticDB for PostgreSQL
DatabaseSchema
TableTable

同期タスクの設定

ステップ 1:DTS インスタンスの購入

DTS インスタンスの購入。購入ページで、以下のオプションを設定します:

  • ソースインスタンス: MySQL

  • 宛先インスタンス: AnalyticDB for PostgreSQL

  • 同期トポロジ: 単方向同期

ステップ 2:同期チャネルの構成

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

  2. 左側ナビゲーションウィンドウで、[データ同期] をクリックします。

  3. [同期タスク] ページ上部で、宛先インスタンスが配置されているリージョンを選択します。

  4. DTS インスタンスを検索し、操作列の [同期チャネルの構成] をクリックします。

  5. ソースおよび宛先インスタンスを構成します。

    Configure the source and destination instances

    ソースインスタンスの詳細

    パラメーター説明
    同期タスク名DTS が自動生成します。識別しやすいよう、意味のある名前を指定することを推奨します。名前は一意である必要はありません。
    インスタンスタイプ[ECS インスタンス上のユーザー作成データベース] を選択します。
    インスタンスリージョン購入ページで選択したソースリージョン。読み取り専用です。
    インスタンス ID自己管理 MySQL データベースをホストする ECS インスタンスを選択します。
    データベースタイプ[MySQL] に設定します。読み取り専用です。
    ポート番号MySQL サービスのポート番号を入力します。デフォルト値: 3306
    データベースアカウント同期タスク用の MySQL アカウントを入力します。このアカウントには、「前提条件」に記載された権限が必要です。
    データベースパスワードデータベースアカウントのパスワードを入力します。

    宛先インスタンスの詳細

    パラメーター説明
    インスタンスタイプ[AnalyticDB for PostgreSQL] に設定します。読み取り専用です。
    インスタンスリージョン購入ページで選択した宛先リージョン。読み取り専用です。
    インスタンス ID宛先の AnalyticDB for PostgreSQL インスタンスを選択します。
    データベース名宛先データベースの名前を入力します。
    データベースアカウントAnalyticDB for PostgreSQL インスタンスの [初期アカウント]、または RDS_SUPERUSER 権限を持つアカウントを入力します。詳細については、「データベースアカウントの作成」および「ユーザーと権限の管理」をご参照ください。
    データベースパスワード宛先データベースアカウントのパスワードを入力します。
  6. [ホワイトリストの設定と次へ] をクリックします。

    DTS は、DTS サーバーの CIDR ブロックを自動的に ECS インスタンスのインバウンドルールおよび AnalyticDB for PostgreSQL のホワイトリストに追加するため、DTS が両インスタンスにアクセス可能になります。

ステップ 3:同期対象オブジェクトと同期ポリシーの選択

Synchronize data from MySQL to AnalyticDB for PostgreSQL

以下の設定を構成します。

設定オプションおよび説明
[初期同期][初期スキーマ同期] および [初期完全データ同期] の両方を選択します。DTS は、増分同期を開始する前に、スキーマとデータを宛先インスタンスにコピーします。
[競合テーブルの処理モード][ターゲットテーブルのクリア]:初期完全同期の前に宛先テーブルのデータをクリアします。テスト実行後や新規環境構築時に使用します。[無視]:既存レコードにデータを追加します。複数のソーステーブルから 1 つの宛先テーブルへデータをマージする場合に使用します。
同期の種類同期する DML 操作を選択します:[Insert][Update][Delete][AlterTable]
[同期対象オブジェクト][利用可能] セクションで同期対象のテーブルを選択し、 アイコンを使用して [選択済み]Rightwards arrowオブジェクト名マッピング セクションへ移動します。宛先インスタンスでのオブジェクト名変更を行う場合は、「」機能をご利用ください。
[DMS による DDL 操作実行時の一時テーブルのレプリケーション]DMSソースで を使用してオンライン DDL 操作を実行する場合に適用されます。[はい]:オンライン DDL 操作によって生成された一時テーブルを同期します。大規模な DDL 操作では同期遅延が発生する可能性があります。[いいえ]:一時テーブルをスキップし、元の DDL データのみを同期します。この場合、宛先テーブルがロックされる可能性があります。
[接続失敗時の再試行時間]デフォルト値:720 分(12 時間)。DTS はこの期間内に接続を再試行します。期間内に接続が復旧した場合、同期タスクは自動的に再開されます。ご利用の可用性要件に応じて設定してください。再試行期間中は DTS インスタンスの課金が発生します。

ステップ 4:プライマリキー列および分布列の設定(初期スキーマ同期のみ)

このステップは、[初期スキーマ同期] を選択した場合にのみ表示されます。AnalyticDB for PostgreSQL へ同期する各テーブルについて、プライマリキー列および分布列を指定します。

Set primary key and distribution columns

詳細については、「制約の定義」および「テーブルのディストリビューションの定義」をご参照ください。

ステップ 5:事前チェックの実行と同期の開始

  1. 右下隅の [事前チェック] をクリックします。DTS はタスク開始前に構成内容を検証します。いずれかのチェック項目が失敗した場合、失敗項目横の 提示 アイコンをクリックして詳細を確認し、問題を修正して再実行してください。失敗項目がご利用のユースケースにおいて重大でない場合は、[無視] をクリックしてバイパスし、再度事前チェックを実行できます。

  2. [事前チェックが正常に完了しました] と表示されたら、ダイアログを閉じます。同期タスクが自動的に開始されます。

  3. 初期同期の完了までお待ちください。増分同期が開始されると、タスクのステータスが [同期中] に変わります。タスクのステータスは、[同期タスク] ページで確認できます。

    View the status of a data synchronization task

パフォーマンスに関する考慮事項

初期完全データ同期中、DTS はソースからの読み取りと宛先への書き込みを同時に行います。負荷が高いデータベース、仕様が低いデータベース、またはデータ量が非常に多いデータベースでは、この動作がパフォーマンスに影響を与える可能性があります。影響を最小限に抑えるため、CPU 使用率がソースおよび宛先の両方で 30 % 未満となるオフピーク時間帯に同期を実行することを推奨します。