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

Tair (Redis® OSS-Compatible):オンプレミスまたは他社クラウドから Alibaba Cloud Tair への移行

最終更新日:Feb 05, 2026

Data Transmission Service (DTS) を使用すると、オンプレミス環境、ECS インスタンス、または他社クラウドにデプロイされた Redis データベースを、サービス中断なしで Tair (Redis OSS-compatible) へ移行できます。DTS は、データベースサービスの稼働中に、完全移行および増分移行を Tair (Redis OSS-compatible) へ実行します。この方法は、AOF メソッドを用いたデータ移行と比較して、より高いパフォーマンスとセキュリティを提供します。

機能概要

  • 完全移行

    DTS は、ソースデータベースのすべての既存データをターゲットデータベースへ移行します。完全移行は無料です。

  • 増分移行

    完全移行に加えて、DTS はソースデータベースからの増分更新をリアルタイムでターゲットデータベースへ同期します。増分移行を実行するには、ソースデータベース上で PSYNC または SYNC コマンドを実行可能である必要があります。それ以外の場合、完全移行のみが可能です。増分移行は、データ量ではなく移行期間に基づいて課金されます。詳細については、「課金項目」をご参照ください。

    説明

    増分移行を正常に完了させるためには、ソースデータベースのレプリケーション出力バッファー制限を無効化してください。これを行うには、ソースデータベースに接続し、次のコマンドを実行します:CONFIG SET client-output-buffer-limit 'slave 0 0 0'

前提条件

Tair (Redis OSS-compatible) インスタンスを作成します。ターゲットインスタンスのメモリ容量は、ご利用の自主管理 Redis データベースが使用するメモリ量よりも大きい必要があります。詳細については、「インスタンスの作成」をご参照ください。

説明

ターゲットデータベースの合計メモリは、ソースデータベースのメモリ使用量より少なくとも 10 % 大きくなければなりません。ターゲットデータベースのメモリが不足している場合、データ整合性の不一致やタスクの失敗が発生する可能性があります。そのような場合は、ターゲットデータベースをクリアし、タスクを再構成してください。

注意事項

移行中は、インスタンスのスケールアップ/ダウン、インスタンスタイプの変更、およびソースまたはターゲットデータベースのエンドポイントの変更を行わないでください。これらの操作により、移行タスクが失敗し、タスクを再構成する必要が生じます。移行プロセスでは、ソースおよびターゲットデータベースの両方のリソースが消費されます。移行は、トラフィックが少ない時間帯(オフピーク時)に実行してください。

