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

Data Transmission Service:プライベート回線経由での自主管理 Redis から ECS への同期

最終更新日:Jun 23, 2026

このトピックでは、Express Connect、VPN Gateway、または Smart Access Gateway 経由で接続された自主管理 Redis データベースから、Elastic Compute Service (ECS) インスタンスでホストされている自主管理 Redis データベースにデータを同期するためのデータ同期タスクを設定する例を説明します。

警告

タスクを設定した後は、ソースまたはターゲットデータベースのアーキテクチャタイプを変更しないでください。たとえば、マスター/レプリカからクラスタアーキテクチャに切り替えると、タスクは失敗します。

前提条件

  • ソース Redis データベースは、バージョン 2.8、3.0、3.2、4.0、または 5.0 である必要があります。
    説明 ターゲット Redis データベースは、バージョン 2.8、3.0、3.2、4.0、および 5.0 をサポートしています。ターゲットのバージョンは、ソースのバージョンと同じか、それ以降である必要があります。異なるバージョン間でデータを同期する場合は、事前に互換性を確認してください。
  • ターゲット Redis データベースには、ソースデータベースが使用するストレージよりも多くの利用可能なストレージ容量が必要です。
  • ソース Redis データベースがクラスタアーキテクチャを使用している場合、クラスター内の各ノードは psync コマンドをサポートし、すべてのノードで同じパスワードを使用する必要があります。
  • repl-timeout repl-timeout パラメーターは、ソース Redis インスタンスのプライマリノードとレプリカノード間のレプリケーションタイムアウト期間です。デフォルト値は 60 秒です。config set repl-timeout 600 コマンドを実行して値を 600 秒に設定することをお勧めします。ソースデータベースに大量のデータが含まれている場合、必要に応じて repl-timeout パラメーターの値を大きくすることができます。
  • ターゲットデータベースにデータ同期アカウントが作成され、パスワードが設定されていること。

注意事項

  • 初期フルデータ同期は、ソースとターゲットの両方の負荷を増加させます。ご利用のデータベースが高いトラフィックを処理している場合や、低スペックのサーバーで実行されている場合、同期によってサービスが中断される可能性があります。パフォーマンスへの影響を評価し、オフピーク時間帯にタスクを実行してください。

  • ソースデータベースに有効期限ポリシーを持つキーがある場合、info などのコマンドで確認すると、ターゲットデータベースで報告されるキーの数が少なくなることがあります。これは、有効期限が切れたキーがすぐに削除されない場合があるためです。

    説明

    有効期限ポリシーがない、または有効期限が切れていないキーの数は、ソースデータベースとターゲットデータベースで同じです。

  • ソースデータベースの 設定ファイルで bind パラメーターを設定している場合、DTS がソースデータベースに接続できるように、その値を ECS インスタンスのプライベート IP アドレスに設定します。
  • リンクの安定性を確保するために、ソース Redis データベースの ファイルにある repl-backlog-size パラメーターの値を増やすことを推奨します。
  • 同期の品質を確保するため、DTS はソース Redis データベースにプレフィックス DTS_REDIS_TIMESTAMP_HEARTBEAT を持つキーを挿入し、更新タイムスタンプを記録します。
  • Redis クラスター間でデータ同期を設定する場合、ソースクラスターで FLUSHDB または FLUSHALL コマンドを実行しないでください。実行すると、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。
  • ターゲットのメモリが不足すると、データエビクションによりソースとターゲット間で不整合が生じる可能性があります。Tair (Redis OSS-Compatible) のデフォルトの maxmemory-policyvolatile-lru であり、タスクの操作には影響しませんが、データがエビクションされる可能性があります。

    データ損失を防ぐために、ターゲットのエビクションポリシーを noeviction に設定してください。このポリシーでは、メモリが枯渇すると書き込み操作は失敗し、タスクは停止しますが、データはエビクションされません。

  • 同期中に、自主管理 Redis データベースでスケーリング (シャードの追加や削除など) や仕様変更 (メモリの増設など) が行われた場合は、タスクを再設定する必要があります。データ整合性を確保するため、タスクを再設定する前に、すでにターゲット Redis データベースに同期されたデータをクリアすることを推奨します。
  • 同期中に、自主管理 Redis データベースのエンドポイントが変更された場合は、タスクを再設定する必要があります。
  • スタンドアロンからクラスターの Redis インスタンスに同期する場合、Redis クラスターでは単一のコマンドで1つのスロットしか操作できません。異なるスロットにあるキーに対する複数キー操作は、次のエラーを返します:

    CROSSSLOT Keys in request don't hash to the same slot

    タスクの中断を防ぐため、DTS 同期中は単一キー操作のみを実行してください。

  • ターゲットインスタンスがクラスターインスタンスで、シャードがメモリ制限に達した場合、またはターゲットインスタンスのストレージ容量が不足している場合、DTS タスクはメモリ不足 (OOM) エラーで失敗します。
  • DTS は、更新タイムスタンプを記録するために、DTS_REDIS_TIMESTAMP_HEARTBEAT というプレフィックスを持つキーをソースデータベースに挿入します。クラスターの場合、このキーは各シャードに挿入されます。このキーは同期中にフィルターされ、タスク完了後に有効期限が切れます。

  • ソースデータベースが読み取り専用インスタンスであるか、DTS アカウントに書き込み (SETEX) 権限がない場合、報告されるレイテンシが不正確になることがあります。

