このトピックでは、Data Transmission Service (DTS) を使用して、シャードクラスターアーキテクチャを使用する自主管理 MongoDB データベースを ApsaraDB for MongoDB シャードクラスターインスタンスに移行する方法について説明します。DTS を使用すると、サービスを中断することなく、オンプレミスデータベースの既存データと増分データを Alibaba Cloud に移行できます。
詳細については、「MongoDB のデータ移行および同期ソリューションの概要」をご参照ください。
前提条件
自主管理 MongoDB および ApsaraDB for MongoDB でサポートされているバージョンの詳細については、「移行ソリューションの概要」をご参照ください。
宛先シャードクラスターインスタンスの各シャードに十分なストレージ容量があることを確認します。
説明たとえば、自主管理データベースに 3 つのシャードがあり、2 番目のシャードが最も多くのストレージ容量 (500 GB) を使用する場合、宛先シャードクラスターインスタンスの各シャードのストレージ容量は 500 GB を超える必要があります。
仕組み
DTS は、データベース内の各シャードを移行することで、自主管理 MongoDB データベースを移行します。各シャードに対してデータ移行タスクを作成する必要があります。
宛先 MongoDB インスタンスのデータ分散は、設定したシャーディングキーによって異なります。詳細については、「シャードのパフォーマンスを最大化するためのデータシャーディングの設定」をご参照ください。

注意事項
DTS は、完全なデータ移行中にソースデータベースとターゲットデータベースのリソースを消費します。これにより、データベースサーバーの負荷が増加する可能性があります。データベースのワークロードが重い場合や、サーバーの仕様が不十分な場合、データベースのパフォーマンスに影響が及ぶ可能性があります。場合によっては、データベースサービスが利用できなくなることがあります。データを移行する前に、移行がデータベースに与える影響を評価してください。オフピーク時にデータを移行することをお勧めします。
MongoDB インスタンスでサポートされているバージョンとストレージエンジンの詳細については、「バージョンとストレージエンジン」をご参照ください。クロスバージョンまたはクロスエンジンの移行を実行するには、事前に互換性を確認する必要があります。
DTS はターゲットデータベースにデータを同時に書き込みます。これにより、ターゲットデータベースが使用するストレージ容量は、ソースデータベースが使用する容量よりも 5% から 10% 大きくなります。
ターゲットデータベースに、ソースデータベースと同じプライマリキー (_id) を持つドキュメントがないことを確認してください。そうしないと、データが失われる可能性があります。ターゲットデータベースに同じプライマリキーを持つドキュメントがある場合は、サービスに影響を与えることなく、ターゲットデータベースから関連データを消去する必要があります。たとえば、ソースデータベースのドキュメントと同じ _id 値を持つドキュメントをターゲットデータベースから削除できます。
admin データベースと local データベースは、ソースデータベースまたはターゲットデータベースとして使用できません。
ソース MongoDB シャードクラスターインスタンスには、10 を超える Mongos ノードを含めることはできません。
課金
移行タイプ | タスク構成料金 | データ転送料金 |
完全なデータ移行 | 無料。 | インターネット経由で Alibaba Cloud からデータを移行する場合に料金が適用されます。詳細については、「DTS の価格」をご参照ください。 |
増分データ移行 | 有料。詳細については、「 DTS の価格」をご参照ください。 |
移行タイプ
完全なデータ移行: 選択したオブジェクトのすべての既存データをソースデータベースからターゲットデータベースに移行します。
説明これは、データベース、コレクション、およびインデックスの移行をサポートします。
増分データ移行: 完全なデータ移行が完了した後、増分データをソースデータベースからターゲットデータベースに移行します。
説明これは、データベース、コレクション、およびインデックスに対する作成および削除操作の同期をサポートします。
これは、ドキュメントに対する作成、削除、および更新操作の同期をサポートします。
データベースアカウントに必要な権限
データベース | 完全なデータ移行 | 増分データ移行 |
自主管理 MongoDB データベース | ソースデータベースに対する読み取り権限 | ソースデータベース、admin データベース、および local データベースに対する読み取り権限 |
ApsaraDB for MongoDB インスタンス | ターゲットデータベースに対する読み取りおよび書き込み権限 | ターゲットデータベースに対する読み取りおよび書き込み権限 |
データベースアカウントを作成し、データベースアカウントに権限を付与する方法の詳細については、次のトピックをご参照ください。
自主管理 MongoDB データベースについては、「MongoDB Create User documentation」をご参照ください。
Alibaba Cloud MongoDB インスタンスについては、「DMS を使用して MongoDB データベースユーザーを管理する」をご参照ください。
準備
必須: チャンク移行がデータ整合性に影響を与えるのを防ぐため、移行中に自主管理 MongoDB データベースのバランサーを無効にする必要があります。詳細については、「MongoDB バランサーの管理」をご参照ください。
警告バランサーが無効になっていない場合、チャンク移行は DTS が読み取るデータの整合性に影響します。
チャンク移行の失敗によって生成された孤立ドキュメントを自主管理 MongoDB データベースから消去します。
説明孤立ドキュメントを消去しないと、移行性能に影響します。移行中に
_idが競合するドキュメントが発生し、データ移行エラーが発生する可能性もあります。cleanupOrphaned.js スクリプトファイルをダウンロードします。
wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"cleanupOrphaned.js スクリプトファイルを変更し、
testを孤立ドキュメントを消去するデータベースの名前に置き換えます。説明複数のデータベースがある場合は、このステップと ステップ c を繰り返す必要があります。

