Data Transmission Service (DTS) は、リソース移行、アカウント統合、ビジネスアーキテクチャの調整など、さまざまなシナリオをサポートします。
前提条件
ソースの Tair (Redis OSS-Compatible) インスタンスの使用済みストレージ容量よりも大きいストレージ容量を持つ宛先の Tair (Redis OSS-Compatible) インスタンスを作成済みであること。
サポートされているバージョンについては、「データ同期シナリオの概要」をご参照ください。
背景情報
このトピックでは、ある Alibaba Cloud アカウント (アカウント A) のソース Redis インスタンスから、別のアカウント (アカウント B) の宛先インスタンスにデータを同期する方法について説明します。
DTS を使用してアカウント間で Tair (Redis OSS-Compatible) データを一方向同期するには、タスクを次のように設定します。
ステップ | 説明 |
1. ソースデータベースを所有する Alibaba Cloud アカウントで Alibaba Cloud 管理コンソールにログインし、RAM ロールの権限付与を設定します。詳細については、「アカウント間 DTS タスクの RAM 認可の設定」をご参照ください。 | RAM ロールを設定して、宛先データベースを所有する Alibaba Cloud アカウントを信頼済みアカウントとして設定し、現在のアカウントのクラウドリソースへのアクセスを許可します。 |
2. 宛先データベースを所有するプライマリアカウントで Alibaba Cloud 管理コンソールにログインし、データ同期タスクを設定します。詳細については、「操作手順」をご参照ください。 | DTS は、Alibaba Cloud アカウントをまたいでソース Redis インスタンスから直接情報を読み取ることができます。 |
制限事項
|
タイプ |
説明 |
|
ソースデータベースの制限事項 |
|
|
その他の制限事項 |
|
課金
|
同期タイプ |
設定料金 |
|
完全データ同期 |
無料。 |
|
増分データ同期 |
有料です。詳細については、「課金の概要」をご参照ください。 |
増分同期コマンド
エディション | コマンド |
Tair (Redis OSS-Compatible) オープンソース版 |
|
Tair (Redis OSS-Compatible) Enterprise Edition |
|
PUBLISH コマンドはサポートされていません。
EVAL または EVALSHA によって呼び出される Lua スクリプトについて、DTS は増分データ同期中にスクリプトが正常に実行されることを保証できません。これは、宛先が実行結果を明示的に返さないためです。
sync または psync を使用してリストデータを再送信する場合、DTS は宛先の既存データをクリアしません。これにより、データが重複する可能性があります。
事前準備
ソース Redis インスタンスを所有するプライマリアカウントで Alibaba Cloud 管理コンソールにログインします。次に、宛先インスタンスのプライマリアカウントにソースインスタンスへのアクセス権を付与する RAM ロールを作成します。詳細については、「アカウント間 DTS タスクの RAM 認可の設定」をご参照ください。
操作手順
このトピックでは、アカウント間のソースデータベースを使用して、アカウント間シナリオの同期インスタンスを設定する方法を説明します。詳細については、「アカウント間 DTS タスクの RAM 認可の設定」をご参照ください。
宛先インスタンスを所有するプライマリアカウントでログインし、同期タスクリストページに移動します。
DTS コンソールから
左側のナビゲーションウィンドウで、データ同期をクリックします。
ページの左上隅で、同期インスタンスが配置されているリージョンを選択します。
DMS コンソールから
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS インターフェイスのレイアウトとスタイルのカスタマイズ」をご参照ください。
Data Management (DMS) にログインします。
トップメニューバーで、 を選択します。
データ同期タスク の右側で、同期インスタンスが存在するリージョンを選択します。
タスクの作成 をクリックして、タスク構成ページを開きます。
ソースデータベースとターゲットデータベースを設定します。
警告ソースインスタンスと宛先インスタンスを選択した後、ページの上部に表示される制限を注意深くお読みください。制限に従わない場合、タスクが失敗したり、データの不整合が発生したりする可能性があります。
カテゴリ
パラメーター
説明
N/A
タスク名
DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。
移行元データベース
既存の接続情報の選択
システムに追加された (新しく作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。
説明DMS コンソールでは、この設定項目はDMS データベースインスタンスの選択という名前です。
データベースインスタンスをシステムに追加していない場合、またはすでに追加されているインスタンスを使用する必要がない場合は、次のデータベース情報を手動で設定します。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ソース Tair (Redis OSS-Compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
○ を選択します。
説明この機能はクロスサイト通信をサポートしており、Alibaba Cloud (中国) と Alibaba Cloud (国際) のアカウントが相互に通信できます。
Alibaba Cloud アカウント
ソース Tair (Redis OSS-Compatible) インスタンスを所有するプライマリアカウントの ID を入力します。
説明ID の取得方法については、「ソースデータベースを所有するプライマリアカウントの ID の取得」をご参照ください。
RAM ロール名
ソースデータベースを所有するプライマリアカウントを使用して作成した RAM ロールの名前を入力します。 例: [ram-for-dts]。
説明RAM ロールの作成方法については、「ステップ 1: RAM ロールの作成」をご参照ください。
インスタンス ID
ソース Tair (Redis OSS-Compatible) インスタンスの ID を選択します。
認証方法
要件に基づいて認証方式を選択します。この例では、パスワードログイン が選択されています。
説明-
アカウント + パスワードログイン は、Redis 6.0 以降でのみサポートされています。
-
シークレットフリーのログイン を選択した場合は、Redis データベースでパスワードなしのアクセスが有効になっていることを確認してください。Tair (Redis OSS-Compatible) インスタンスでパスワードなしのアクセスを有効にする方法については、「VPC 経由でパスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
ソース Tair (Redis OSS-Compatible) インスタンスのアカウントのパスワードを入力します。アカウントには読み取り権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (インスタンス ID にちなんで名付けられた) の場合は、パスワードのみを入力します。
新しく作成されたアカウントの場合は、
<custom_account>:<password>の形式を使用します。例:`testaccount:Test1234`。
説明このパラメーターはオプションです。パスワードが設定されていない場合は空白のままにできます。
暗号化
データベースインスタンスの要件に基づいて、非暗号化 または SSL 暗号化 を選択します。
説明自己管理型 Redis インスタンス (アクセス方法 が Alibaba Cloud インスタンス ではない場合) を使用し、SSL 暗号化 を選択した場合は、CA 証明書 をアップロードして CA キー を入力する必要もあります。
移行先データベース
既存の接続情報の選択
システムに追加された (新しく作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。
説明DMS コンソールでは、この設定項目はDMS データベースインスタンスの選択という名前です。
データベースインスタンスをシステムに追加していない場合、またはすでに追加されているインスタンスを使用する必要がない場合は、次のデータベース情報を手動で設定します。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
宛先 Tair (Redis OSS-Compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、同期はクロスアカウントのソースインスタンスに対するものであるため、× を選択します。
インスタンス ID
宛先 Tair (Redis OSS-Compatible) インスタンスの ID を選択します。
認証方法
要件に基づいて認証方式を選択します。この例では、パスワードログイン が選択されています。
説明-
アカウント + パスワードログイン は、Redis 6.0 以降でのみサポートされています。
-
シークレットフリーのログイン を選択した場合は、Redis データベースでパスワードなしのアクセスが有効になっていることを確認してください。Tair (Redis OSS 互換) インスタンスでパスワードなしのアクセスを有効にする方法については、「VPC 経由でパスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
宛先 Tair (Redis OSS-Compatible) インスタンスのアカウントのパスワードを入力します。アカウントには読み取りおよび書き込み権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (インスタンス ID にちなんで名付けられた) の場合は、パスワードのみを入力します。
新しく作成されたアカウントの場合は、
<custom_account>:<password>の形式を使用します。例:`testaccount:Test1234`。
暗号化
データベースインスタンスの要件に応じて、非暗号化 または SSL 暗号化 を選択します。
説明自己管理型 Redis インスタンス (アクセス方法 が Alibaba Cloud インスタンス ではない) を使用しており、SSL 暗号化 を選択した場合は、CA 証明書 をアップロードし、CA キー を入力する必要もあります。
構成が完了したら、ページ下部の接続をテストして続行をクリックします。
説明DTS サーバーからのアクセスを許可するために、DTS サーバーの IP アドレス CIDR ブロックがソースおよび宛先データベースのセキュリティ設定に追加されていることを確認してください。これは自動または手動で行うことができます。詳細については、「DTS サーバーの IP アドレス CIDR ブロックをホワイトリストに追加する」をご参照ください。
ソースまたはターゲットデータベースが自己管理データベース (アクセス方法 が Alibaba Cloud インスタンス ではない) である場合、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト もクリックする必要があります。
タスクオブジェクトを設定します。
オブジェクト設定 ページで、同期するオブジェクトを設定してください。
パラメーター
説明
同期タイプ
DTS は、増分データ同期 または 完全データ同期 + 増分データ同期 のいずれかを事前に選択します。デフォルトで 増分データ同期 のみが選択されている場合は、完全データ同期 も選択してください。事前チェックの後、DTS は指定されたオブジェクトの完全データコピーを宛先インスタンスに実行します。この完全コピーは、後続の増分同期のベースラインとなります。
同期トポロジ
一方向同期 を選択します。
説明このパラメーターは、ソースと宛先の両方のインスタンスが Tair (Redis OSS-Compatible) Enterprise Edition の場合にのみ使用できます。
競合するテーブルの処理モード
エラーの事前チェックと報告: 送信先が空であるかどうかを確認します。 送信先が空の場合、事前チェックは成功します。 送信先が空でない場合、事前チェックは失敗し、エラーが報告され、データ同期ジョブは開始されません。
エラーを無視して続行:ターゲットデータベース内のオブジェクトデータの存在検査 の事前チェックをスキップします。
警告エラーを無視して続行 を選択すると、ソースと送信先のキー名が同じ場合、同期中にソースデータが送信先データを上書きします。これにより、送信先でデータ損失が発生する可能性があります。このオプションは注意して選択してください。
ソースオブジェクト
ソースオブジェクト ボックスで、同期するオブジェクトをクリックし、
をクリックして 選択中のオブジェクト ボックスに移動します。説明選択中のオブジェクト
詳細設定へ をクリックして、詳細パラメーターを設定します。
パラメーター
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、クラスターを選択する必要はありません。より安定したパフォーマンスを得るために、専用クラスターを購入して DTS 同期タスクを実行できます。詳細については、「DTS 専用クラスターとは」をご参照ください。
失敗した接続の再試行時間
同期タスクの開始後、ソースまたは宛先データベースへの接続が失敗した場合、DTS はエラーを報告し、すぐに接続の再試行を開始します。デフォルトの再試行時間は 720 分です。10 分から 1,440 分の範囲でカスタムの再試行時間を指定することもできます。30 分以上に設定することを推奨します。指定された時間内に DTS がデータベースに正常に再接続した場合、同期タスクは自動的に再開されます。そうでない場合、タスクは失敗します。
説明同じソースまたは宛先を共有する複数の DTS インスタンス (インスタンス A とインスタンス B など) があり、インスタンス A のネットワーク再試行時間を 30 分、インスタンス B を 60 分に設定した場合、両方に短い方の 30 分が使用されます。
DTS は接続再試行期間中のタスク実行時間に対して課金するため、ビジネスニーズに基づいて再試行時間をカスタマイズするか、ソースおよび宛先データベースインスタンスがリリースされた後できるだけ早く DTS インスタンスをリリースすることを推奨します。
移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。
同期タスクの開始後、ソースまたは宛先データベースで接続以外の問題 (DDL または DML 実行例外など) が発生した場合、DTS はエラーを報告し、すぐに連続的な再試行操作を開始します。デフォルトの再試行時間は 10 分です。1 分から 1,440 分の範囲でカスタムの再試行時間を指定することもできます。10 分以上に設定することを推奨します。設定された再試行時間内に関連する操作が成功した場合、同期タスクは自動的に再開されます。そうでない場合、タスクは失敗します。
重要移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。の値は、失敗した接続の再試行時間の値よりも小さくする必要があります。
完全同期レートを制限するかどうか
完全同期段階では、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 機能を無効にします。
監視アラート
アラートを設定するかどうかを指定します。同期が失敗した場合、またはレイテンシが指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。
×:アラートは設定されていません。
○: アラートのしきい値を設定し、アラート通知を指定して、アラートを構成します。 詳細については、「タスク構成中にモニタリングとアラートを構成する」をご参照ください。
[次へ: データ検証] をクリックしてデータ検証タスクを設定します。
データ検証機能を使用する場合は、「データ検証の設定」で設定手順をご参照ください。
タスクを保存し、事前チェックを実行します。
この インスタンスを設定するための API パラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにカーソルを合わせ、吹き出しに表示される OpenAPI パラメーターのプレビュー をクリックします。
API パラメーターの確認が完了したら、ページの下部にある次:タスク設定の保存と事前チェック をクリックします。
説明同期ジョブが開始される前に、DTS は事前チェックを実行します。ジョブは、すべての事前チェック項目が成功した後にのみ開始できます。
事前チェックが失敗した場合は、失敗した項目の詳細を表示をクリックし、プロンプトに従って問題を修正し、再度事前チェックを実行してください。
事前チェックで警告が返された場合:
確認項目が失敗し、無視できない場合は、項目の横にある詳細を表示をクリックします。指示に従って問題を修正し、その後、事前チェックを再実行します。
無視できる確認項目については、アラートの詳細を確認、無視、OK、再度事前チェックを実行 を順にクリックすると、警告をスキップして事前チェックを再実行できます。警告項目をシールドすると、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。
インスタンスを購入します。
成功率 が 100% になったら、次:インスタンスの購入 をクリックします。
購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。 次の表で、これらのパラメーターについて詳しく説明します。
カテゴリ
パラメーター
説明
新しいインスタンスクラス
課金方法
サブスクリプション:インスタンス作成時にお支払いいただきます。長期的なニーズに適しており、従量課金よりもコスト効率が高いです。サブスクリプション期間が長いほど、割引率が高くなります。
従量課金:時間単位で課金されます。短期的なニーズに適しています。使用後すぐにインスタンスをリリースしてコストを節約できます。
リソースグループの設定
インスタンスが属するリソースグループ。デフォルトはデフォルトのリソースグループです。詳細については、「Resource Management とは」をご参照ください。
リンク仕様
DTS は、さまざまなパフォーマンスレベルの同期仕様を提供します。同期リンクの仕様は、同期レートに影響します。ビジネスシナリオに基づいて仕様を選択できます。詳細については、「データ同期リンクの仕様」をご参照ください。
サブスクリプション期間
サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。1 か月から 9 か月までの月次サブスクリプション、または 1、2、3、5 年の年次サブスクリプションを選択できます。
説明このオプションは、課金方法がサブスクリプションの場合にのみ利用可能です。
構成完了後、Data Transmission Service (従量課金) 利用規約 をお読みの上、選択してください。
[購入して開始] をクリックし、次に OK ダイアログボックスで [OK] をクリックします。
データ同期ページでタスクの進捗状況を確認できます。
説明