課金

同期タイプ

料金

スキーマ同期とフルデータ同期

無料です。

増分データ同期

有料です。詳細については、「課金概要」をご参照ください。

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

  • 1対1の一方向同期

  • 1対多の一方向同期

  • カスケード一方向同期

トポロジの詳細と注意事項については、「データ同期トポロジ」で説明しています。

サポートされる同期コマンド

  • APPEND

  • BITOP、BLPOP、BRPOP、BRPOPLPUSH

  • DECR、DECRBY、DEL

  • EVAL、EVALSHA、EXEC、EXPIRE、EXPIREAT

  • GEOADD、GETSET

  • HDEL、HINCRBY、HINCRBYFLOAT、HMSET、HSET、HSETNX

  • INCR、INCRBY、INCRBYFLOAT

  • LINSERT、LPOP、LPUSH、LPUSHX、LREM、LSET、LTRIM

  • MOVE、MSET、MSETNX、MULTI

  • PERSIST、PEXPIRE、PEXPIREAT、PFADD、PFMERGE、PSETEX

  • RENAME、RENAMENX、RESTORE、RPOP、RPOPLPUSH、RPUSH、RPUSHX

  • SADD、SDIFFSTORE、SELECT、SET、SETBIT、SETEX、SETNX、SETRANGE、SINTERSTORE、SMOVE、SPOP、SREM、SUNIONSTORE

  • ZADD、ZINCRBY、ZINTERSTORE、ZREM、ZREMRANGEBYLEX、ZUNIONSTORE、ZREMRANGEBYRANK、ZREMRANGEBYSCORE

  • SWAPDB、UNLINK (ソース Redis インスタンスがバージョン 4.0 以降の場合のみサポート)

  • XADD、XCLAIM、XDEL、XAUTOCLAIM、XGROUP CREATECONSUMER、XTRIM

説明
  • PUBLISH コマンドは同期されません。

  • EVAL または EVALSHA で呼び出される Lua スクリプトについて、DTS は増分データ同期中にターゲットでスクリプトが正常に実行されることを保証できません。これは、ターゲットが実行結果を明示的に返さないためです。

  • List データ型の場合、DTS は sync または psync でデータを再送信する際に、ターゲット上の既存のデータをクリアしません。これにより、データが重複する可能性があります。

