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

Data Transmission Service:RDS for MySQL のデータサブスクリプションタスクの作成

最終更新日:Jul 25, 2026

データサブスクリプション機能を使用すると、ソースデータベースから増分データ変更をリアルタイムでサブスクライブできます。軽量なキャッシュ更新、非同期のビジネスデカップリング、ETL ロジックを含むリアルタイムデータ同期などのユースケースをサポートします。このトピックでは、RDS for MySQL インスタンスのデータサブスクリプションタスクを作成する方法について説明します。

前提条件

制限事項

タイプ

説明

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

  • サブスクライブ対象のテーブルには、プライマリキーまたは一意制約が必要であり、その制約内のフィールドは一意である必要があります。そうでない場合、重複したデータを受信する可能性があります。

  • テーブルレベルでデータをサブスクライブする場合、1 つのサブスクリプションタスクでサポートされるテーブルは最大 500 です。この制限を超えると、送信後にタスクがエラーで失敗します。この場合、テーブルを複数のサブスクリプションタスクに分割するか、データベース全体に対してサブスクリプションタスクを設定することを推奨します。

  • バイナリログの要件:

    • バイナリログは、RDS for MySQL インスタンスではデフォルトで有効になっています。インスタンスのパラメーターを表示して、binlog_row_image パラメーターが full に設定されていることを確認する必要があります。そうでない場合、事前チェックが失敗し、データサブスクリプションタスクを開始できません。

    • RDS for MySQL インスタンスのローカルバイナリログは、少なくとも 3 日間 (7 日間を推奨) 保持する必要があります。自己管理 MySQL データベースのローカルバイナリログは、少なくとも 7 日間保持する必要があります。そうでない場合、Data Transmission Service (DTS) がバイナリログを取得できず、タスクの失敗につながる可能性があります。極端なケースでは、データの不整合や損失を引き起こす可能性があります。バイナリログの保持期間が不十分なことによって引き起こされる問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

      説明
      • RDS for MySQL インスタンスの場合、ローカルログの保持期間がバイナリログの保持期間となります。

      • 自己管理 MySQL データベースの場合、設定ファイル (通常は my.cnf または my.ini) の binlog_expire_log_days パラメーターでバイナリログの保持期間を指定します。

  • ソースインスタンスが読み取り専用インスタンスまたは一時インスタンスである場合は、トランザクションログが記録されることを確認してください。

    説明
    • RDS コンソールで、RDS for MySQL インスタンスが読み取り専用インスタンスか一時インスタンスかを確認できます。

    • 自己管理 MySQL データベースで、SHOW VARIABLES LIKE 'read_only'; コマンドを実行します。結果が ON の場合、データベースは読み取り専用インスタンスです。

その他の制限事項

  • FLOAT または DOUBLE 型のカラムのサブスクリプション精度がビジネス要件を満たしているか確認してください。DTS は、ROUND(COLUMN,PRECISION) 関数を使用してこれらのカラムから値を読み取ります。精度を明示的に定義しない場合、DTS は FLOAT カラムの精度を 38 桁、DOUBLE カラムの精度を 308 桁に設定します。

  • DTS は、pt-online-schema-change などのツールによって行われた DDL の変更をサブスクライブしません。その結果、スキーマの不整合により、コンシューマークライアントがターゲットテーブルにデータを書き込めなくなる可能性があります。

  • DTS は、16 MB を超える単一データ行の消費をサポートしていません。これにより、コンシューマークライアントで Out of Memory (OOM) エラーが発生する可能性があります。

  • タスクが失敗した場合、DTS サポートスタッフは 8 時間以内に復旧を試みます。復旧中、タスクを再起動したり、パラメーターを調整したりすることがあります。

    説明

    パラメーターの調整は DTS インスタンスのパラメーターのみを変更し、データベースのパラメーターは変更しません。

