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

ApsaraDB for MongoDB:シャードクラスターアーキテクチャを使用する ECS ホスト型自己管理 MongoDB データベースから ApsaraDB for MongoDB へのデータ移行

最終更新日:Nov 09, 2025

このトピックでは、Data Transmission Service (DTS) を使用して、シャードクラスターアーキテクチャを使用する Elastic Compute Service (ECS) ホスト型自己管理 MongoDB データベースを ApsaraDB for MongoDB インスタンスに移行する方法について説明します。DTS を使用すると、ビジネスの中断なしに履歴データと増分データを移行できます。

このトピックでは、旧バージョンの DTS コンソールでデータ移行を実行する方法について説明します。新バージョンの DTS コンソールでデータを移行する方法の詳細については、「シャードクラスターアーキテクチャを使用する自己管理 MongoDB データベースから ApsaraDB for MongoDB シャードクラスターインスタンスへのデータ移行」をご参照ください。

仕組み

DTS は、データベース内の各シャードを移行することで、自己管理 MongoDB データベースを移行します。各シャードに対してデータ移行タスクを作成する必要があります。

説明

ターゲット MongoDB インスタンスでのデータの分散は、設定したシャーディングキーによって異なります。詳細については、「シャードのパフォーマンスを最大化するためのデータシャーディングの設定」をご参照ください。

How it works

前提条件

  • 自己管理 MongoDB データベースは MongoDB 3.0 以降を実行しています。

  • ターゲットシャードクラスターインスタンスの各シャードに十分なストレージ容量があること。

    説明

    たとえば、自己管理 MongoDB データベースに 3 つのシャードがあり、これらのシャードの 1 つが最も多くのストレージ容量 (500 GB) を占有しているとします。この場合、ApsaraDB for MongoDB インスタンスの各シャードのストレージ容量は 500 GB より大きい必要があります。

使用上の注意

  • DTS は、完全なデータ移行中にソースデータベースとターゲットデータベースからリソースを消費します。これにより、データベースサーバーの負荷が増加する可能性があります。データベースが重いワークロードを処理する場合や、サーバーの仕様が不十分な場合、データベースのパフォーマンスが影響を受ける可能性があります。場合によっては、データベースサービスが利用できなくなることがあります。データを移行する前に、移行がデータベースに与える影響を評価してください。オフピーク時にデータを移行することをお勧めします。

  • MongoDB インスタンスでサポートされているバージョンとストレージエンジンについては、「バージョンとストレージエンジン」をご参照ください。クロスバージョンまたはクロスエンジンの移行を実行するには、事前に互換性を確認する必要があります。

  • DTS はターゲットデータベースにデータを同時に書き込みます。これにより、ターゲットデータベースが使用するストレージ容量は、ソースデータベースが使用するストレージ容量よりも 5% から 10% 大きくなります。

  • ターゲットデータベースに、ソースデータベースと同じプライマリキー (_id) を持つドキュメントがないことを確認してください。そうしないと、データが失われる可能性があります。ターゲットデータベースに同じプライマリキーを持つドキュメントがある場合は、サービスに影響を与えることなく、ターゲットデータベースから関連データをクリアする必要があります。たとえば、ソースデータベースのドキュメントと同じ _id 値を持つドキュメントをターゲットデータベースで削除できます。

  • admin データベースと local データベースは、ソースデータベースまたはターゲットデータベースとして使用できません。

  • ソース MongoDB シャードクラスターインスタンスには、10 を超える Mongos ノードを含めることはできません。

課金

移行タイプ

タスク構成料金

データ転送料金

完全なデータ移行

無料です。

インターネット経由で Alibaba Cloud からのデータ移行には料金が適用されます。詳細については、「DTS の価格」をご参照ください。

増分データ移行

有料です。詳細については、「 DTS の価格」をご参照ください。

移行タイプ

  • 完全なデータ移行: ソース MongoDB データベース内のすべての既存データがターゲット MongoDB データベースに移行されます。

    説明

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

  • 増分データ移行: 完全なデータ移行が完了した後、DTS はソース MongoDB データベースの増分データをターゲット MongoDB データベースに移行します。

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

    • 追加、削除、更新されたドキュメントを同期します。

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

データソースの移行

完全なデータ移行

増分データ移行

ECS でホストされている自己管理 MongoDB データベース

ソースデータベースに対する読み取り権限

ソースデータベース、admin データベース、および local データベースに対する読み取り権限

ターゲット ApsaraDB for MongoDB インスタンス

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

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

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

準備

ソースデータベースのバランサーを無効にし、孤立したドキュメントを削除します。詳細については、「DTS を使用してシャードクラスターアーキテクチャを使用する自己管理 MongoDB データベースを ApsaraDB for MongoDB に移行する」をご参照ください。

