すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:DTSを使用して、レプリカセットアーキテクチャを使用する自己管理型MongoDBデータベースからApsaraDB for MongoDBにデータを移行する

最終更新日:Jun 13, 2024

このトピックでは、Data Transmission Service (DTS) を使用して、レプリカセットアーキテクチャを使用する自己管理型MongoDBデータベースをApsaraDB for MongoDBに移行する方法について説明します。 DTS はフルデータ移行と増分データ移行をサポートします。 データ移行タスクを設定するときに、これら2つの移行タイプを選択して、サービスの継続性を確保できます。

MongoDBの組み込みコマンドを使用して、自己管理型MongoDBデータベースを移行することもできます。 詳細については、「mongodumpとmongorestoreを使用した自己管理型MongoDBデータベースからApsaraDB For MongoDBレプリカセットインスタンスへのデータの移行」をご参照ください。 データ移行および同期ソリューションの詳細については、「概要」をご参照ください。

前提条件

  • ソースおよびターゲットMongoDBデータベースのバージョンは、DTSでサポートされています。 詳細については、「データ移行シナリオの概要」をご参照ください。

  • ApsaraDB for MongoDBインスタンスの使用可能なストレージ容量は、自己管理型MongoDBデータベースのデータの合計サイズよりも10% に大きい。 これは推奨される前提条件です。

使用上の注意

  • DTSは、完全データ移行中にソースデータベースとターゲットデータベースのリソースを消費します。 これにより、データベースサーバーの負荷が増加する可能性があります。 大量のデータを移行したり、サーバーの仕様が要件を満たしていない場合、データベースサービスが利用できなくなることがあります。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。

  • ソースApsaraDB for MongoDBインスタンスとターゲットApsaraDB for MongoDBインスタンスのバージョンまたはストレージエンジンが異なる場合は、バージョンまたはストレージエンジンに互換性があることを確認してください。 詳細については、「MongoDBのバージョンとストレージエンジン」をご参照ください。

  • 管理者データベースまたはローカルデータベースをソースデータベースまたはターゲットデータベースとして使用することはできません。

  • データは、同時に宛先データベースに書き込まれる。 したがって、移行先データベースで占有されるストレージスペースは、移行元データベースのデータのサイズよりも大きく10% 5% があります。

  • ターゲットMongoDBデータベースに、ソースデータベースと同じプライマリキーがないことを確認します。 デフォルトの主キーは_idです。 そうしないと、宛先データベースでデータ損失が発生する可能性があります。 ターゲットデータベースにソースデータベースと同じプライマリキーがある場合は、DTSのサービスを中断することなく、ターゲットデータベース内の関連データをクリアします。 同じプライマリキーが_idの場合、ソースデータベースと同じ_idを持つターゲットデータベースのデータを削除できます。

課金

移行タイプ

タスク設定料金

インターネットトラフィック料金

フルデータ移行

無料です。

インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。

増分データ移行

有料。 詳細については、「課金の概要」をご参照ください。

移行タイプ

  • フルデータ移行: DTSは、ソースMongoDBデータベース内のオブジェクトの既存のすべてのデータを、ターゲットMongoDBデータベースに移行します。

    説明

    DTSは、データベース、コレクション、およびインデックスのタイプのオブジェクトを移行できます。

  • 増分データ移行: 完全データ移行が完了すると、DTSは移行元MongoDBデータベースの増分データを移行先MongoDBデータベースに移行します。

    説明
    • データベース、コレクション、およびインデックスに対して実行される作成および削除操作を移行できます。

    • ドキュメントに対して実行される作成、削除、および更新操作を移行できます。

データベースアカウントに必要な権限

データベース

完全なデータ移行

増分データ移行

自己管理型 MongoDB データベース

ソースデータベースの読み取り権限

ソース、管理者、およびローカルデータベースの読み取り権限

ApsaraDB for MongoDB インスタンス

ターゲットデータベースの読み取りおよび書き込み権限

ターゲットデータベースの読み取りおよび書き込み権限

データベースアカウントを作成し、データベースアカウントに権限を付与する方法の詳細については、以下のトピックを参照してください。

