Data Transmission Service (DTS) を使用して、スタンドアロンのMongoDBデータベースから別のMongoDBデータベースにデータを移行できます。 任意の利用可能なアーキテクチャ。
サポートされているソースデータベースとターゲットデータベース
ソースデータベースとターゲットデータベースのアクセス方法は同じである必要があります。 たとえば、ソースデータベースとターゲットデータベースの両方がApsaraDB For MongoDBインスタンスであるとします。
ソースデータベース (スタンドアロンアーキテクチャ) | 宛先データベース(任意の利用可能なアーキテクチャ) |
ApsaraDB for MongoDB | ApsaraDB for MongoDB |
Elastic Compute Service (ECS) インスタンスでホストされる自己管理型データベース | ECSインスタンスでホストされている自己管理型データベース |
Express Connect、VPN Gateway、またはSmart Access Gatewayを介して接続されている自己管理型データベース | Express Connect、VPN Gateway、またはSmart Access Gatewayを介して接続されている自己管理型データベース |
パブリックIPアドレスを持つ自己管理型データベース | パブリックIPアドレスを持つ自己管理型データベース |
このトピックでは、スタンドアロンのApsaraDB for MongoDBインスタンスから、にデプロイされている別のApsaraDB for MongoDBインスタンスにデータを移行する方法について説明します。 任意の利用可能なアーキテクチャ。手順に従って、他の種類のMongoDBデータベースのデータ移行タスクを設定することもできます。
前提条件
スタンドアロンアーキテクチャのソースApsaraDB for MongoDBインスタンスとターゲットApsaraDB for MongoDBインスタンスが作成されます。 ターゲットApsaraDB for MongoDBインスタンスは、利用可能な任意のアーキテクチャにデプロイできます。 詳細については、「ApsaraDB For MongoDBスタンドアロンインスタンスの作成」、「レプリカセットインスタンスの作成」、および「シャードクラスターインスタンスの作成」をご参照ください。
説明サポートされているデータベースバージョンの詳細については、「データ移行シナリオの概要」をご参照ください。
移行元ApsaraDB for MongoDBインスタンスの使用可能なストレージ容量が、移行元ApsaraDB for MongoDBインスタンスのデータの合計サイズよりも10% に大きいこと。 これは推奨される前提条件です。
ターゲットApsaraDB for MongoDBインスタンスがシャードクラスターアーキテクチャにデプロイされている場合、ターゲットApsaraDB for MongoDBインスタンスでシャードするデータベースとコレクションを作成し、ビジネス要件に基づいてシャードを設定する必要があります。 詳細については、「シャードのパフォーマンスを最大化するためのシャーディングの設定」をご参照ください。
説明クラスターにシャーディングを設定すると、移行されたデータは異なるシャードに分散されます。 これにより、シャードクラスターのパフォーマンスが最大になります。
使用上の注意
カテゴリ | 説明 |
ソースデータベースの制限 |
|
その他の制限 |
|
特別なケース | ソースデータベースが自己管理型MongoDBデータベースの場合、データ移行タスクの実行中にソースデータベースでプライマリ /セカンダリの切り替えを実行しないことを推奨します。 それ以外の場合、タスクは失敗します。 |
課金
移行タイプ | インスタンス設定料金 | インターネットトラフィック料金 |
スキーマ移行とフルデータ移行 | 無料です。 | インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。 |
移行タイプ
移行タイプ | 説明 |
スキーマの移行 | DTSは、オブジェクトのスキーマをソースApsaraDB for MongoDBインスタンスからターゲットApsaraDB for MongoDBインスタンスに移行します。 説明 DTSは、データベース、コレクション、およびインデックスのスキーマ移行をサポートしています。 |
フルデータ移行 | DTSは、オブジェクトの全データをソースApsaraDB for MongoDBインスタンスからターゲットApsaraDB for MongoDBインスタンスに移行します。 説明 DTSは、データベースとコレクションの完全なデータ移行をサポートします。 |
データベースアカウントに必要な権限
データベース | スキーマ移行 | 完全なデータ移行 |
ApsaraDB for MongoDBインスタンスのソース | ソースデータベースの読み取り権限 | |
ターゲットApsaraDB for MongoDBインスタンス | dbAdminAnyDatabaseのアクセス許可、ターゲットデータベースの読み取りおよび書き込み権限、およびローカルデータベースの読み取り権限 |
データベースアカウントを作成し、ApsaraDB For MongoDBインスタンスのデータベースアカウントに権限を付与する方法の詳細については、「MongoDBデータベースのユーザー権限の管理」をご参照ください。
手順
[データ移行タスク] ページに移動します。
データ管理 (DMS) コンソール にログインします。
上部のナビゲーションバーで、[DTS] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
説明操作は、DMSコンソールのモードとレイアウトによって異なります。 詳細については、「シンプルモード」および「DMSコンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。
新しいDTSコンソールのデータ移行タスクページに行くこともできます。
[データ移行タスク] の横にあるドロップダウンリストから、データ移行インスタンスが存在するリージョンを選択します。
説明新しいDTSコンソールを使用する場合は、左上隅にデータ移行インスタンスが存在するリージョンを選択する必要があります。
[タスクの作成] をクリックします。 タスクの作成ウィザードで、ソースデータベースとターゲットデータベースを設定します。 次の表にパラメーターを示します。
警告ソースデータベースとターゲットデータベースを設定した後、ページの上部に表示される制限を読むことを推奨します。 そうしないと、タスクが失敗したり、データの不一致が発生します。
セクション
パラメーター
説明
N/A
タスク名
タスクの名前。 DTSはタスクに名前を自動的に割り当てます。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。
ソースデータベース
既存のDMSデータベースインスタンスの選択
使用するデータベースインスタンス。 ビジネス要件に基づいて、既存のインスタンスを使用するかどうかを選択できます。
既存のインスタンスを選択すると、DTSはデータベースのパラメーターを自動的に入力します。
既存のインスタンスを選択しない場合は、ソースデータベースのパラメーターを設定する必要があります。
データベースタイプ
移行元ディスクのタイプを設定します。 MongoDB を選択します。
アクセス方法
ソースデータベースのアクセス方法。 [Alibaba Cloudインスタンス] を選択します。
インスタンスリージョン
ソースApsaraDB for MongoDBインスタンスが存在するリージョン。
アーキテクチャ
ソースインスタンスがデプロイされるアーキテクチャ。 スタンドアロンApsaraDB for MongoDBインスタンスのレプリカセットを選択します。
レプリカセット: レプリカセットインスタンスに複数のタイプのノードをデプロイして、高可用性と読み書き分離を実現できます。 詳細は、「レプリカセットインスタンス」をご参照ください。
シャードクラスター: シャードクラスターインスタンスは、mongos、shard、Configserverノードの3種類のコンポーネントで構成されています。 mongosおよびshardノードの設定と数をカスタマイズできます。 詳細については、「シャードクラスターインスタンス」をご参照ください。
インスタンスID
ソースApsaraDB for MongoDBインスタンスのID。
認証データベース
移行元のApsaraDB for MongoDBインスタンスで移行するオブジェクトが属する認証データベースの名前。 以前に名前を変更しなかった場合、デフォルト値はadminです。
データベースアカウント
ソースApsaraDB for MongoDBインスタンスのデータベースアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを設定します。
宛先データベース
既存のDMSデータベースインスタンスの選択
使用するデータベースインスタンス。 ビジネス要件に基づいて、既存のインスタンスを使用するかどうかを選択できます。
既存のインスタンスを選択すると、DTSはデータベースのパラメーターを自動的に入力します。
既存のインスタンスを選択しない場合は、ソースデータベースのパラメーターを設定する必要があります。
データベースタイプ
ターゲットデータベースのタイプ。 MongoDB を選択します。
アクセス方法
ターゲットデータベースのアクセス方法。 [Alibaba Cloudインスタンス] を選択します。
インスタンスリージョン
ターゲットApsaraDB for MongoDBインスタンスが存在するリージョン。
アーキテクチャ
ターゲットインスタンスがデプロイされるアーキテクチャ。 ビジネス要件に基づいてアーキテクチャを選択します。 有効な値:
レプリカセット: レプリカセットインスタンスに複数のタイプのノードをデプロイして、高可用性と読み書き分離を実現できます。 詳細は、「レプリカセットインスタンス」をご参照ください。
シャードクラスター: シャードクラスターインスタンスは、mongos、shard、およびconfigサーバーノードの3種類のコンポーネントで構成されています。 mongosおよびshardノードの設定と数をカスタマイズできます。 詳細については、「シャードクラスターインスタンス」をご参照ください。
インスタンスID
移行先のApsaraDB for MongoDBインスタンスのID。
認証データベース
移行先ApsaraDB for MongoDBインスタンスで移行するオブジェクトが属する認証データベースの名前。 以前に名前を変更しなかった場合、デフォルト値はadminです。
データベースアカウント
移行先ApsaraDB for MongoDBインスタンスのデータベースアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを設定します。
ページの下部で、[接続をテストして続行] をクリックします。
ソースまたはターゲットデータベースがAlibaba Cloudデータベースインスタンス (ApsaraDB RDS for MySQLインスタンスやApsaraDB for MongoDBインスタンスなど) の場合、DTSは自動的にDTSサーバーのCIDRブロックをインスタンスのIPアドレスホワイトリストに追加します。 ソースデータベースまたはターゲットデータベースがElastic Compute Service (ECS) インスタンスでホストされている自己管理データベースの場合、DTSサーバーのCIDRブロックがECSインスタンスのセキュリティグループルールに自動的に追加されます。ECSインスタンスがデータベースにアクセスできることを確認する必要があります。 自己管理データベースが複数のECSインスタンスでホストされている場合、DTSサーバーのCIDRブロックを各ECSインスタンスのセキュリティグループルールに手動で追加する必要があります。 ソースデータベースまたはターゲットデータベースが、データセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供される自己管理データベースである場合、DTSサーバーのCIDRブロックをデータベースのIPアドレスホワイトリストに手動で追加して、DTSがデータベースにアクセスできるようにする必要があります。 詳細については、「DTSサーバーのCIDRブロックの追加」トピックの「DTSサーバーのCIDRブロック」セクションをご参照ください。
警告DTSサーバーのパブリックCIDRブロックがデータベースインスタンスのホワイトリストまたはECSインスタンスのセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、ユーザー名とパスワードのセキュリティの強化、公開されるポートの制限、API呼び出しの認証、ホワイトリストまたはセキュリティグループルールの定期的なチェック、CIDRブロックの禁止、またはExpress Connectを使用したデータベースインスタンスのDTSへの接続、VPNゲートウェイ、またはSmart Access Gateway。
移行するオブジェクトと詳細設定を設定します。
パラメーター
説明
移行タイプ
[スキーマ移行] および [フルデータ移行] を選択します。
説明このシナリオでは、DTSは増分データ移行をサポートしていません。 データの一貫性を確保するため、データ移行中はソースデータベースにデータを書き込まないことを推奨します。
詳細については、「移行タイプ」をご参照ください。
競合テーブルの処理モード
事前チェックエラーとレポートエラー: ターゲットデータベースに、ソースデータベースのコレクションと同じ名前のコレクションが含まれているかどうかを確認します。 ソースデータベースとターゲットデータベースに同じコレクション名が含まれていない場合は、事前チェックが渡されます。 それ以外の場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。
説明オブジェクト名マッピング機能を使用して、移行先データベースに移行されるコレクションの名前を変更できます。 この機能は、ソースデータベースとターゲットデータベースに同じコレクション名が含まれていて、ターゲットデータベースのコレクションを削除または名前変更できない場合に使用できます。 詳細については、「マップオブジェクト名」をご参照ください。
エラーを無視して続行: ソースデータベースとターゲットデータベースで同じコレクション名の事前チェックをスキップします。
警告[エラーを無視して続行] を選択すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
DTSは、ターゲットデータベースのデータレコードと同じ主キーを持つデータレコードを移行しません。
データの初期化に失敗するか、一部の列のみが移行されるか、データ移行タスクが失敗する可能性があります。
宛先インスタンスでのオブジェクト名の大文字化
ターゲットインスタンスのデータベース名とコレクション名の大文字化を指定します。 デフォルトでは、DTSデフォルトポリシーが選択されています。 他のオプションを選択して、オブジェクト名の大文字化がソースまたはターゲットデータベースの大文字化と一致していることを確認できます。 詳細については、「ターゲットインスタンスのオブジェクト名の大文字化の指定」をご参照ください。
ソースオブジェクト
[使用可能] セクションから1つ以上のオブジェクトを選択します。 アイコンをクリックし、[選択済み] セクションにオブジェクトを追加します。
説明移行するオブジェクトとしてデータベースまたはコレクションを選択できます。
[選択済みオブジェクト]
移行先インスタンスに移行するオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。 詳細については、「単一オブジェクトの名前のマッピング」をご参照ください。
一度に複数のオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションの右上隅にある [一括編集] をクリックします。 詳細については、「一度に複数のオブジェクト名をマップする」をご参照ください。
説明オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの移行に失敗する可能性があります。
データをフィルタリングするWHERE条件を指定するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。 表示されるダイアログボックスで、条件を指定します。 詳細については、「フィルター条件の指定」をご参照ください。
[次へ:詳細設定] をクリックして詳細設定を構成します。
パラメーター
説明
Set Alerts
データ移行タスクのアラートを設定するかどうかを指定します。 タスクが失敗するか、移行の待ち時間が指定されたしきい値を超えると、アラート送信先は通知を受け取ります。 有効な値:
No: アラートを設定しません。
Yes: アラートを設定します。 この場合、アラートしきい値と アラート通知設定 詳細については、「DTSタスクの作成時のモニタリングとアラートの設定」をご参照ください。
失敗した接続の再試行時間
失敗した接続のリトライ時間範囲。 データ移行タスクの開始後にソースデータベースまたはターゲットデータベースの接続に失敗した場合、DTSは再試行時間範囲内ですぐに接続を再試行します。 有効な値: 10 ~ 1440 単位は分です。 デフォルト値: 720 パラメーターを30より大きい値に設定することを推奨します。 指定した再試行時間内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。
説明同じソースまたはターゲットデータベースを共有する複数のデータ移行タスクに対して異なるリトライ時間範囲を指定した場合、後で指定される値が優先されます。
DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースデータベースとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。
ETLの設定
ビジネス要件に基づいて、[はい] または [いいえ] を選択します。 [はい] を選択した場合、コードエディターにドメイン固有言語 (DSL) ステートメントを入力する必要があります。 詳細については、「データ移行または同期タスクでのETLの設定」をご参照ください。
ページの下部で、次:タスク設定の保存と事前チェック をクリックします。
ポインタを 次:タスク設定の保存と事前チェック に移動し、[OpenAPIパラメーターのプレビュー] をクリックして、関連するAPI操作を呼び出してDTSタスクを設定するときに指定するパラメーターを表示できます。
説明データ移行タスクを開始する前に、DTSは事前チェックを実行します。 データ移行タスクは、タスクが事前チェックに合格した後にのみ開始できます。
タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。 チェック結果に基づいて原因を分析した後、問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。
事前チェック中にアイテムに対してアラートが生成された場合は、シナリオに基づいて次の操作を実行します。
アラートアイテムを無視できない場合は、失敗したアイテムの横にある [詳細の表示] をクリックして問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。
アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。 [詳細の表示] ダイアログボックスで、[無視] をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。 次に、[再度事前チェック] をクリックして、事前チェックを再度実行します。 アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
成功率が100% になるまで待ちます。 次に、[次へ: インスタンスの購入] をクリックします。
[インスタンスの購入] ページで、データ移行インスタンスのインスタンスクラスパラメーターを設定します。 下表にパラメーターを示します。
セクション
パラメーター
説明
新しいインスタンスクラス
リソースグループ設定
データ移行インスタンスが属するリソースグループ。 デフォルト値: Default resource group 詳細については、「リソース管理とは 」をご参照ください。
インスタンスクラス
DTSは、移行速度が異なるインスタンスクラスを提供します。 ビジネスシナリオに基づいてインスタンスクラスを選択できます。 詳細については、「データ移行インスタンスの仕様」をご参照ください。
読んで同意するデータ伝送サービス (従量課金) サービス規約チェックボックスを選択します。
[購入と開始] をクリックして、データ移行タスクを開始します。 タスクリストでタスクの進行状況を確認できます。