次のコマンドを実行して、シャードノード上の指定されたデータベース内のすべてのコレクションから孤立ドキュメントを消去します。
説明このステップを各シャードノードで繰り返し、孤立ドキュメントを消去します。
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
ビジネスニーズに基づいて、宛先 MongoDB インスタンスでシャーディングする必要があるデータベースとコレクションを作成し、データシャーディングを設定します。詳細については、「シャードのパフォーマンスを最大限に活用するためのデータシャーディングの設定」をご参照ください。
説明データ移行タスクを設定する前にデータシャーディングを設定します。これにより、データが単一のシャードに移行され、そのシャードが使用するストレージ容量が割り当てられた容量を超えるのを防ぎます。
手順
次のいずれかの方法でデータ移行ページに移動し、データ移行インスタンスが存在するリージョンを選択します。
DTS コンソール
DTS コンソールにログインします。
左側のナビゲーションウィンドウで、データの移行 をクリックします。
ページの左上隅で、データ移行インスタンスが存在するリージョンを選択します。
DMS コンソール
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソールにログインします。
上部のナビゲーションバーで、ポインターを に移動します。
[データ移行タスク] の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。
タスクの作成 をクリックして、タスク設定ページに移動します。
ソースデータベースとターゲットデータベースを設定します。次の表にパラメーターを示します。
警告ソースデータベースとターゲットデータベースを設定した後、ページ上部に表示される [制限] を読むことをお勧めします。そうしないと、タスクが失敗したり、データの不整合が発生したりする可能性があります。
セクション
パラメーター
説明
N/A
タスク名
DTS タスクの名前。DTS は自動的にタスク名を生成します。タスクを簡単に識別できるような情報を含む名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。
移行元データベース
既存の接続を選択
DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。
インスタンスを DTS に登録できない場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を設定する必要があります。
データベースタイプ
ソースデータベースのタイプ。MongoDB を選択します。
アクセス方法
ソースデータベースのアクセス方法。この例では、パブリック IP アドレス が選択されています。
説明ソースの自主管理 MongoDB データベースにアクセスするために他の方法を選択した場合は、データベースのネットワーク環境をデプロイする必要があります。詳細については、「準備の概要」をご参照ください。
インスタンスのリージョン
ソースの自主管理 MongoDB データベースが存在するリージョン。
説明自主管理 MongoDB データベースが存在するリージョンがドロップダウンリストに表示されない場合は、自主管理 MongoDB データベースに地理的に最も近いリージョンを選択します。
アーキテクチャ
ソースデータベースがデプロイされているアーキテクチャ。シャードクラスター を選択します。
説明シャードクラスター オプションは、[アクセス方法] パラメーターを Express Connect、VPN Gateway、または Smart Access Gateway、パブリック IP アドレス、または Cloud Enterprise Network (CEN) に設定した場合にのみ表示されます。
移行方法
ソースデータベースから増分データを移行するために使用される方法。ビジネス要件に基づいて方法を選択します。有効な値:
Oplog (推奨):
このオプションは、ソースデータベースで oplog 機能が有効になっている場合に使用できます。
説明デフォルトでは、oplog 機能は自主管理 MongoDB データベースと ApsaraDB for MongoDB インスタンスの両方で有効になっています。この機能により、ログのプル速度が速いため、低遅延で増分データを移行できます。したがって、[移行方法] パラメーターには Oplog を選択することをお勧めします。
ChangeStream: このオプションは、ソースデータベースで変更ストリームが有効になっている場合に使用できます。詳細については、「変更ストリーム」をご参照ください。
説明ソースデータベースが非弾性 Amazon DocumentDB クラスターである場合、[移行方法] パラメーターは ChangeStream にのみ設定できます。
アーキテクチャ パラメーターに シャードクラスター を選択した場合、Shardアカウント および Shardパスワード パラメーターを設定する必要はありません。
エンドポイントのタイプ
ビジネス要件に基づいて シングルノード または マルチノード を選択します。
説明このパラメーターは、[アクセス方法] パラメーターを Express Connect、VPN Gateway、または Smart Access Gateway、パブリック IP アドレス、または Cloud Enterprise Network (CEN) に設定した場合にのみ表示されます。
Mongos ドメイン名または IP アドレス
自主管理 MongoDB データベース内の mongos ノードのエンドポイントまたは IP アドレス。この例では、mongos ノードのパブリック IP アドレスが使用されます。
説明このパラメーターは、エンドポイントのタイプ パラメーターが シングルノード に設定されている場合にのみ表示されます。
ドメイン名または IP アドレス パラメーターを任意の mongos ノードのドメイン名または IP アドレスに設定します。ポート番号 パラメーターを任意の mongos ノードのポートに設定します。
ポート番号
自主管理 MongoDB データベースのサービスポート番号。
説明このパラメーターは、エンドポイントのタイプ パラメーターが シングルノード に設定されている場合にのみ表示されます。
mongos ノードのサービスポートは、インターネット経由でアクセスできる必要があります。
Mongos エンドポイント
自主管理 MongoDB データベースのエンドポイント。
説明このパラメーターは、エンドポイントのタイプ パラメーターが マルチノード に設定されている場合にのみ表示されます。
パラメーターを
<IP>:<Port>形式で指定します。<IP>をドメイン名または IP アドレスに置き換えます。インターネット経由でアクセスできるドメイン名を使用することをお勧めします。複数のエンドポイントは改行で区切ります。
認証データベース
ソースの自主管理 MongoDB データベースのデータベースアカウントとパスワードを格納する認証データベースの名前。認証データベースの名前を以前に変更していない場合、デフォルト値は admin です。
データベースアカウント
自主管理 MongoDB データベースの mongos ノードへのアクセスに使用されるアカウント。アカウントに必要な権限の詳細については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。
説明アクセス方法 パラメーターを ECS 上の自己管理データベース または データベースゲートウェイ に設定した場合は、自主管理 MongoDB データベースのシャードへのアクセスに使用するアカウントを入力します。
データベースのパスワード
データベースインスタンスへのアクセスに使用されるパスワード。
マルチシャードノードのアクセス情報
自主管理 MongoDB データベースのシャードノードへのアクセスに使用される情報。
説明このパラメーターは、自主管理 MongoDB データベースがソースデータベースであり、アーキテクチャ パラメーターが シャードクラスター に設定され、[移行方法] パラメーターが Oplog に設定され、エンドポイントのタイプ パラメーターが マルチノード に設定されている場合にのみ使用できます。
マルチシャードノードのアクセス情報 の右側にある 追加 をクリックします。
シャードエンドポイント フィールドに、自主管理 MongoDB データベースのシャードノードのエンドポイントを入力します。
説明[アーキテクチャ] パラメーターを [レプリカセット] に設定した場合は、[エンドポイント] パラメーターを指定します。[アーキテクチャ] パラメーターを [シャードクラスター] に設定した場合は、[Mongos エンドポイント] パラメーターを指定します。
エンドポイントは
<IP>:<Port>形式です。<IP>をドメイン名または IP アドレスに置き換えます。公開で解決可能なドメイン名を使用することをお勧めします。複数のエンドポイントは改行で区切ります。
前の手順を繰り返して、各シャードノードのアクセス情報を設定します。
シャードアクセス情報 (IP: ポート)
自主管理 MongoDB データベースのシャードに関するアクセス情報。シャードの IP アドレスとポート番号を含みます。形式は
IP アドレス:ポート番号です。説明このパラメーターは、エンドポイントのタイプ パラメーターが シングルノード に設定されている場合にのみ表示されます。
複数のシャードのアクセス情報はコンマ (,) で区切ります。
Shardアカウント
ソースの自主管理 MongoDB データベースのシャードへのアクセスに使用されるアカウント。
Shardパスワード
ソースの自主管理 MongoDB データベースのシャードへのアクセスに使用されるパスワード。
暗号化
ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化、SSL 暗号化、または Mongo Atlas SSL を選択できます。暗号化 パラメーターで使用できるオプションは、アクセス方法 および アーキテクチャ パラメーターに選択された値によって決まります。DTS コンソールに表示されるオプションが優先されます。
説明[アーキテクチャ] パラメーターが [シャードクラスター] に設定され、ApsaraDB for MongoDB データベースの [移行方法] パラメーターが Oplog に設定されている場合、[暗号化] パラメーターの SSL 暗号化 は使用できません。
ソースデータベースが レプリカセット アーキテクチャを使用する自主管理 MongoDB データベースであり、アクセス方法 パラメーターが Alibaba Cloud インスタンス に設定されておらず、[暗号化] パラメーターが SSL 暗号化 に設定されている場合、認証局 (CA) 証明書をアップロードしてソースデータベースへの接続を検証できます。
移行先データベース
既存の接続を選択
DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。
説明DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。
インスタンスを DTS に登録できない場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を設定する必要があります。
データベースタイプ
ターゲットデータベースのタイプ。MongoDB を選択します。
アクセス方法
ターゲットデータベースのアクセス方法。Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
宛先 ApsaraDB for MongoDB インスタンスが存在するリージョン。
Alibaba Cloud アカウント間でのデータレプリケーション
この例では、現在の Alibaba Cloud アカウントのデータベースインスタンスが使用されます。× を選択します。
アーキテクチャ
宛先 ApsaraDB for MongoDB インスタンスがデプロイされているアーキテクチャ。
インスタンス ID
宛先 ApsaraDB for MongoDB インスタンスの ID。
認証データベース
宛先 ApsaraDB for MongoDB インスタンスのデータベースアカウントとパスワードを格納する認証データベースの名前。認証データベースの名前を以前に変更していない場合、デフォルト値は admin です。
データベース名
宛先 ApsaraDB for MongoDB インスタンスの移行されたオブジェクトが属するデータベースの名前。
データベースアカウント
宛先 ApsaraDB for MongoDB インスタンスのデータベースアカウント。アカウントに必要な権限の詳細については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。
データベースのパスワード
データベースインスタンスへのアクセスに使用されるパスワード。
暗号化
ターゲットデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて 非暗号化、SSL 暗号化、または Mongo Atlas SSL を選択できます。暗号化 パラメーターで使用できるオプションは、アクセス方法 および アーキテクチャ パラメーターに選択された値によって決まります。DTS コンソールに表示されるオプションが優先されます。
説明ターゲットデータベースが ApsaraDB for MongoDB インスタンスであり、[アーキテクチャ] パラメーターが [シャードクラスター] に設定されている場合、[暗号化] パラメーターの SSL 暗号化 は使用できません。
ターゲットデータベースが レプリカセット アーキテクチャを使用する自主管理 MongoDB データベースであり、アクセス方法 パラメーターが Alibaba Cloud インスタンス に設定されておらず、[暗号化] パラメーターが SSL 暗号化 に設定されている場合、CA 証明書をアップロードしてターゲットデータベースへの接続を検証できます。
ページの下部で、[接続性のテストと次へ] をクリックします。
説明DTS サーバーの CIDR ブロックが、ソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加され、DTS サーバーからのアクセスが許可されていることを確認してください。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。
ソースまたはターゲットデータベースが自己管理データベースであり、その アクセス方法 が Alibaba Cloud インスタンス に設定されていない場合は、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックします。
移行するオブジェクトを設定します。
オブジェクト設定 ページで、移行するオブジェクトを設定します。
パラメーター
説明
移行タイプ
完全なデータ移行のみを実行するには、[スキーマ移行] と [完全なデータ移行] を選択します。
データ移行中のサービス継続性を確保するには、[スキーマ移行]、[完全なデータ移行]、および [増分データ移行] を選択します。
説明[スキーマ移行] を選択しない場合は、データを受信するためにターゲットデータベースにデータベースとテーブルが作成されていること、および [選択したオブジェクト] でオブジェクト名マッピング機能が有効になっていることを確認してください。
[増分データ移行] を選択しない場合は、ソースデータベースとターゲットデータベース間のデータ整合性を確保するために、データ移行中にソースデータベースにデータを書き込まないことをお勧めします。
競合するテーブルの処理モード
エラーの事前チェックと報告: ターゲットデータベースにソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。ソースデータベースとターゲットデータベースに同じテーブル名を持つテーブルが含まれていない場合、事前チェックは合格します。それ以外の場合は、事前チェック中にエラーが返され、データ移行タスクを開始できません。
説明ソースデータベースとターゲットデータベースに同じ名前のテーブルが含まれており、ターゲットデータベースのテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、ターゲットデータベースに移行されるテーブルの名前を変更できます。詳細については、「オブジェクト名のマッピング」をご参照ください。
エラーを無視して続行: ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。
警告エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスに次の潜在的なリスクが生じる可能性があります。
ソースデータベースとターゲットデータベースのスキーマが同じで、データレコードのプライマリキーがターゲットデータベースの既存のデータレコードと同じ場合、次のシナリオが発生する可能性があります。
完全なデータ移行中、DTS はデータレコードをターゲットデータベースに移行しません。ターゲットデータベースの既存のデータレコードは保持されます。
増分データ移行中、DTS はデータレコードをターゲットデータベースに移行します。ターゲットデータベースの既存のデータレコードは上書きされます。
ソースデータベースとターゲットデータベースのスキーマが異なる場合、特定の列のみが移行されるか、データ移行タスクが失敗します。注意して進めてください。
移行先インスタンスでのオブジェクト名の大文字化
宛先インスタンスのデータベース名とコレクション名の大文字/小文字。デフォルトでは、[DTS のデフォルトポリシー] が選択されています。オブジェクト名の大文字/小文字がソースまたはターゲットデータベースのものと同じになるように、別のオプションを選択できます。詳細については、「宛先インスタンスのオブジェクト名の大文字/小文字を指定する」をご参照ください。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。
アイコンをクリックして、オブジェクトを 選択中のオブジェクト セクションに追加します。説明移行するオブジェクトとしてコレクションまたはデータベースを選択できます。
選択中のオブジェクト
宛先インスタンスで移行するオブジェクトの名前を指定したり、宛先インスタンスでデータを受信するオブジェクトを指定したりするには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名のマッピング」をご参照ください。
移行対象として選択されている 1 つ以上のオブジェクトを削除するには、選択中のオブジェクト セクションでオブジェクトをクリックし、
アイコンをクリックしてオブジェクトを ソースオブジェクト セクションに移動します。
説明データベースとコレクションの増分移行モードを選択するには、[選択したオブジェクト] セクションで移行するオブジェクトを右クリックし、表示されるダイアログボックスでモードを選択します。
データをフィルタリングするための WHERE 条件を指定するには、[選択したオブジェクト] セクションでテーブルを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、「フィルター条件の設定」をご参照ください。WHERE 条件は完全移行中に指定できますが、増分移行中には指定できません。
オブジェクト名マッピング機能を使用してデータを受信するデータベースまたはコレクションを指定した場合、指定したオブジェクトに依存する他のオブジェクトの移行が失敗する可能性があります。
次へ:詳細設定 をクリックして、詳細設定を行います。
パラメーター
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、専用クラスターを指定しない場合、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 パラメーターを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、移行タイプ パラメーターに 完全データ移行 を選択した場合にのみ設定できます。
同期するデータのうち、同一テーブル内のプライマリキー_id のデータ型が一意かどうか
移行するコレクション内のプライマリキー
_idのデータ型が一意であるかどうかを指定します。重要ビジネス要件に基づいてこのパラメーターを有効にしてください。そうしないと、データ損失が発生する可能性があります。
このパラメーターは、移行タイプ パラメーターに 完全データ移行 を選択した場合にのみ必要です。
有効な値:
○: データ型は一意です。完全移行中、DTS はソースデータベースのプライマリキーのデータ型をスキャンしません。DTS は、移行するコレクション内のプライマリキーの 1 つのデータ型のみを移行します。
×: データ型は一意ではありません。完全移行中、DTS はソースデータベースのプライマリキーのデータ型をスキャンし、すべてのデータ型のデータを移行します。
増分移行率を制限するかどうか
増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを設定するには、1 秒あたりの増分移行の行数 RPS および 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。
説明このパラメーターは、移行タイプ パラメーターに 増分データ移行 を選択した場合にのみ設定できます。
環境タグ
DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、このパラメーターを設定する必要はありません。
ETL の設定
抽出、変換、ロード (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:
はい: ETL 機能を設定します。コードエディタにデータ処理文を入力できます。詳細については、「データ移行またはデータ同期タスクで ETL を設定する」をご参照ください。
いいえ: ETL 機能を設定しません。
監視アラート
データ移行タスクのアラートを設定するかどうかを指定します。タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先は通知を受け取ります。有効な値:
いいえ: アラートを設定しません。
はい: アラートを設定します。この場合、アラートのしきい値と アラート通知設定も設定する必要があります。詳細については、「モニタリングとアラートの設定」トピックの「DTS タスク作成時のモニタリングとアラートの設定」セクションをご参照ください。
[次へ: データ検証] をクリックして、データ検証タスクを設定します。
データ検証機能の使用方法の詳細については、「データ検証タスクの設定」をご参照ください。
タスク設定を保存して事前チェックを実行します。
関連する API 操作を呼び出して DTS タスクを設定する際に指定するパラメーターを表示するには、次:タスク設定の保存と事前チェック にポインターを合わせ、OpenAPI パラメーターのプレビュー をクリックします。
パラメーターを表示する必要がない場合、または表示した場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。
説明データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ移行タスクを開始できます。
タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、再度事前チェックを実行します。
事前チェック中に項目のアラートがトリガーされた場合:
アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、再度事前チェックを実行します。
アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。その後、[再度事前チェック] をクリックして、再度事前チェックを実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスに潜在的なリスクが生じる可能性があります。
インスタンスを購入します。
[成功率] が 100% になるまで待ちます。その後、[次へ: インスタンスの購入] をクリックします。
[インスタンスの購入] ページで、データ移行インスタンスの [インスタンスクラス] パラメーターを設定します。次の表にパラメーターを示します。
セクション
パラメーター
説明
新しいインスタンスクラス
リソースグループ
データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。
インスタンスクラス
DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
チェックボックスをオンにして、[Data Transmission Service (Pay-as-you-go) 利用規約] を読んで同意します。
[購入して開始] をクリックします。表示されるメッセージで、[OK] をクリックします。
[データ移行] ページでタスクの進行状況を表示できます。
説明データ移行タスクを使用して増分データを移行できない場合、タスクは自動的に停止します。[ステータス] セクションに [完了] が表示されます。
データ移行タスクを使用して増分データを移行できる場合、タスクは自動的に停止しません。増分データ移行タスクは停止も完了もしません。[ステータス] セクションに [実行中] が表示されます。
オプション。ソース自主管理 MongoDB データベースの アクセス方法 パラメーターを ECS 上の自己管理データベース または データベースゲートウェイ に設定した場合は、ステップ 1 から 7 を繰り返して、残りのシャードのデータ移行タスクを作成する必要があります。
データ移行タスクを停止します。
完全なデータ移行
完全なデータ移行中にタスクを手動で停止しないことをお勧めします。そうしないと、ターゲットデータベースに移行されたデータが不完全になる可能性があります。完全なデータ移行タスクが自動的に停止するまで待つことができます。
増分データ移行
増分データ移行タスクは自動的に停止しません。タスクを手動で停止する必要があります。
説明データ移行タスクを手動で停止するには、適切な時間を選択することをお勧めします。たとえば、オフピーク時にタスクを停止したり、ワークロードを ApsaraDB for MongoDB インスタンスに切り替える前にタスクを停止したりできます。
データ移行タスクの 実行中 プログレスバーに 増分データ移行 が表示され、操作情報 に 遅延なし が表示されるまで待ちます。その後、ソースデータベースへのデータ書き込みを数分間停止します。増分データ移行の遅延がプログレスバーに表示される場合があります。
増分データ移行 のステータスが再び 遅延なし に変わったら、すべてのシャードの移行タスクを手動で停止します。
ビジネスを宛先 ApsaraDB for MongoDB インスタンスに切り替えます。