Data Transmission Service (DTS) は、Alibaba Cloud アカウント間の一方向データ同期をサポートしています。この機能は、アカウント間のリソースの移行や統合、ビジネスアーキテクチャの調整などのシナリオで役立ちます。
前提条件
ソースの ApsaraDB for Tair (Redis-compatible) インスタンスが使用するストレージ容量よりも大きいストレージ容量を持つターゲットの ApsaraDB for Tair (Redis-compatible) インスタンスを作成済みであること。
サポートされているバージョンについては、「同期ソリューションの概要」をご参照ください。
背景情報
異なる Alibaba Cloud アカウントに属する 2 つの Redis インスタンスがある場合、ビジネス上の理由から、アカウント A の Redis インスタンスからアカウント B の Redis インスタンスにデータを同期する必要がある場合があります。このプロセスは、クロスアカウントデータ同期として知られています。
DTS は、異なる Alibaba Cloud アカウント間での ApsaraDB for Tair (Redis 互換) の一方向同期をサポートしています。同期タスクを設定するには、次の手順を完了する必要があります。
ステップ | 説明 |
1. ソースデータベースを所有する Alibaba Cloud アカウントを使用して Alibaba Cloud 管理コンソールにログインし、RAM ロールを承認します。詳細については、「クロスアカウントタスクの RAM 権限設定」をご参照ください。 | RAM ロールを設定して、宛先の Alibaba Cloud アカウントを信頼できるアカウントとして指定します。次に、信頼できるアカウントに現在のアカウントのクラウドリソースへのアクセス権限を付与します。 |
2. 宛先データベースを所有する Alibaba Cloud アカウントを使用して Alibaba Cloud 管理コンソールにログインし、データ同期タスクを設定します。詳細については、「手順」をご参照ください。 | DTS は、異なる Alibaba Cloud アカウント間でソース Redis インスタンスから直接データを読み取ることができます。 |
注意事項
タイプ | 説明 |
ソースデータベースの制限 |
|
その他の制限 |
|
課金
同期タイプ | タスク設定料金 |
完全データ同期 | 無料です。 |
増分データ同期 | 課金されます。詳細については、「課金の概要」をご参照ください。 |
増分データ同期でサポートされるコマンド
バージョンタイプ | コマンド |
Tair (Redis OSS-compatible) Community Edition |
|
Tair (Redis OSS-compatible) Enterprise Edition |
|
PUBLISH 操作は同期できません。
EVAL または EVALSHA コマンドを実行して Lua スクリプトを呼び出す場合、DTS はこれらの Lua スクリプトが宛先インスタンスで実行されたかどうかを識別できません。これは、増分データ同期中に宛先インスタンスが Lua スクリプトの実行結果を明示的に返さないためです。
DTS が SYNC または PSYNC コマンドを実行して LIST 型のデータを転送する場合、DTS は宛先インスタンスの既存のデータをクリアしません。その結果、宛先インスタンスに重複したデータレコードが含まれる可能性があります。
準備
ソース Redis インスタンスを所有する Alibaba Cloud アカウントを使用して Alibaba Cloud 管理コンソールにログインします。次に、RAM ロールを作成し、宛先の Alibaba Cloud アカウントにソース Redis インスタンスへのアクセス権限を付与します。詳細については、「クロスアカウントタスクの RAM 権限設定」をご参照ください。
手順
このトピックでは、ソースデータベースが別の Alibaba Cloud アカウントにある同期タスクを設定する方法について説明します。詳細については、「クロスアカウントタスクの RAM 権限設定」をご参照ください。
宛先インスタンスを所有する Alibaba Cloud アカウントを使用して、データ同期タスクページに移動します。
DTS コンソール
DTS コンソールにログインします。
左側のナビゲーションウィンドウで、データ同期 をクリックします。
ページの左上隅で、データ同期タスクが存在するリージョンを選択します。
DMS コンソール
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソールにログインします。
上部のナビゲーションバーで、[データ + AI] にポインターを合わせ、 を選択します。
データ同期タスク の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。
タスクの作成 をクリックして、タスク設定ページに移動します。
ソースデータベースとターゲットデータベースを設定します。次の表にパラメーターを示します。
警告ソースデータベースとターゲットデータベースを設定した後、ページに表示される [制限] を読むことをお勧めします。そうしないと、タスクが失敗したり、データに不整合が生じたりする可能性があります。
カテゴリ
設定
説明
N/A
タスク名
DTS タスクの名前。DTS は自動的にタスク名を生成します。タスクを簡単に識別できるような説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。
移行元データベース
既存の接続情報の選択
DTS に登録されているデータベースインスタンスを使用する場合、ドロップダウンリストからインスタンスを選択します。DTS はインスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。
インスタンスを DTS に登録できない場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を設定する必要があります。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ソースの Tair (Redis OSS-compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
○ を選択します。
説明この機能はクロスサイト通信をサポートしており、中国サイト (aliyun.com) のアカウントと国際サイト (alibabacloud.com) のアカウントが相互に通信できます。
Alibaba Cloud アカウント
ソースの Tair (Redis OSS-compatible) インスタンスを所有する Alibaba Cloud アカウントの ID を入力します。
説明ID の取得方法については、「ソースデータベースを所有する Alibaba Cloud アカウントの ID を取得する」をご参照ください。
RAM ロール名
ソースデータベースを所有する Alibaba Cloud アカウントを使用して作成された RAM ロールの名前を入力します。例: ram-for-dts。
説明ロールの作成方法については、「ステップ 1: RAM ロールを作成する」をご参照ください。
インスタンス ID
ソースの Tair (Redis OSS-compatible) インスタンスの ID を選択します。
認証方法
ビジネス要件に基づいて認証方式を選択します。この例では、パスワードログイン を選択します。
説明バージョン 6.0 以降の Redis データベースのみが アカウント + パスワードログイン をサポートします。
シークレットフリーのログイン を選択する場合は、Redis データベースでパスワードなしのアクセス機能を有効にしていることを確認してください。Tair (Redis OSS-Compatible) インスタンスでパスワードなしのアクセスを有効にする方法については、「パスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
ソースの Tair (Redis OSS-compatible) インスタンスのアカウントのパスワードを入力します。アカウントには読み取り権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (インスタンス ID にちなんで名付けられています): パスワードを直接入力します。
新しく作成されたアカウント: パスワードの形式は
<custom_account>:<password>です。例: testaccount:Test1234。
説明これは必須フィールドではありません。パスワードが設定されていない場合は、空のままにすることができます。
暗号化
ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化 または SSL 暗号化 を選択します。
説明アクセス方法 が Alibaba Cloud インスタンス ではなく、自己管理 Redis データベースに対して SSL 暗号化 を選択した場合、CA 証明書 をアップロードし、CA キー を入力する必要があります。
移行先データベース
既存の接続情報の選択
DTS に登録されているデータベースインスタンスを使用する場合、ドロップダウンリストからインスタンスを選択します。DTS はインスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。
インスタンスを DTS に登録できない場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を設定する必要があります。
データベースタイプ
Tair/Redis を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
宛先の Tair (Redis OSS-compatible) インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、クロスアカウントのソースインスタンスを使用します。× を選択します。
インスタンス ID
宛先の Tair (Redis OSS-compatible) インスタンスの ID を選択します。
認証方法
ビジネス要件に基づいて認証方式を選択します。この例では、パスワードログイン を選択します。
説明バージョン 6.0 以降の Redis データベースのみが アカウント + パスワードログイン をサポートします。
シークレットフリーのログイン を選択する場合は、Redis データベースでパスワードなしのアクセス機能を有効にしていることを確認してください。Tair (Redis OSS-Compatible) インスタンスでパスワードなしのアクセスを有効にする方法については、「パスワードなしのアクセスを有効にする」をご参照ください。
データベースのパスワード
宛先の Tair (Redis OSS-compatible) インスタンスのアカウントのパスワードを入力します。アカウントには読み取りおよび書き込み権限が必要です。パスワードを忘れた場合は、リセットできます。詳細については、「パスワードの変更またはリセット」をご参照ください。
デフォルトアカウント (インスタンス ID にちなんで名付けられています): パスワードを直接入力します。
新しく作成されたアカウント: パスワードの形式は
<custom_account>:<password>です。例: testaccount:Test1234。
暗号化
ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化 または SSL 暗号化 を選択します。
説明アクセス方法 が Alibaba Cloud インスタンス ではなく、自己管理 Redis データベースに対して SSL 暗号化 を選択した場合、CA 証明書 をアップロードし、CA キー を入力する必要があります。
ページ下部の 接続をテストして続行 をクリックします。
説明DTS サーバーからのアクセスを許可するために、DTS サーバーの CIDR ブロックがソースおよび宛先データベースのセキュリティ設定に自動または手動で追加されていることを確認してください。詳細については、「ホワイトリストに DTS サーバーの IP アドレスを追加する」をご参照ください。
ソースまたは宛先データベースが自己管理データベースであり、その アクセス方法 が Alibaba Cloud インスタンス に設定されていない場合は、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックします。
同期するオブジェクトを設定します。
オブジェクト設定 ステップで、同期するオブジェクトを設定します。
設定
説明
同期タイプ
増分データ同期 または 完全データ同期 + 増分データ同期 がデフォルトで選択されています。増分データ同期 がデフォルトで選択されている DTS インスタンスでは、完全データ同期 も選択することをお勧めします。事前チェックが完了すると、DTS は同期対象オブジェクトの完全データをソースインスタンスから宛先クラスターに初期化します。これは、後続の増分同期のベースラインデータとして機能します。
同期トポロジ
一方向同期 を選択します。
説明この設定項目は、ソースインスタンスと宛先インスタンスの両方が Tair (Enterprise Edition) の場合にのみ利用できます。
競合するテーブルの処理モード
エラーの事前チェックと報告: 宛先データベースにデータが存在するかどうかを確認します。宛先データベースにデータが存在しない場合、事前チェックは合格します。宛先データベースにデータが存在する場合、事前チェック中にエラーが返され、データ同期インスタンスは開始できません。
エラーを無視して続行: ターゲットデータベース内のオブジェクトデータの存在検査 チェック項目をスキップします。
警告エラーを無視して続行 を選択すると、ソースデータベースのデータレコードが宛先データベースの同じキーを持つデータレコードを上書きするため、宛先データベースでデータ損失が発生する可能性があります。注意して進めてください。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択し、
アイコンをクリックしてオブジェクトを 選択中のオブジェクト セクションに追加します。説明同期するオブジェクトとしてデータベースのみを選択できます。データベース内の特定のキーのデータを同期する必要がある場合は、選択中のオブジェクト セクションの データフィルタリング 機能を使用できます。
選択中のオブジェクト
データを受信するデータベース (DB 0 から DB 255) を指定したり、プレフィックスで同期するデータをフィルタリングしたりする場合は、マッピングまたはフィルタリング機能を使用できます。選択中のオブジェクト セクションで同期するデータベースを右クリックし、表示される スキーマの編集 ダイアログボックスでパラメーターを設定します。詳細については、「オブジェクト名のマッピング」および「フィルター条件の指定」をご参照ください。
次へ:詳細設定 をクリックして、詳細設定を構成します。
設定
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、専用クラスターを指定しない場合、DTS はタスクを共有クラスターにスケジュールします。データ同期インスタンスの安定性を向上させたい場合は、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
失敗した接続の再試行時間
失敗した接続のリトライ時間範囲。データ同期タスクが開始された後、ソースまたは宛先データベースへの接続に失敗した場合、DTS は時間範囲内で直ちに接続をリトライします。有効な値: 10 から 1440。単位: 分。デフォルト値: 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 は、同期速度が異なるインスタンスクラスを提供します。ビジネス要件に基づいてインスタンスクラスを選択できます。詳細については、「データ同期インスタンスのインスタンスクラス」をご参照ください。
サブスクリプション期間
サブスクリプション課金方法を選択した場合は、サブスクリプション期間と作成するデータ同期インスタンスの数を指定します。サブスクリプション期間は、1 ~ 9 か月、1 年、2 年、3 年、または 5 年です。
説明このパラメーターは、サブスクリプション 課金方法を選択した場合にのみ利用できます。
[Data Transmission Service (従量課金) サービス規約] を読んで選択します。
[購入して開始] をクリックし、OK ダイアログボックスで [OK] をクリックします。
データ同期ページでタスクの進捗状況を表示できます。
説明DTS インスタンスに完全タスクと増分タスクの両方が含まれている場合 (同期タイプ に 完全データ同期 と 増分データ同期 の両方が含まれている場合)、同期タスクリストページでは 増分データ同期 として表示されます。