手順

  1. 最初に DTSコンソール

  2. 左側のナビゲーションウィンドウで、データ移行 をクリックします。

  3. [移行タスク] ページの上部で、ターゲットApsaraDB for MongoDBインスタンスが存在するリージョンを選択します。

  4. ページの右上隅にある [移行タスクの作成] をクリックします。

  5. ソースデータベースとターゲットデータベースを設定します。 Configure the source and destination databases

    セクション

    パラメーター

    説明

    N/A

    タスク名

    DTSが自動的に生成するタスク名。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。

    移行元データベース

    インスタンスタイプ

    ソースデータベースのインスタンスタイプ。 この例では、パブリックIPアドレスを持つユーザー作成データベースが選択されています。

    説明

    他のインスタンスタイプを選択した場合、自己管理データベースのネットワーク環境をデプロイする必要があります。 詳細については、「準備の概要」をご参照ください。

    インスタンスリージョン

    ソースデータベースが存在するリージョン。 インスタンスタイプとして [パブリックIPアドレスを持つユーザー作成データベース] を選択した場合、[インスタンスリージョン] パラメーターを指定する必要はありません。

    説明

    自己管理型MongoDBデータベースにホワイトリストが設定されている場合は、DTSサーバーのCIDRブロックをデータベースのホワイトリストに追加する必要があります。 [インスタンスリージョン] の横にある [DTS IP を取得する] をクリックして、DTS サーバーの CIDR ブロックを取得します。

    データベースエンジン

    移行元ディスクのタイプを設定します。 MongoDB を選択します。

    Hostname or IP Address

    自己管理型MongoDBデータベースへの接続に使用されるエンドポイント。 この例では、パブリックIPアドレスが使用されます。

    ポート番号

    自己管理型MongoDBデータベースのサービスポート番号。

    説明

    自己管理型MongoDBデータベースのサービスポートは、インターネット経由でアクセスできる必要があります。

    データベース名

    認証データベースの名前。 このデータベースにデータベースアカウントが作成されます。

    データベースアカウント

    自己管理型MongoDBデータベースへのログインに使用されるアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを設定します。

    説明

    ソースデータベースに関する情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が正しいかどうかを確認できます。 情報が正しい場合は、[合格] メッセージが表示されます。 情報が正しくない場合、[失敗] メッセージが表示され、[失敗] メッセージの横にある [確認] をクリックして情報を変更する必要があります。

    暗号化

    [非暗号化] を選択します。

    説明

    MongoDB Atlasからデータを移行する場合にのみ、SSL暗号化を選択できます。

    ターゲットデータベース

    インスタンスタイプ

    ターゲットデータベースのインスタンスタイプ。 MongoDB インスタンス を選択します。

    インスタンスリージョン

    ターゲットApsaraDB for MongoDBインスタンスが存在するリージョン。

    MongoDB インスタンス ID

    ターゲットApsaraDB for MongoDBインスタンスのID。

    データベース名

    認証データベースの名前。 このデータベースにデータベースアカウントが作成されます。

    データベースアカウント

    ターゲットApsaraDB for MongoDBインスタンスのデータベースアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを設定します。

    説明

    ターゲットインスタンスに関する情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が正しいかどうかを確認できます。 情報が正しい場合は、[合格] メッセージが表示されます。 情報が正しくない場合、[失敗] メッセージが表示され、[失敗] メッセージの横にある [確認] をクリックして情報を変更する必要があります。

  6. ページの右下隅にある [ホワイトリストの設定] および [次へ] をクリックします。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  7. 移行タイプと移行するオブジェクトを選択します。 Select the migration types and the objects to be migrated

    設定

    説明

    移行タイプの選択

    • フルデータ移行のみを実行するには、[フルデータ移行] のみを選択します。

    • データ移行中のサービスの継続性を確保するには、[フルデータ移行] および [増分データ移行] を選択します。

    説明

    増分データ移行が選択されていない場合、フルデータ移行中に自己管理型MongoDBデータベースにデータを書き込まないことを推奨します。 これにより、ソースデータベースとターゲットデータベース間のデータの整合性が確保されます。

    移行するオブジェクトの選択

    • [使用可能] セクションから1つ以上のオブジェクトを選択します。 Rightwards arrowアイコンをクリックし、[選択済みオブジェクト] セクションにオブジェクトを追加します。

      説明

      DTSは、admin、local、またはconfigデータベースからデータを移行できません。

    • 移行するオブジェクトとして、データベース、コレクション、または関数を選択できます。

    • デフォルトでは、オブジェクトがターゲットインスタンスに移行された後、オブジェクトの名前は変更されません。 オブジェクト名マッピング機能を使用して、移行先インスタンスに移行されるオブジェクトの名前を変更できます。 詳細については、次をご参照ください: オブジェクト名マッピング

    オブジェクトの名前を変更するかどうかを指定する

    オブジェクト名マッピング機能を使用して、移行先インスタンスに移行されるオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。

    ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ時間範囲の指定

    デフォルトでは、DTSがソースデータベースとターゲットデータベースへの接続に失敗した場合、DTSは次の12時間以内に再試行します。 業務要件に基づいて再試行時間範囲を指定できます。 指定された時間範囲内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。

    説明

    DTSがソースデータベースとターゲットデータベースへの再接続を試行する再試行時間内に、DTSインスタンスの料金が請求されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

  8. [事前チェック] をクリックします。

    説明
    • 移行タスクが開始される前にプリチェックが実行されます。 移行タスクは、事前チェックが成功した後にのみ開始されます。

    • 事前チェックが失敗した場合は、失敗した各チェック項目の横にあるNoteアイコンをクリックして、関連する詳細を表示します。 指示に従って問題を修正し、事前チェックを再度実行します。

  9. タスクが事前チェックに合格したら、[次へ] をクリックします。

  10. [設定の確認] ダイアログボックスで、[インスタンスクラス] パラメーターを指定し、[データ送信サービス (従量課金) サービス規約] に同意するチェックボックスをオンにします。

  11. [今すぐ購入してスタート] をクリックして、移行タスクを開始します。

    • フルデータ移行

      フルデータ移行中は、手動でタスクを停止しないことをお勧めします。 そうしないと、ターゲットデータベースに移行されたデータが不完全になる可能性があります。 フルデータ移行タスクが自動的に停止するまで待つことができます。

    • 増分データ移行

      増分データ移行中、タスクは自動的に停止しません。 タスクを手動で停止する必要があります。

      説明

      データ移行タスクを手動で停止する適切な時期を選択することを推奨します。 たとえば、オフピーク時やワークロードをApsaraDB For MongoDBインスタンスに切り替える前にタスクを停止できます。

      1. 増分データ移行移行タスクが遅延しませんがデータ移行タスクのプログレスバーに表示されるまで待ちます。 次に、ソースインスタンスへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。

      2. 増分データ移行のステータスが [移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。 The migration task is not delayed

  12. ワークロードをターゲットApsaraDB for MongoDBインスタンスに切り替えます。

関連ドキュメント

レプリカセットインスタンスへの接続