手順

  1. DTS コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[データ移行] をクリックします。

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

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

  5. [ソースデータベースとターゲットデータベース] を設定します。

    セクション

    パラメーター

    説明

    タスク名

    -

    • DTS はタスク名を自動的に生成します。一意のタスク名を使用する必要はありません。

    • タスクを識別できる名前を指定することをお勧めします。

    ソースデータベース

    インスタンスタイプ

    ソースデータベースのタイプ。[ECS インスタンスのユーザー作成データベース] を選択します。

    インスタンスリージョン

    ECS インスタンスがデプロイされているリージョン。

    ECS インスタンスの ID。

    ECS インスタンスの ID。DTS はソースデータベースの各シャードを順番に移行します。この例では、最初のシャードがデプロイされている ECS インスタンスの ID を入力します。

    2 番目の移行タスクでは、2 番目のシャードがデプロイされている ECS インスタンスの ID を入力します。すべてのシャードが移行されるまで、この手順を繰り返す必要があります。

    データベースタイプ

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

    ポート番号

    シャードのサービスポート。この例では、最初のシャードのサービスポートを入力します。

    2 番目の移行タスクでは、2 番目のシャードのサービスポートを入力します。すべてのシャードが移行されるまで、この手順を繰り返す必要があります。

    データベース名

    認証に使用されるデータベースの名前。

    データベースアカウント

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

    データベースパスワード

    自己管理 MongoDB データベースへの接続に使用されるデータベースアカウントのパスワード。

    説明

    ソース自己管理データベースの情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。設定されたパラメーターが有効な場合、[成功] メッセージが表示されます。[失敗] メッセージが表示された場合は、[失敗] の横にある [チェック] をクリックします。チェック結果に基づいてソースデータベースのパラメーターを変更します。

    ターゲットデータベース

    インスタンスタイプ

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

    インスタンスリージョン

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

    MongoDB インスタンス ID

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

    データベース名

    認証に使用されるデータベースの名前。

    データベースアカウント

    ターゲットデータベースへの接続に使用されるアカウント。アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    ターゲットデータベースへの接続に使用されるデータベースアカウントのパスワード。

    説明

    ターゲットデータベースの情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。情報が有効な場合、[成功] メッセージが表示されます。情報が無効な場合、[失敗] メッセージが表示されます。この場合、[失敗] メッセージの横にある [チェック] をクリックして情報を変更する必要があります。

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

    説明
    • Alibaba Cloud データベースインスタンス (ApsaraDB RDS for MySQL インスタンスや ApsaraDB for MongoDB インスタンスなど) や ECS ホスト型自己管理データベースのセキュリティ設定を変更する必要はありません。DTS は、DTS サーバーの CIDR ブロックを Alibaba Cloud データベースインスタンスの IP ホワイトリストまたは ECS インスタンスのセキュリティルールに自動的に追加します。詳細については、「オンプレミスデータベースのセキュリティ設定に DTS サーバーの CIDR ブロックを追加する」をご参照ください。

    • データソースまたはターゲットが自己管理データベースであり、DTS サーバーからのアクセスを許可するために DTS サーバーのパブリック CIDR ブロックが自己管理データベースの IP ホワイトリストに追加されている場合、セキュリティリスクが発生する可能性があります。アカウントとパスワードによる認証を強化したり、許可されるポートを制限したり、Express Connect、VPN Gateway、または Smart Access Gateway を介してデータベースに接続したりすることをお勧めします。

    • データ移行が完了したら、ホワイトリストから DTS サーバーの CIDR ブロックを削除することをお勧めします。

  7. 移行タイプと移行するオブジェクトを選択します。

    パラメーター

    説明

    移行タイプ

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

      説明

      データ整合性を確保するために、完全なデータ移行中は自己管理 MongoDB データベースに新しいデータを書き込まないでください。

    • データ移行中のサービス継続性を確保するには、[完全なデータ移行][増分データ移行] の両方を選択します。

    ソースオブジェクト

    • [ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、 アイコンをクリックしてオブジェクトを [選択したオブジェクト] リストに追加します。

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

      • config データベースは内部データベースです。config データベースからデータを移行しないことをお勧めします。

    • 移行オブジェクトは、データベース、コレクション、または関数にすることができます。

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

  8. ページの右下隅にある [事前チェック] をクリックします。

    説明
    • データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ移行タスクを開始できます。

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、再度事前チェックを実行します。

    • 事前チェック中に項目に対してアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、再度事前チェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで [OK] をクリックします。次に、[再度事前チェック] をクリックして、再度事前チェックを実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

  9. [次へ] をクリックします。

  10. [設定の確認] ダイアログボックスで、[インスタンスクラス] パラメーターを指定し、チェックボックスをオンにして [Data Transmission Service (Pay-As-You-Go) サービス規約] に同意します。

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

  12. ステップ 4 からステップ 11 を繰り返して、残りのシャードの移行タスクを作成します。

  13. 移行タスクを完了します。

    • 完全なデータ移行

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

    • 増分データ移行

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

      説明

      オフピーク時や、ビジネスをターゲット MongoDB インスタンスに切り替える準備ができたときなど、タスクを手動で停止する適切な時間を選択してください。

      1. すべてのシャードノードの移行タスクの進行状況が [増分移行] に変わり、ステータスが [遅延なし] と表示されるまで待ちます。その後、数分間ソースデータベースへのデータ書き込みを停止できます。この時点で、[増分移行] のステータスに遅延が表示される場合があります。

      2. すべてのシャードノード移行タスクの [増分移行] ステータスが再び [遅延なし] と表示されるまで待ちます。その後、移行タスクを手動で停止します。结束迁移任务

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