操作手順

  1. 移行タスク一覧ページへ移動します。

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

    2. 上部のメニューバーから、Data + AI > Data Transmission Service (DTS) > Data Migration を選択します。

    3. 移行タスク の右側で、ターゲットインスタンスが配置されているリージョンを選択します。

  2. タスクの作成 をクリックします。

  3. ソースおよびターゲットデータベースの情報を設定し、ページ下部の 接続テストと続行 をクリックします。

    カテゴリ

    設定

    説明

    なし

    タスク名

    DTS が自動的にタスク名を生成します。識別が容易になるよう、意味のある名前を指定することを推奨します。タスク名は一意である必要はありません。

    ソースデータベース

    DMS データベースインスタンスの選択

    ソースデータベースを DMS に追加済みの場合は、ここで選択できます。選択後は、以下のソースデータベース情報の入力は不要です。未追加の場合は、このオプションは無視してください。

    データベースタイプ

    Tair/Redis を選択します。

    アクセス方法

    ソースデータベースのデプロイ先に応じて接続タイプを選択します。オンプレミスデータセンターまたは他社クラウドに配置されている場合は、パブリック IP を選択します。

    本例では、ECS 上の自主管理データベース を使用します。

    インスタンスリージョン

    ECS インスタンスが配置されているリージョンを選択します。オンプレミスデータセンターまたは他社クラウドに配置されている場合は、ソースデータベースに最も近いリージョンを選択します。

    Alibaba Cloud アカウント間

    本例では、同一 Alibaba Cloud アカウント内での移行を示しています。そのため、いいえ を選択します。

    ECS インスタンス ID

    ソースデータベースが配置されている ECS インスタンスの ID を選択します。

    説明

    ソースデータベースがクラスタアーキテクチャを使用している場合、マスターノードのいずれかが配置されている ECS インスタンスの ID を選択します。

    インスタンスモード

    ソースデータベースのアーキテクチャに応じてモードを選択します:

    • Basic Edition:標準アーキテクチャ(マスター・レプリカ)。

    • Cluster Edition:クラスタアーキテクチャ。ソースデータベースがクラスタアーキテクチャを使用している場合、ポート パラメーターには、マスターノードのいずれかのポート番号を入力します。

    ポート

    ソース Redis データベースのポートを入力します。デフォルト値は 6379 です。

    認証方法

    必要に応じて、パスワードによるログイン または パスワードなしのログイン を選択します。

    説明

    自主管理 Redis データベースにパスワードが設定されていない場合は、パスワードなしのログイン を選択できます。

    データベースパスワード

    ソース Redis データベースへの接続に使用するパスワードを入力します。

    説明
    • このパラメーターは任意です。パスワードが設定されていない場合は、空欄のままにしてください。

    • カスタムアカウントを使用する場合、そのアカウントには読み取り権限が必要です。アカウントとパスワードの形式は <user>:<password> です。たとえば、Redis インスタンスのカスタムアカウントが admin、パスワードが Rp829dlwa の場合、データベースパスワードとして「admin:Rp829dlwa」を入力します。

    接続方法

    必要に応じて、暗号化されていない接続 または SSL 暗号化接続 を選択します。

    説明

    ソースの自主管理 Redis データベース(接続タイプクラウドインスタンス でない場合)が SSL 暗号化接続 を使用している場合、CA 証明書 をアップロードし、CA キー を入力する必要があります。

    宛先データベース

    DMS データベースインスタンスの選択

    ターゲットデータベースを DMS に追加済みの場合は、ここで選択できます。選択後は、以下のターゲットデータベース情報の入力は不要です。未追加の場合は、このオプションは無視してください。

    データベースタイプ

    Tair/Redis がデフォルトで選択されています。

    アクセス方法

    クラウドインスタンス を選択します。

    インスタンスリージョン

    ターゲットインスタンスが配置されているリージョンを選択します。

    インスタンス ID

    ターゲットインスタンスの ID を選択します。

    認証方法

    必要に応じて、パスワードによるログイン または パスワードなしのログイン を選択します。本例では、パスワードによるログイン を使用します。

    説明

    Tair (Redis OSS-compatible) インスタンスで VPC 向けの パスワードなしのアクセス機能 が有効になっていない場合、パスワードによるログイン を選択します。

    データベースパスワード

    ターゲットデータベースへの接続に使用するパスワードを入力します。

    説明

    カスタムアカウントを使用する場合、そのアカウントには書き込み権限が必要です。アカウントとパスワードの形式は <user>:<password> です。たとえば、Redis インスタンスのカスタムアカウントが admin、パスワードが Rp829dlwa の場合、データベースパスワードとして「admin:Rp829dlwa」を入力します。

    接続方法

    必要に応じて、暗号化されていない接続 または SSL 暗号化接続 を選択します。

  4. タスクオブジェクトを設定し、ページ下部の 次へ:高度な設定 をクリックします。

    設定

    説明

    移行タイプ

    必要に応じて、移行タイプ を選択します。

    • 完全移行+増分移行(デフォルト):ネイティブの Redis 同期ロジックを使用して、メモリスナップショットとしてデータをターゲットへ書き込みます。これにより、ソースデータベースを停止せずに移行が可能です。

      ソースデータベースで SYNC または PSYNC の権限がない場合は、完全データ移行 を選択します。

    • 完全データ移行:SCAN コマンドを使用してソースデータベース全体を走査し、走査したデータをターゲットへ書き込みます。データ整合性を保つため、移行中はソースインスタンスへの新規データの書き込みを避けてください。

    競合テーブルの処理モード

    • 事前チェックを行い、エラー時にブロック(デフォルト):ターゲットデータベースにキーが存在するかどうかを確認します。

      キーが存在する場合、事前チェック段階でエラーが報告され、移行タスクは開始されません。キーが存在しない場合、チェックは通過します。

    • 無視して続行:「ターゲットデータベース内の既存オブジェクトのチェック」をスキップします。同名のキーがターゲットデータベースにすでに存在する場合、それらは上書きされます。

    ソースオブジェクト および 選択中のオブジェクト

    ソースオブジェクト ボックスで移行対象のオブジェクトを選択し、image.png をクリックして 選択中のオブジェクト ボックスへ移動します。選択済みオブジェクトを削除するには、選択中のオブジェクト ボックスで該当オブジェクトをクリックし、image.png をクリックして ソースオブジェクト ボックスへ戻します。

    説明

    移行の粒度はデータベース単位(DB 0 ~ DB 255)です。

  5. 高度な設定を構成し、ページ下部の 次へ:データ検証 をクリックします。

    通常はデフォルト設定のままで問題ありません。詳細については、「付録:高度な設定」をご参照ください。

  6. 検証設定を構成し、ページ下部の 次へ:タスクの保存と事前チェック をクリックします。

    通常はデフォルト設定のままで問題ありません。詳細については、「DTS 同期または移行インスタンス向けのデータ検証の構成」をご参照ください。

  7. 事前チェックを実行します。事前チェックが完了したら、次へ:購入 をクリックします。

    事前チェックで 警告 または 失敗 が表示された場合は、それぞれを個別に対処する必要があります。各項目について、詳細の表示 をクリックして、提供された手順に従って修正してください。また、アラートの詳細を確認 をクリックして項目を無視することもできますが、その場合、データ整合性の不一致が発生し、ビジネスにリスクを及ぼす可能性があります。詳細については、「事前チェックの問題点」をご参照ください。問題を解決した後は、再度事前チェックを実行してください。

  8. 購入 ページで設定を構成し、購入と開始 をクリックします。

    • (任意)DTS 移行リンクの リソースグループ を選択します。デフォルトのリソースグループ がデフォルトで使用されます。

    • (任意)DTS 移行リンクのインスタンスクラスを選択します。より高いインスタンスクラスは、より高速な移行速度を提供しますが、コストも高くなります。デフォルトは large です。詳細については、「データ移行リンクの仕様」をご参照ください。

    • 利用規約を読み込んで選択してください。

    購入後、移行タスクが開始されます。進行状況は「データ移行」ページで確認できます。

