このトピックでは、Data Transmission Service (DTS) を使用して Tair (Redis OSS-compatible) インスタンス間でデータを移行する方法について説明します。
前提条件
ソースおよびターゲットの Tair (Redis OSS-compatible) インスタンスが作成されていること。
説明ソースおよびターゲットの Tair (Redis OSS-compatible) インスタンスを作成する方法の詳細については、「ステップ 1: インスタンスの作成」をご参照ください。
サポートされているデータベースバージョンの詳細については、「移行ソリューションの概要」をご参照ください。
ターゲットの Tair (Redis OSS-compatible) インスタンスの利用可能なストレージ容量は、ソースの Tair (Redis OSS-compatible) インスタンスが使用するストレージ容量よりも大きい必要があります。
使用上の注意
タイプ | 説明 |
ソースデータベースの制限 |
|
その他の制限 |
|
特殊なケース | ソースデータベースが自己管理 Redis インスタンスの場合:
|
課金
移行タイプ | インスタンス構成料金 | インターネットトラフィック料金 |
完全データ移行 | 無料です。 | ターゲットデータベースの アクセス方法 パラメーターが パブリック IP アドレス に設定されている場合、インターネットトラフィックに対して課金されます。詳細については、「課金の概要」をご参照ください。 |
増分データ移行 | 課金されます。詳細については、「課金の概要」をご参照ください。 |
移行タイプ
移行タイプ | 説明 |
完全データ移行 | DTS は、必要なオブジェクトの既存データをソースデータベースからターゲットデータベースに移行します。 |
増分データ移行 | 完全データ移行が完了した後、DTS は増分データをソースデータベースからターゲットデータベースに移行します。増分データ移行により、データ移行中に自己管理アプリケーションのサービスを中断することなく、データをスムーズに移行できます。 |
増分データ移行でサポートされるコマンド
APPEND
BITOP, BLPOP, BRPOP, and BRPOPLPUSH
DECR, DECRBY, and DEL
EVAL, EVALSHA, EXEC, EXPIRE, and EXPIREAT
FLUSHALL and FLUSHDB
GEOADD and GETSET
HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, and HSETNX
INCR, INCRBY, and INCRBYFLOAT
LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, and LTRIM
MOVE, MSET, MSETNX, and MULTI
PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, PSETEX, and PUBLISH
RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH, and RPUSHX
SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, and SUNIONSTORE
ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, and ZREMRANGEBYSCORE
XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER, and XTRIM
手順
次のいずれかの方法でデータ移行ページに移動し、データ移行インスタンスが存在するリージョンを選択します。
DTS コンソール
DTS コンソールにログインします。
左側のナビゲーションウィンドウで、データの移行 をクリックします。
ページの左上隅で、データ移行インスタンスが存在するリージョンを選択します。
DMS コンソール
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソールにログインします。
上部のナビゲーションバーで、ポインターを に移動します。
[データ移行タスク] の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。
タスクの作成 をクリックして、タスク構成ページに移動します。
ソースデータベースとターゲットデータベースを構成します。次の表にパラメーターを示します。
カテゴリ
パラメーター
説明
N/A
タスク名
DTS タスクの名前。DTS は自動的にタスク名を生成します。タスクを簡単に識別できるような、情報量の多い名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。
移行元データベース
既存の接続情報の選択
DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスの選択] ドロップダウンリストからデータベースインスタンスを選択できます。
DTS へのインスタンスの登録に失敗した場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ソースの ApsaraDB for Tair (Redis-compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、同じ Alibaba Cloud アカウント内でデータを移行する方法を示します。× を選択します。
インスタンス ID
ソースの ApsaraDB for Tair (Redis-compatible) インスタンスの ID を選択します。
認証方法
ビジネス要件に基づいて認証方式を選択します。この例では、パスワードログイン を選択します。
説明バージョン 6.0 以降の Redis データベースのみが アカウント + パスワードログイン をサポートします。
シークレットフリーのログイン を選択する場合は、Redis データベースでパスワードなしのアクセス機能を有効にしてください。Tair (Redis OSS-compatible) インスタンスでパスワードなしのアクセスを有効にする方法については、「パスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
ソースの ApsaraDB for Tair (Redis-compatible) インスタンスのパスワードを入力します。アカウントには読み取り権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (アカウント名はインスタンス ID と同じ): パスワードのみを入力します。
新しいアカウント: パスワードを
<カスタムアカウント>:<パスワード>形式で入力します。例: testaccount:Test1234。
説明このパラメーターはオプションです。パスワードが設定されていない場合は、空のままにすることができます。
暗号化
ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化 または SSL 暗号化 を選択します。
説明アクセス方法 を Alibaba Cloud インスタンス 以外に設定し、自己管理 Redis データベースに対して SSL 暗号化 を選択した場合、CA 証明書 をアップロードし、CA キー を入力する必要があります。
移行先データベース
既存の接続情報の選択
DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスの選択] ドロップダウンリストからデータベースインスタンスを選択できます。
DTS へのインスタンスの登録に失敗した場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ターゲットの ApsaraDB for Tair (Redis-compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、同じ Alibaba Cloud アカウント内でデータを移行する方法を示します。× を選択します。
インスタンス ID
ターゲットの ApsaraDB for Tair (Redis-compatible) インスタンスの ID を選択します。
認証方法
ビジネス要件に基づいて認証方式を選択します。この例では、パスワードログイン を選択します。
説明バージョン 6.0 以降の Redis データベースのみが アカウント + パスワードログイン をサポートします。
シークレットフリーのログイン を選択する場合は、Redis データベースでパスワードなしのアクセス機能を有効にしてください。Tair (Redis OSS-compatible) インスタンスでパスワードなしのアクセスを有効にする方法については、「パスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
ターゲットの ApsaraDB for Tair (Redis-compatible) インスタンスのパスワードを入力します。アカウントには読み取りおよび書き込み権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (アカウント名はインスタンス ID と同じ): パスワードのみを入力します。
新しいアカウント: パスワードを
<カスタムアカウント>:<パスワード>形式で入力します。例: testaccount:Test1234。
暗号化
ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化 または SSL 暗号化 を選択します。
説明アクセス方法 を Alibaba Cloud インスタンス 以外に設定し、自己管理 Redis データベースに対して SSL 暗号化 を選択した場合、CA 証明書 をアップロードし、CA キー を入力する必要があります。
ページの下部で、[接続テストと次へ] をクリックします。
説明DTS サーバーの CIDR ブロックが、ソースおよびターゲットデータベースのセキュリティ設定に自動または手動で追加され、DTS サーバーからのアクセスが許可されることを確認してください。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。
ソースまたはターゲットデータベースが自己管理データベースであり、その アクセス方法 が Alibaba Cloud インスタンス に設定されていない場合は、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックします。
移行するオブジェクトを構成します。
オブジェクト設定 ページで、移行するオブジェクトを構成します。
パラメーター
説明
移行タイプ
完全データ移行 と 増分データ移行 (または 完全データ移行 + 増分データ移行) の両方を選択することをお勧めします。DTS インスタンスに使用されるアカウントにソースデータベースに対する SYNC または PSYNC 権限がない場合は、完全データ移行 を選択します。
競合するテーブルの処理モード
エラーの事前チェックと報告: ターゲットデータベースが空であるかどうかをチェックします。ターゲットデータベースが空の場合、事前チェックは合格します。そうでない場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。
エラーを無視して続行: ターゲットデータベース内のオブジェクトデータの存在検査 チェック項目をスキップします。
警告エラーを無視して続行 を選択すると、ソースデータベースのデータが、ソースデータと同じキーを持つターゲットデータベースのデータを上書きします。これにより、ターゲットデータベースでデータが失われる可能性があります。注意して進めてください。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。
アイコンをクリックして、オブジェクトを 選択中のオブジェクト セクションに追加します。説明データベースを移行オブジェクトとして選択できます。データベース内の特定のキーのデータを移行する場合は、選択中のオブジェクト ボックスの データフィルタリング 機能を使用します。
選択中のオブジェクト
ターゲットデータベース (DB 0 から DB 255) を指定したり、プレフィックスでデータをフィルターしたりするには、マッピングまたはフィルタリング機能を使用します。選択中のオブジェクト ボックスで、移行するデータベースを右クリックします。表示される スキーマの編集 ダイアログボックスで、設定を構成します。詳細については、「スキーママッピング」および「フィルター条件の設定」をご参照ください。
次へ:詳細設定 をクリックして詳細設定を構成します。
パラメーター
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、専用クラスターを指定しない場合、DTS はデータ移行タスクを共有クラスターにスケジュールします。データ移行タスクの安定性を向上させたい場合は、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
失敗した接続の再試行時間
失敗した接続のリトライ時間範囲。データ移行タスクの開始後にソースまたはターゲットデータベースへの接続に失敗した場合、DTS はリトライ時間範囲内で直ちに接続をリトライします。有効値: 10 から 1,440。単位: 分。デフォルト値: 720。パラメーターを 30 より大きい値に設定することをお勧めします。指定されたリトライ時間範囲内に DTS がソースおよびターゲットデータベースに再接続された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
説明同じソースまたはターゲットデータベースを共有する複数のデータ移行タスクに異なるリトライ時間範囲を指定した場合、後から指定された値が優先されます。
DTS が接続をリトライする際、DTS インスタンスに対して課金されます。ビジネス要件に基づいてリトライ時間範囲を指定することをお勧めします。また、ソースデータベースとターゲットインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることもできます。
移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。
その他の問題のリトライ時間範囲。たとえば、データ移行タスクの開始後に DDL または DML 操作の実行に失敗した場合、DTS はリトライ時間範囲内で直ちに操作をリトライします。有効値: 1 から 1440。単位: 分。デフォルト値: 10。パラメーターを 10 より大きい値に設定することをお勧めします。指定されたリトライ時間範囲内に失敗した操作が正常に実行された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
重要移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメーターの値は、失敗した接続の再試行時間 パラメーターの値より小さくする必要があります。
完全移行率を制限するかどうか
完全データ移行のスロットリングを有効にするかどうかを指定します。完全データ移行中、DTS はソースおよびターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、完全データ移行のスロットリングを有効にできます。スロットリングを構成するには、1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを構成する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、移行タイプ に 完全データ移行 が含まれている場合にのみ使用できます。
増分移行率を制限するかどうか
増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを構成するには、1 秒あたりの増分移行の行数 RPS および 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを構成する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、移行タイプ に 増分データ移行 が含まれている場合にのみ使用できます。
移行先データベースキーの有効期限を延長する
ソースからターゲットデータベースに移行されたキーに追加の有効期限を設定します。データ整合性を確保するため、次のようなコマンドが使用される場合は、延長された有効期限を設定することをお勧めします。
説明分散ロックを含むシナリオでは、これによりロックが迅速に解放されなくなる可能性があります。
expire key seconds pexpire key milliseconds expireat key timestamp pexpireat key timestampMs環境タグ
必要に応じて、インスタンスを識別するための環境タグを選択できます。この例では、タグを選択する必要はありません。
ETL の設定
抽出・変換・書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:
[はい]: ETL 機能を構成します。コードエディタにデータ処理文を入力できます。詳細については、「データ移行またはデータ同期タスクで ETL を構成する」をご参照ください。
[いいえ]: ETL 機能を構成しません。
監視アラート
データ移行タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先は通知を受け取ります。有効な値:
[いいえ]: アラートを構成しません。
[はい]: アラートを構成します。この場合、アラートのしきい値と アラート通知設定も構成する必要があります。詳細については、「モニタリングとアラートの構成」トピックの「DTS タスク作成時のモニタリングとアラートの構成」セクションをご参照ください。
[次のステップ: データ検証] をクリックしてデータ検証を構成します。
データ検証機能の使用方法の詳細については、「データ検証タスクの構成」をご参照ください。
タスク設定を保存し、事前チェックを実行します。
関連する API 操作を呼び出して DTS タスクを構成する際に指定するパラメーターを表示するには、ポインターを 次:タスク設定の保存と事前チェック に移動し、OpenAPI パラメーターのプレビュー をクリックします。
パラメーターを表示する必要がない場合、または表示済みの場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。
説明データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ移行タスクを開始できます。
タスクが事前チェックに合格しなかった場合は、各失敗項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、再度事前チェックを実行します。
事前チェック中に項目に対してアラートがトリガーされた場合:
アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、再度事前チェックを実行します。
アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。その後、[再度事前チェック] をクリックして再度事前チェックを実行します。アラート項目を無視すると、データ不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
インスタンスを購入します。
[成功率] が [100%] になるまで待機します。その後、[次へ: インスタンスの購入] をクリックします。
[インスタンスの購入] ページで、データ移行インスタンスのインスタンスクラスパラメーターを構成します。次の表にパラメーターを示します。
セクション
パラメーター
説明
新しいインスタンスクラス
[リソースグループ]
データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。
インスタンスクラス
DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
チェックボックスを選択して、[データ転送サービス (従量課金) 利用規約] を読み、同意します。
[購入して開始] をクリックします。表示される OK ダイアログボックスで、[OK] をクリックします。
データ移行ページで進行状況を表示できます。
説明構成した DTS インスタンスに完全移行タスクと増分移行タスクの両方が含まれている場合 (移行タイプ に 完全データ移行 と 増分データ移行 が含まれている場合)、タスクは移行タスクリストページで 増分データ移行 として表示されます。