操作手順

  1. 次のいずれかの方法で [変更追跡タスク] ページに移動し、変更追跡インスタンスが存在するリージョンを選択します。

    DTS コンソール

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

    2. 左側のナビゲーションウィンドウで、[変更追跡] をクリックします。

    3. ページの左上隅で、変更追跡インスタンスが存在するリージョンを選択します。

    DMS コンソール

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモードコンソール」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。

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

    2. 上部のナビゲーションバーで、ポインターを [データ + AI] > [DTS (DTS)] > [変更追跡] に移動します。

    3. [変更追跡タスク] の右側にあるドロップダウンリストから、変更追跡インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク設定ページに移動します。

  3. [ソースデータベース] と [コンシューマーネットワークタイプ] セクションでパラメーターを設定します。

    警告

    ソースデータベースインスタンスを指定した後、ページの上部に表示される [使用制限] をお読みいただくことを推奨します。そうしないと、タスクが失敗したり、追跡されたデータが消費できなくなったりする可能性があります。

    セクション

    パラメーター

    説明

    N/A

    タスク名

    変更追跡タスクの名前。DTS はタスクに自動的に名前を割り当てます。タスクを簡単に識別できるような、わかりやすい名前を指定することを推奨します。一意のタスク名を使用する必要はありません。

    ソースデータベース

    既存の接続情報の選択

    • DTS に登録されているデータベースインスタンスを使用する場合、ドロップダウンリストからインスタンスを選択します。DTS はインスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • インスタンスを DTS に登録できない場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を設定する必要があります。

    データベースタイプ

    MySQL を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスリージョン

    RDS for MySQL インスタンスが配置されているリージョンを選択します。

    Alibaba Cloudアカウント全体でのデータの複製

    このチュートリアルでは、× を選択します。

    重要

    アカウント間でソースデータベースリソースにアクセスする必要がある場合 (○ を選択)、DTS タスクの作成に使用する Alibaba Cloud アカウントに対して RAM 認可を設定する必要があります。また、Alibaba Cloud アカウント と RAM ロール名 を入力する必要もあります。手順については、「クロスアカウントタスクの RAM 認可の設定」をご参照ください。

    RDS インスタンス ID

    RDS for MySQL インスタンスの ID を選択します。

    データベースアカウント

    RDS for MySQL データベースの [読み取り専用アカウント]、または REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、SELECT 権限を持つカスタムアカウントを入力します。

    データベースパスワード

    データベースインスタンスへのアクセスに使用するパスワード。

    暗号化

    データベースインスタンスへの接続を暗号化するかどうかを指定します。要件に応じて [非暗号化] または [SSL 暗号化] を選択します。[SSL 暗号化] を選択する場合は、変更追跡タスクを設定する前に ApsaraDB RDS for MySQL インスタンスの SSL 暗号化を有効にする必要があります。詳細については、「SSL 暗号化機能の設定」をご参照ください。

    消費者ネットワークタイプ

    ネットワークタイプ

    [ネットワークタイプ] パラメーターの値は [VPC] に固定されています。[VPC] と [vSwitch] を選択する必要があります。詳細については、「VPC」をご参照ください。

    説明
    • 変更追跡タスクが設定された後、[コンシューマーネットワークタイプ] セクションの設定は変更できません。

    • 変更追跡クライアントが VPC にデプロイされている場合は、クライアントに接続されている同じ [VPC] と [vSwitch] を選択することを推奨します。

    • 内部ネットワーク経由でデータ変更を追跡する場合、ネットワーク遅延は最小限に抑えられます。

  4. ページの下部で、[接続性をテストして続行] をクリックします。

    説明
    • DTS サーバーの CIDR ブロックが、ソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加され、DTS サーバーからのアクセスが許可されていることを確認してください。詳細については、「DTS サーバーの IP アドレスのホワイトリスト登録」をご参照ください。

    • ソースデータベースが自己管理データベースで、その [アクセス方法] が [Alibaba Cloud インスタンス] に設定されていない場合は、[DTS サーバーの CIDR ブロック] ダイアログボックスで [接続性をテスト] をクリックします。

  5. 変更追跡のオブジェクトを設定します。

    1. オブジェクト設定 ページで、変更追跡のオブジェクトを設定します。

      パラメーター

      説明

      データ変更タイプ

      データ変更タイプ はデフォルトで選択されており、変更できません。

      • データ更新

        DTS は、INSERT、DELETE、UPDATE 操作を含む、選択したオブジェクトのデータ更新を追跡します。

      • スキーマ更新

        DTS は、ソースインスタンスのすべてのオブジェクトスキーマに対して実行される作成、削除、変更操作を追跡します。追跡するデータをフィルタリングするには、変更追跡クライアントを使用する必要があります。

      ソースオブジェクト

      [ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、Right arrow アイコンをクリックしてオブジェクトを [選択したオブジェクト] セクションに追加します。

      説明

      変更追跡のオブジェクトとして、テーブルまたはデータベースを選択できます。

      • オブジェクトとしてデータベースを選択した場合、DTS はデータベース内の新しいオブジェクトを含む、すべてのオブジェクトの増分データを追跡します。

      • オブジェクトとしてテーブルを選択した場合、DTS はこのテーブルの増分データのみを追跡します。この場合、別のテーブルのデータ変更を追跡したい場合は、そのテーブルをオブジェクトリストに追加する必要があります。詳細については、「変更追跡のオブジェクトの変更」をご参照ください。

    2. 詳細設定へ をクリックして、詳細設定を行います。

      パラメーター

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      デフォルトでは、DTS はタスクを共有クラスターにスケジュールします。このパラメーターを設定する必要はありません。指定された仕様の専用クラスターを購入して、DTS 変更追跡タスクを実行できます。詳細については、「DTS 専用クラスターとは」をご参照ください。

      失敗した接続の再試行時間

      接続失敗時の再試行時間範囲。変更追跡タスクが失敗した場合、DTS は時間範囲内で即座に接続を再試行します。有効な値:10~1440。単位:分。デフォルト値:720。このパラメーターは 30 より大きい値に設定することを推奨します。指定された時間範囲内に DTS がソースデータベースインスタンスに再接続されると、DTS は変更追跡タスクを再開します。そうでない場合、変更追跡タスクは失敗します。

      説明
      • 1 つのデータベースインスタンスに対して複数の変更追跡タスクが設定されている場合、最も短い再試行時間範囲が優先されます。たとえば、タスク A とタスク B が同じデータベースインスタンスに対して設定されているとします。タスク A の再試行時間範囲は 30 分、タスク B の再試行時間範囲は 60 分です。この場合、30 分の再試行時間範囲が優先されます。

      • DTS が接続を再試行すると、料金が発生します。ビジネス要件に基づいて再試行時間範囲を指定するか、ソースデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      その他の問題の再試行時間範囲。たとえば、変更追跡タスクの開始後に DDL または DML 操作が失敗した場合、DTS は再試行時間範囲内で即座に操作を再試行します。有効な値:1~1440。単位:分。デフォルト値:10。このパラメーターは 10 より大きい値に設定することを推奨します。指定された再試行時間範囲内に失敗した操作が正常に実行されると、DTS は変更追跡タスクを再開します。そうでない場合、変更追跡タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメーターの値は、失敗した接続の再試行時間 パラメーターの値より小さくする必要があります。

      順方向および逆方向タスクのハートビートテーブル SQL を削除

      DTS インスタンスの実行中にハートビート SQL 情報をソースデータベースに書き込むかどうかを選択します。

      • ○:ハートビート SQL 情報はソースデータベースに書き込まれません。これにより、DTS インスタンスが遅延を報告する可能性があります。

      • ×:ハートビート SQL 情報をソースデータベースに書き込みます。これにより、ソースデータベースの物理バックアップやクローニングなどの機能に干渉する可能性があります。

      環境タグ

      必要に応じて、インスタンスを識別するための環境タグを選択できます。このチュートリアルでは、選択は不要です。

      監視アラート

      変更追跡タスクのアラート機能を有効にするかどうかを指定します。アラートが設定されており、タスクが失敗した場合や遅延がしきい値を超えた場合に、アラート通知が送信されます。有効な値:

      • [いいえ]:アラート機能を有効にしません。

      • [はい]:アラート機能を有効にします。この場合、アラートのしきい値とアラート通知設定も設定する必要があります。詳細については、「インスタンス設定時のアラート設定」をご参照ください。

  6. ページの下部で、[次へ:タスク設定を保存して事前チェック] をクリックします。

    • 関連する API オペレーションを呼び出して DTS タスクを設定する際に指定するパラメーターを表示するには、ポインターを 次:タスク設定の保存と事前チェック に移動し、OpenAPI パラメーターのプレビュー をクリックします。

    • パラメーターを表示する必要がない場合、または表示済みである場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • 変更追跡タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、変更追跡タスクを開始できます。

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。エラーメッセージに基づいて問題をトラブルシューティングした後、再度事前チェックを実行できます。

    • 事前チェック中に項目に対してアラートが生成された場合は、シナリオに基づいて次の操作を実行します:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、再度事前チェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで [OK] をクリックします。その後、[再度事前チェック] をクリックして再度事前チェックを実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスに潜在的なリスクが生じる可能性があります。

  7. インスタンスを購入します。

    1. [成功率] が [100%] になるまで待ちます。その後、[次へ:インスタンスの購入] をクリックします。

    2. [購入] ページで、変更追跡インスタンスの課金方法を指定します。次の表にパラメーターを示します。

      パラメーター

      説明

      課金方法

      • サブスクリプション:インスタンス作成時にサブスクリプション料金を支払います。サブスクリプションの課金方法は、長期間の使用において従量課金よりも費用対効果が高くなります。サブスクリプション期間が長いほど、料金は安くなります。

      • 従量課金:従量課金インスタンスは時間単位で課金されます。短期間の使用には従量課金を選択することを推奨します。従量課金インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。

      [リソースグループ設定]

      インスタンスが属するリソースグループ。デフォルト値:[デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。

      [変更追跡インスタンスの課金タイプ]

      サブスクリプションの課金方法を選択した場合、[変更追跡インスタンスの課金タイプ] パラメーターには [全額設定料金 (データトラフィック料金なし)] のみ選択できます。

      サブスクリプション期間

      サブスクリプションの課金方法を選択した場合は、サブスクリプション期間と作成するインスタンスの数を設定します。サブスクリプション期間は、1~9 ヶ月、1 年、2 年、3 年、または 5 年です。

      説明

      このパラメーターは、サブスクリプション 課金方法を選択した場合にのみ利用可能です。

    3. [Data Transmission Service (従量課金) 利用規約] を読み、選択します。

    4. [購入して開始] をクリックして変更追跡タスクを開始します。タスクリストでタスクの進行状況を確認できます。

次のステップ

サブスクリプションタスクが実行されたら、コンシューマーグループを作成し、クライアントのデータ消費方法を選択します。