次のステップ

  • 増分移行を実行した場合、移行完了後にコンソールからタスクを手動で終了またはリリースする必要があります。

  • 移行されたデータの検証が可能です。詳細については、「移行データの検証」をご参照ください。

関連ドキュメント

オンライン移行を必要としないデータベースの場合は、redis-cli などの軽量ツールを使用して AOF ファイルをインポートすることで、データ移行を実行できます。詳細については、「AOF ファイルからのデータ移行」をご参照ください。

よくある質問

  • 接続テストが失敗するのはなぜですか?

    以下の項目を確認してください:

    • アカウントまたはパスワードが正しくありません。Redis パスワードの形式は user:password です。詳細については、「インスタンスのログイン方法」をご参照ください。

    • ソースデータベースがオンプレミスデータセンターまたは他社クラウドにある場合、ネットワークファイアウォールが存在する可能性があります。DTS サーバーの IP アドレスを、対応するリージョンのファイアウォールホワイトリストに手動で追加し、DTS からのアクセスを許可する必要があります。詳細については、「DTS サーバーの CIDR ブロックをホワイトリストに追加」をご参照ください。

  • タスクが失敗するのはなぜですか?

    • 移行中、インスタンスのスケールアップ/ダウン、インスタンスタイプの変更、およびソースまたはターゲットデータベースのエンドポイントの変更などの操作を行うと、タスクが失敗します。タスクを再構成する必要があります。

    • ターゲットインスタンスのメモリが不足している場合、またはクラスターインスタンスでシャードのメモリ使用量が上限に達している場合、DTS タスクはメモリ不足(OOM)エラーにより失敗します。

    • ターゲットインスタンスで透過的データ暗号化(TDE)が有効になっている場合、DTS を使用したデータ移行はサポートされていません。

  • なぜデータの不整合が発生するのですか?

    • ソースデータベースの一部のキーに生存時間(TTL)ポリシーが設定されている場合、ターゲットデータベースのキー数がソースより少なくなることがあります。これは、期限切れのキーが即座に削除されないためです。

    • List オブジェクトの場合、DTS は PSYNC または SYNC を使用してデータを転送する際に、ターゲットの既存データに対して FLUSH 操作を実行しません。これにより、重複データが発生する可能性があります。

    • 完全移行中にネットワークが切断された場合、DTS が完全移行を複数回再試行することがあります。このプロセスでは、同名のキーが自動的に上書きされます。再試行中にソースデータベースで削除操作が実行された場合、そのコマンドはターゲットへ同期されません。これにより、ターゲットデータベースのデータ量がソースより多くなる可能性があります。

  • 事前チェックで Redis の立ち退きポリシーが noeviction に設定されているかを検証するのはなぜですか?

    Tair (Redis OSS-compatible) のデフォルトのデータ立ち退きポリシー(maxmemory-policy)は volatile-lru です。ターゲットデータベースのメモリが不足した場合、データ立ち退きがトリガーされ、ソースとターゲットのデータ整合性が不一致になる可能性があります。ただし、タスクの通常の動作には影響しません。この問題を防ぐため、ターゲットデータベースのデータ立ち退きポリシーを noeviction に設定してください。このポリシーを使用した場合、ターゲットデータベースのメモリが不足すると、データ書き込みが失敗し、タスクも失敗します。ただし、立ち退きによるデータ損失は発生しません。データ立ち退きポリシーの詳細については、「Redis データ立ち退きポリシー」をご参照ください。

  • ソースデータベースに DTS_REDIS_TIMESTAMP_HEARTBEAT キーが存在するのはなぜですか?

    移行および同期の品質を確保するため、DTS はソースデータベースに DTS_REDIS_TIMESTAMP_HEARTBEAT をプレフィックスとするキーを挿入し、更新タイムスタンプを記録します。ソースデータベースがクラスタアーキテクチャを使用している場合、DTS はこのキーを各シャードに挿入します。DTS はタスク実行中にこのキーをフィルター処理し、タスク終了後にキーは自動的に有効期限切れになります。

  • 増分移行でサポートされるコマンドはどれですか?

    • 以下のコマンドがサポートされています:

      • APPEND

      • BITOP、BLPOP、BRPOP、BRPOPLPUSH

      • DECR、DECRBY、DEL

      • EVAL、EVALSHA、EXEC、EXPIRE、EXPIREAT

      • FLUSHALL、FLUSHDB

      • 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、PUBLISH

      • 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

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

    • EVAL または EVALSHA によって呼び出される Lua スクリプトについては、ターゲットが明示的な実行結果を返さないため、DTS はスクリプトの実行成功を確認できません。

