Data Transmission Service (DTS) を使用すると、MongoDB シャードクラスターからレプリカセットまたはシャードクラスターにデータを同期できます。このトピックでは、ApsaraDB for MongoDB インスタンス間でデータを同期する方法について説明します。
前提条件
-
ターゲットの ApsaraDB for MongoDB インスタンス (レプリカセットまたはシャードクラスター) を作成します。詳細については、「レプリカセットインスタンスの作成」または「シャードクラスターインスタンスの作成」をご参照ください。
重要-
ターゲットの ApsaraDB for MongoDB インスタンスのストレージ容量は、ソースの ApsaraDB for MongoDB インスタンスよりも 10% 以上大きくする必要があります。
-
サポートされているバージョンについては、「データ同期シナリオ」をご参照ください。
-
-
ソースの ApsaraDB for MongoDB シャードクラスターインスタンスの場合、各シャードノードのエンドポイントを申請し、すべてのシャードノードが同じアカウントとパスワードを使用するようにします。詳細については、「シャードエンドポイントの申請」をご参照ください。
-
ターゲットがシャードクラスターインスタンスの場合、ターゲットの ApsaraDB for MongoDB (シャードクラスター) インスタンスでシャーディングするデータベースとコレクションを作成し、データシャーディングを設定し、バランサーを有効にし、ビジネス要件に基づいて事前シャーディングを実行する必要があります。詳細については、「シャーディングを設定してシャードのパフォーマンスを最大化する」および「シャード化された MongoDB クラスターでのデータ分散の不均衡に対処する方法」をご参照ください。
説明-
データシャーディングを設定すると、すべてのデータが単一のシャードに同期されるのを防ぎ、パフォーマンスのボトルネックを回避できます。バランサーを有効にして事前シャーディングを実行すると、データスキューを防ぐのに役立ちます。
-
このトピックでは、購入前に DTS タスクを設定する例を示します。このシナリオでは、ソースの ApsaraDB for MongoDB (シャードクラスター) インスタンスのシャード数を指定する必要はありません。
DTS タスクを設定する前に購入する場合は、購入時に正しいシャード数を指定する必要があります。
-
注意事項
タイプ | 説明 |
ソースデータベースとターゲットデータベースの制限 |
|
その他の制限 |
|
課金
|
同期タイプ |
料金 |
|
スキーマ同期と完全データ同期 |
無料です。 |
|
増分データ同期 |
課金対象です。詳細については、「課金概要」をご参照ください。 |
一方向同期トポロジ
DTS は、2 つの ApsaraDB for MongoDB シャードクラスターインスタンス間の一方向データ同期のみをサポートします。複数の ApsaraDB for MongoDB インスタンス間の同期はサポートされていません。
同期タイプ
|
タイプ |
説明 |
|
スキーマ同期 |
ソース ApsaraDB for MongoDB の同期オブジェクトのスキーマをターゲット ApsaraDB for MongoDB に同期します。 |
|
完全データ同期 |
ソース ApsaraDB for MongoDB の同期オブジェクトのすべての既存データを、送信先の ApsaraDB for MongoDB に同期します。 説明
完全データ同期は、データベースとコレクションでサポートされています。 |
|
増分データ同期 |
完全データ同期に基づいて、ソース ApsaraDB for MongoDB からの増分更新がターゲット ApsaraDB for MongoDB に同期されます。 Oplog増分データ同期では、タスク開始後に作成されたデータベースはレプリケートされません。以下の変更がレプリケートされます:
Change stream以下の変更がレプリケートされます:
|
孤立ドキュメントのクリーンアップ
データを移行する前に、ソース MongoDB データベースから孤立ドキュメントをクリーンアップします。
孤立ドキュメントのクリーンアップを怠ると、移行性能に影響を与え、_id の競合によるデータ移行エラーを引き起こす可能性があります。
ApsaraDB for MongoDB
メジャーバージョンが MongoDB 4.2 より前、またはマイナーバージョンが 4.0.6 より前のインスタンスでクリーンアップスクリプトを実行すると、エラーが発生します。インスタンスの現在のバージョンを表示するには、「MongoDB マイナーバージョン」をご参照ください。メジャーまたはマイナーバージョンをアップグレードするには、「データベースのメジャーバージョンのアップグレード」および「データベースのマイナーバージョンのアップグレード」をご参照ください。
cleanupOrphaned コマンドを使用して孤立ドキュメントをクリーンアップします。手順は MongoDB 4.4 以降と MongoDB 4.2 以前で若干異なります。
MongoDB 4.4 以降
-
シャードクラスターインスタンスに接続できるサーバーで、
cleanupOrphaned.jsという名前の JavaScript (JS) スクリプトを作成します。説明このスクリプトは、複数のシャードにまたがる複数のデータベースのすべてのコレクションから孤立ドキュメントをクリーンアップします。特定のコレクションから孤立ドキュメントをクリーンアップする必要がある場合は、JS スクリプトを変更できます。
// シャード名のリスト var shardNames = ["shardName1", "shardName2"]; // データベースのリスト var databasesToProcess = ["database1", "database2", "database3"]; shardNames.forEach(function(shardName) { // 指定されたデータベースのリストを反復処理します databasesToProcess.forEach(function(dbName) { var dbInstance = db.getSiblingDB(dbName); // データベースインスタンス内のすべてのコレクションの名前を取得します var collectionNames = dbInstance.getCollectionNames(); // 各コレクションを反復処理します collectionNames.forEach(function(collectionName) { // 完全なコレクション名 var fullCollectionName = dbName + "." + collectionName; // cleanupOrphaned コマンドを構築します var command = { runCommandOnShard: shardName, command: { cleanupOrphaned: fullCollectionName } }; // コマンドを実行します var result = db.adminCommand(command); if (result.ok) { print("Cleaned up orphaned documents for collection " + fullCollectionName + " on shard " + shardName); printjson(result); } else { print("Failed to clean up orphaned documents for collection " + fullCollectionName + " on shard " + shardName); } }); }); });スクリプトで、
shardNamesおよびdatabasesToProcessパラメーターの値を変更します:-
shardNames:孤立ドキュメントをクリーンアップするシャードの ID の配列。シャード ID は、インスタンスの基本情報ページのシャードリストから取得できます。例:d-bp15a3796d3a****。 -
databasesToProcess:孤立ドキュメントをクリーンアップするデータベース名の配列。
-
-
cleanupOrphaned.jsスクリプトがあるディレクトリで、次のコマンドを実行して孤立ドキュメントをクリーンアップします。mongo --host <Mongoshost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js > output.txtパラメーター
説明
<Mongoshost>シャードクラスターインスタンスの mongos ノードのエンドポイント。例:
s-bp14423a2a51****.mongodb.rds.aliyuncs.com。<Primaryport>シャードクラスターインスタンスの mongos ノードのポート番号。デフォルト値は 3717 です。
<database>認証データベースの名前。これは、データベースアカウントが属するデータベースです。
<username>データベースアカウント。
<password>データベースアカウントのパスワード。
output.txt実行結果の出力ファイル。
MongoDB 4.2 以前
-
シャードクラスターインスタンスに接続できるサーバーで、
cleanupOrphaned.jsという名前の JS スクリプトを作成します。説明このスクリプトは、複数のシャードにまたがる指定されたデータベースの指定されたコレクションから孤立ドキュメントをクリーンアップします。複数のコレクションから孤立ドキュメントをクリーンアップするには、
fullCollectionNameパラメーターを変更してスクリプトを複数回実行するか、コレクションを反復処理するようにスクリプトを変更します。function cleanupOrphanedOnShard(shardName, fullCollectionName) { var nextKey = { }; var result; while ( nextKey != null ) { var command = { runCommandOnShard: shardName, command: { cleanupOrphaned: fullCollectionName, startingFromKey: nextKey } }; result = db.adminCommand(command); printjson(result); if (result.ok != 1 || !(result.results.hasOwnProperty(shardName)) || result.results[shardName].ok != 1 ) { print("Unable to complete at this time: failure or timeout.") break } nextKey = result.results[shardName].stoppedAtKey; } print("cleanupOrphaned done for coll: " + fullCollectionName + " on shard: " + shardName) } var shardNames = ["shardName1", "shardName2", "shardName3"] var fullCollectionName = "database.collection" shardNames.forEach(function(shardName) { cleanupOrphanedOnShard(shardName, fullCollectionName); });スクリプトで、
shardNamesおよびfullCollectionNameパラメーターの値を変更します:-
shardNames:孤立ドキュメントをクリーンアップするシャードの ID の配列。シャード ID は、インスタンスの基本情報ページのシャードリストから取得できます。例:d-bp15a3796d3a****。 -
fullCollectionName:孤立ドキュメントをクリーンアップするコレクションの名前。database.collectionの形式で指定します。
-
-
cleanupOrphaned.jsスクリプトがあるディレクトリで、次のコマンドを実行して孤立ドキュメントをクリーンアップします。mongo --host <Mongoshost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js > output.txtパラメーター
説明
<Mongoshost>シャードクラスターインスタンスの mongos ノードのエンドポイント。例:
s-bp14423a2a51****.mongodb.rds.aliyuncs.com。<Primaryport>シャードクラスターインスタンスの mongos ノードのポート番号。デフォルト値は 3717 です。
<database>認証データベースの名前。これは、データベースアカウントが属するデータベースです。
<username>データベースアカウント。
<password>データベースアカウントのパスワード。
output.txt実行結果の出力ファイル。
自主管理 MongoDB
-
自主管理 MongoDB データベースに接続できるサーバーで、cleanupOrphaned.js スクリプトファイルをダウンロードします。
wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js" -
cleanupOrphaned.js スクリプトファイルを変更します。
testを、孤立ドキュメントをクリーンアップしたいデータベースの名前に置き換えます。重要複数のデータベースがある場合は、データベースごとにステップ 2 とステップ 3 を繰り返す必要があります。
function cleanupOrphaned(coll) { var nextKey = { }; var result; while ( nextKey != null ) { result = db.adminCommand( { cleanupOrphaned: coll, startingFromKey: nextKey } ); if (result.ok != 1) print("Unable to complete at this time: failure or timeout.") printjson(result); nextKey = result.stoppedAtKey; } } var dbName = "test" db = db.getSiblingDB(dbName) db.getCollectionNames().forEach(function(collName) { cleanupOrphaned(dbName + "." + collName); }); -
次のコマンドを実行して、シャード上の指定されたデータベースのすべてのコレクションから孤立ドキュメントをクリーンアップします。
説明このステップは、シャードごとに繰り返す必要があります。
mongo --host <Shardhost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js説明-
<Shardhost>:シャードの IP アドレス。
-
<Primaryport>:シャード内のプライマリノードのサービスポート。
-
<database>:認証データベースの名前。これは、データベースアカウントが属するデータベースです。
-
<username>:データベースアカウント。
-
<password>:アカウントのパスワード。
例:
この例では、自主管理 MongoDB データベースに 3 つのシャードがあります。孤立ドキュメントをクリーンアップするには、シャードごとにコマンドを実行する必要があります。
mongo --host 172.16.1.10 --port 27018 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.jsmongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js -
操作手順
このトピックでは、購入前に DTS タスクを設定する例を使用します。この場合、ソース ApsaraDB for MongoDB シャードクラスターのシャード数を指定する必要はありません。
DTS タスクを設定する前に購入する場合は、購入時に正しいシャード数を指定する必要があります。
-
次のいずれかの方法で、ターゲットリージョンの移行タスクリストページに移動します。
DTS コンソールから
-
左側のナビゲーションウィンドウで、データの移行 をクリックします。
-
ページ左上で、移行インスタンスが配置されているリージョンを選択します。
DMS コンソールから
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモードコンソール」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
-
Data Management (DMS) コンソールにログインします。
-
トップメニューバーで、 を選択します。
-
データ移行タスク の右側で、移行インスタンスが配置されているリージョンを選択します。
-
タスクの作成 をクリックし、ソースデータベースとターゲットデータベースを設定します。
セクション
パラメーター
説明
N/A
タスク名
DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。
移行元データベース
既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。) (オプション。接続を作成していない場合は、これをスキップして、以下で直接データベース情報を設定できます。)
必要に応じて既存のインスタンスを選択します。
-
既存のインスタンスを使用する場合、データベース情報は自動的に入力されます。再度入力する必要はありません。
-
既存のインスタンスを使用しない場合は、次のデータベース情報を入力します。
データベースタイプ
MongoDB を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ソース ApsaraDB for MongoDB インスタンスが配置されているリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、同じ Alibaba Cloud アカウント内でデータを同期する方法を示します。× を選択します。
アーキテクチャ
シャードクラスター を選択します。
移行方法
要件に基づいて、増分データ同期の方法を選択します。
-
Oplog (推奨):
このオプションは、ソースデータベースで Oplog が有効になっている場合に使用できます。
説明Oplog は、自主管理 MongoDB データベースおよび ApsaraDB for MongoDB インスタンスでデフォルトで有効になっています。この方法では、ログの取得が高速なため、増分同期タスクのレイテンシが低くなります。Oplog を選択することを推奨します。
-
ChangeStream:
このオプションは、ソースデータベースで Change Streams が有効になっている場合に使用できます。
説明-
ソースデータベースが Amazon DocumentDB (非エラスティッククラスター) インスタンスの場合、ChangeStream のみを選択できます。
-
ソースデータベースの アーキテクチャ を シャードクラスター に設定した場合、Shardアカウント と Shardパスワード を指定する必要はありません。
-
インスタンス ID
ソース ApsaraDB for MongoDB インスタンスのインスタンス ID を選択します。
データベース名
ソース ApsaraDB for MongoDB インスタンスのデータベースアカウントが属するデータベースの名前を入力します。デフォルト値は admin です。
データベースアカウント
ソース ApsaraDB for MongoDB インスタンスのデータベースアカウントを入力します。このアカウントには、同期するデータベース、および config、admin、local データベースに対する読み取り権限が必要です。
説明増分同期方法として ChangeStream を使用する場合、ソースデータベースアカウントにはインスタンス全体の Change Streams 読み取り権限 (例:
readAnyDatabase) が必要です。ソースがカスタムアカウントを持つ ApsaraDB for MongoDB インスタンスの場合、adminデータベースに対する読み取り権限もアカウントに付与する必要があります。詳細については、「インスタンス作成時に指定されたルートアカウントの権限」をご参照ください。データベースのパスワード
データベースアカウントに対応するパスワードを入力します。
Shardアカウント
ソース ApsaraDB for MongoDB インスタンスのシャードアカウントを入力します。
説明ソースが自主管理 MongoDB データベースの場合、シャードノードの シャード接続情報も入力する必要があります。
Shardパスワード
ソース ApsaraDB for MongoDB インスタンスのシャードパスワードを入力します。
移行先データベース
既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。) (オプション。接続を作成していない場合は、これをスキップして、以下で直接データベース情報を設定できます。)
必要に応じて既存のインスタンスを選択します。
-
既存のインスタンスを使用する場合、データベース情報は自動的に入力されます。再度入力する必要はありません。
-
既存のインスタンスを使用しない場合は、次のデータベース情報を入力します。
データベースタイプ
MongoDB を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ターゲット ApsaraDB for MongoDB インスタンスが配置されているリージョンを選択します。
アーキテクチャ
ターゲット ApsaraDB for MongoDB インスタンスのアーキテクチャタイプを選択します。
インスタンス ID
ターゲット ApsaraDB for MongoDB インスタンスのインスタンス ID を選択します。
データベース名
ターゲット ApsaraDB for MongoDB インスタンスのデータベースアカウントが属するデータベースの名前を入力します。デフォルト値は admin です。
データベースアカウント
ターゲット ApsaraDB for MongoDB インスタンスのデータベースアカウントを入力します。このアカウントには、dbAdminAnyDatabase 権限、ターゲットデータベースに対する読み書き権限、および local データベースに対する読み取り権限が必要です。
データベースのパスワード
データベースアカウントに対応するパスワードを入力します。
暗号化
DTS は、非暗号化、SSL 暗号化、Mongo Atlas SSL の 3 つの接続方法をサポートしています。暗号化 のオプションは、選択した アクセス方法 と アーキテクチャ によって異なります。コンソールに表示されるオプションが優先されます。
説明-
アーキテクチャ が シャードクラスター の MongoDB データベースは、SSL 暗号化 をサポートしていません。
-
送信先が、アクセス方法 が Alibaba Cloud インスタンス ではない レプリカセット 構成の自主管理 MongoDB データベースであり、SSL 暗号化 を選択した場合、DTS では、接続を検証するために CA 証明書をアップロードすることもできます。
-
-
ページ下部で、[接続テストと次へ] をクリックします。
ソースまたはターゲットデータベースが ApsaraDB RDS for MySQL や ApsaraDB for MongoDB インスタンスなどの Alibaba Cloud データベースインスタンスである場合、DTS は自動的に DTS サーバーの CIDR ブロックをインスタンスのホワイトリストに追加します。ソースまたはターゲットデータベースが Elastic Compute Service (ECS) インスタンスでホストされている自己管理データベースである場合、DTS は自動的に DTS サーバーの CIDR ブロックを ECS インスタンスのセキュリティグループルールに追加し、ECS インスタンスがデータベースにアクセスできることを確認する必要があります。ソースまたはターゲットデータベースがデータセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供されている自己管理データベースである場合、DTS がデータベースにアクセスできるように、手動で DTS サーバーの CIDR ブロックをデータベースのホワイトリストに追加する必要があります。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。
警告DTS サーバーの CIDR ブロックがデータベースまたはインスタンスのホワイトリスト、または ECS セキュリティグループルールに自動または手動で追加されると、セキュリティリスクが発生する可能性があります。したがって、DTS を使用してデータを同期する前に、潜在的なリスクを理解し、認識し、ユーザー名とパスワードのセキュリティ強化、公開されるポートの制限、API 呼び出しの認証、ホワイトリストまたは ECS セキュリティグループルールの定期的な確認と不正な CIDR ブロックの禁止、または Express Connect、VPN Gateway、Smart Access Gateway を使用してデータベースを DTS に接続するなど、予防措置を講じる必要があります。
-
同期オブジェクトと詳細設定を構成します。
パラメーター
説明
同期タイプ
増分データ同期 が選択されています。デフォルトでは、スキーマ同期 と 完全データ同期 も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの完全データ同期をソースインスタンスからターゲットクラスターに実行します。これは、後続の増分データ同期のベースラインデータとして機能します。
同期トポロジ
一方向同期 を選択します。
競合するテーブルの処理モード
-
エラーの事前チェックと報告:ターゲットデータベースに同じ名前のコレクションがあるか確認します。同じ名前のコレクションが見つかった場合、エラーが報告され、データ同期タスクは開始されません。それ以外の場合、事前チェックは成功します。
説明ターゲットデータベースで同じ名前のコレクションを削除または名前変更できない場合は、ターゲットデータベースのコレクションの名前を変更できます。詳細については、「ターゲットインスタンスでの同期オブジェクトの名前を設定する」をご参照ください。
-
エラーを無視して続行:ターゲットデータベースで同じ名前のコレクションのチェックをバイパスします。
警告エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスにリスクをもたらす可能性があります。例:
-
ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキーまたは一意キーの値を持つ場合、ターゲットデータベースのレコードが保持されます。ソースデータベースのレコードはターゲットデータベースに同期されません。
-
これにより、データ初期化が失敗したり、一部のデータのみが同期されたり、同期全体が失敗したりする可能性があります。
-
移行先インスタンスでのオブジェクト名の大文字化
ターゲットインスタンスに同期されるデータベース、テーブル、および列オブジェクト名の大文字/小文字の区別ポリシーを設定できます。デフォルトでは、DTS のデフォルトポリシー が選択されています。ソースおよびターゲットデータベースのデフォルトポリシーを使用することもできます。詳細については、「ターゲットオブジェクト名の大文字/小文字の区別ポリシー」をご参照ください。
ソースオブジェクト
ソースオブジェクト ボックスで、同期するオブジェクトをクリックし、
をクリックして 選択中のオブジェクト ボックスに移動します。説明同期は、DATABASE および COLLECTION レベルで実行できます。
選択中のオブジェクト
-
ターゲットインスタンスで単一の同期オブジェクトの名前を変更するには、選択中のオブジェクト ボックスでオブジェクトを右クリックします。オブジェクトの名前変更の詳細については、「単一のデータベース、テーブル、または列をマッピングする」をご参照ください。
-
ターゲットインスタンスで複数の同期オブジェクトの名前を一括で変更するには、選択中のオブジェクト ボックスの右上隅にある 一括編集 をクリックします。詳細については、「データベース、テーブル、および列を一括でマッピングする」をご参照ください。
-
-
詳細設定へ をクリックして、詳細設定を構成します。
-
データ検証設定
データ検証を構成するには、「データ検証の構成」をご参照ください。
-
詳細設定
パラメーター
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、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 を設定します。
環境タグ
ビジネスニーズに基づいてインスタンスを識別するために環境タグを選択できます。この例では、タグを選択する必要はありません。
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] をクリックします。
データ同期ページでタスクの進捗状況を確認できます。