操作手順

  1. データ同期インスタンスを購入します。詳細については、「データ同期インスタンスの購入」をご参照ください。
    説明 購入時に、ソースとターゲットの両方のインスタンスタイプを Redis に設定します。
  2. Data Transmission Service コンソールにログインします。

    説明

    Data Management (DMS) コンソールにリダイレクトされた場合は、右下隅の jiqiren アイコンをクリックし、次に 返回旧版 アイコンをクリックして、以前のバージョンの Data Transmission Service (DTS) コンソールに戻ります。

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

  4. 同期タスク ページの上部で、ターゲットインスタンスが配置されているリージョンを選択します。

  5. データ同期インスタンスを見つけ、[操作] 列の タスクの設定 をクリックします。
  6. ソースインスタンスとターゲットインスタンスを設定します。
    セクション パラメーター 説明
    N/A

    同期タスク名

    DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。
    ソースインスタンス詳細 インスタンスタイプ Express Connect/VPN Gateway/Smart Access Gateway 経由で接続されたユーザー作成データベース を選択します。
    インスタンスリージョン データ同期インスタンスを購入したときに選択したソースリージョンです。このパラメーターは変更できません。
    ピア VPC 自己管理データベースに接続されている VPC の ID を選択します。
    データベースタイプ これは Redis に固定されています。
    インスタンスモード ソース Redis データベースのアーキテクチャに基づいて スタンドアロン または クラスター を選択します。
    IP アドレス ソース Redis データベースの IP アドレスを入力します。
    説明 ソース Redis データベースがクラスタアーキテクチャを使用している場合は、いずれかのプライマリノードが存在するサーバーの IP アドレスを入力します。
    ポート番号 ソース Redis データベースのサービスポート番号を入力します。デフォルト値は 6379 です。
    説明 ソース Redis データベースがクラスタアーキテクチャを使用している場合は、いずれかのプライマリノードのサービスポート番号を入力します。
    データベースパスワード ソース Redis データベースに接続するためのパスワードを入力します。
    説明 このパラメーターはオプションです。パスワードが設定されていない場合は、空白のままにすることができます。
    ターゲットインスタンス詳細 インスタンスタイプ ECS インスタンス内のユーザー作成データベース を選択します。
    インスタンスリージョン データ同期インスタンスを購入したときに選択したターゲットリージョンです。このパラメーターは変更できません。
    ECS インスタンス ID 同期先となる ECS インスタンスの ID を選択します。
    説明 ターゲット Redis データベースがクラスタアーキテクチャを使用している場合は、いずれかのプライマリノードが配置されている ECS インスタンスの ID を選択します。
    インスタンスモード ターゲット Redis データベースのアーキテクチャに基づいて スタンドアロン または クラスター を選択します。
    ポート番号 ターゲット Redis データベースのサービスポート番号を入力します。デフォルト値は 6379 です。
    説明 ターゲット Redis データベースがクラスタアーキテクチャを使用している場合は、いずれかのプライマリノードのサービスポート番号を入力します。
    データベースパスワード ターゲット Redis データベースに接続するためのパスワードを入力します。
    説明 このパラメーターは必須です。空白のままにすると、事前チェックは失敗します。
  7. ページの右下隅にある ホワイトリストを設定して次へ をクリックします。
    説明
    • ソースまたはターゲットデータベースが Alibaba Cloud データベースインスタンス (例:RDS for MySQLApsaraDB for MongoDB) または ECS インスタンス上の自己管理データベースである場合、DTS は関連リージョンの DTS サーバーの IP アドレスを Alibaba Cloud データベースインスタンスのホワイトリストまたは ECS セキュリティグループルールに自動的に追加します。手動で追加する必要はありません。詳細については、「DTS サーバーの IP アドレス」をご参照ください。
    • DTS タスクが完了またはリリースされた後、追加された DTS サーバーの IP アドレス範囲を手動で削除することを推奨します。
  8. 既存の宛先オブジェクトの処理モードを設定し、同期オブジェクトを選択します。

    設定

    説明

    既存のオブジェクトの処理モード

    • エラーの事前チェックと報告:ターゲットデータベースが空であるかどうかを確認します。空でない場合、事前チェックは失敗し、タスクは開始されません。

    • エラーを無視して続行:空のターゲットデータベースのチェックをスキップします。

      警告

      エラーを無視して続行 を選択すると、同期中に同じキーを持つターゲットデータがソースデータで上書きされます。注意して使用してください。

    同期オブジェクト

    • ソースオブジェクト ボックスで、同期したいデータベースをクリックし、 アイコンをクリックして 選択中のオブジェクト ボックスに移動します。

    • 同期オブジェクトとしてデータベースを選択できます。個々のキーは選択できません。

    マップされた名前を編集

    このシナリオではオブジェクトの名前を変更することはできません。

    DMS を使用したオンライン DDL 中に一時テーブルをレプリケート

    Data Management (DMS) を使用してソースデータベースでオンライン DDL 変更を実行する場合、DDL 変更によって生成された一時テーブルを同期するかどうかを選択できます。

    • :オンライン DDL 変更によって生成された一時テーブルを同期します。

      説明

      オンライン DDL 変更によって大量の一時テーブルデータが生成されると、データ同期タスクが遅延する可能性があります。

    • いいえ:オンライン DDL 変更によって生成された一時テーブルを同期しません。ソースデータベースからの元の DDL 操作のみが同期されます。

      説明

      このオプションを選択すると、ターゲットデータベースのテーブルがロックされます。

    接続再試行期間

    DTS がソースまたはターゲットインスタンスに接続できない場合、デフォルトで 720 分 (12 時間) 再試行します。カスタムの再試行期間を指定することもできます。指定された期間内に DTS がソースまたはターゲットインスタンスに再接続すると、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

    説明

    接続再試行中のタスク実行時間に対して課金されます。ビジネスニーズに基づいて再試行期間をカスタマイズするか、ソースおよびターゲットインスタンスがリリースされたらすぐに DTS インスタンスをリリースしてください。

  9. 次へ をクリックします。

  10. 初期同期方法は フルデータ + 増分データ に固定されています。

    説明
  11. 設定が完了したら、ページの右下隅にある 事前チェックして開始 をクリックします。

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

    • 事前チェックが失敗した場合は、確認項目の横にある 提示 アイコンをクリックして、失敗の詳細を表示します。

      • 詳細に基づいて問題を修正し、事前チェックを再度実行できます。

      • 警告項目を修正する必要がない場合は、無視 または 無視して再実行 をクリックして続行できます。

  12. 事前チェック ダイアログボックスに 事前チェック完了 と表示されたら、事前チェック ダイアログボックスを閉じます。その後、同期タスクが開始されます。

  13. タスクが初期化されるのを待ちます。ステータスが 同期中 に変わります。

    説明

    データ同期 ページでタスクのステータスを確認できます。