付録:高度な設定

設定

説明

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

移行タスクの接続に失敗した場合、DTS は継続的に接続をリトライします。デフォルトのリトライ期間は 720 分であり、有効範囲は 10 ~ 1440 分です。リトライ期間内に接続が復旧した場合、移行タスクは自動的に再開されます。それ以外の場合はタスクが失敗します。ビジネス要件に応じて、リトライ期間をカスタマイズできます。30 分以上を設定することを推奨します。

リトライ期間中も DTS サービスの課金は継続されます。

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

移行中、ソースまたはターゲットデータベースで接続性以外の問題が発生した場合、DTS はエラーを報告し、継続的にリトライします。デフォルトのリトライ期間は 10 分であり、有効範囲は 10 ~ 1440 分です。リトライ期間内に関連する操作が正常に完了した場合、移行タスクは自動的に再開されます。それ以外の場合はタスクが失敗します。10 分以上を設定することを推奨します。

完全なデータ移行のスロットリングを有効化

増分データの書き込みは、ターゲットインスタンスの負荷を高める可能性があります。1 秒あたりの行数およびデータ量の上限を設定することで、増分移行の負荷を制御(スロットル)できます。これにより、ターゲットインスタンスの負荷を低減できます。デフォルトは いいえ です。

環境タグ

インスタンスを識別するために環境タグを選択できます。

ターゲットデータベースにおけるキーの有効期限延長

この設定により、ターゲットデータベース内のキーの有効期限が延長されます。デフォルトの延長時間は 1800 秒です。移行時点でキーの有効期限が切れている場合、そのキーはターゲットデータベースへ移行されません。

スレーブノードの使用

自主管理のソース Redis の インスタンスモードクラスター の場合、スレーブノードからデータを読み取るかどうかを選択できます。デフォルトは いいえ であり、マスターノードからデータを読み取ります。

ETL 機能の設定

抽出・変換・書き出し(ETL)機能を構成するかどうかを選択します。ETL の詳細については、「ETL とは?」をご参照ください。

モニタリングおよびアラート通知

アラート通知を構成するかどうかを指定します。同期が失敗した場合、または遅延が指定されたしきい値を超えた場合、アラート連絡先へ通知が送信されます。