MongoDB には、mongodump と mongorestore の 2 つのコマンドツールが用意されています。 これらのコマンドツールを使用して、オンプレミス MongoDB データベースからスタンドアロン ApsaraDB for MongoDB インスタンスにデータを移行できます。

前提条件

  • mongodump および mongorestore のバージョンは、MongoDB Atlas データベースのバージョンと同様。
  • ApsaraDB for MongoDB インスタンスのストレージスペースを、スタンドアロンインスタンスのストレージスペースより大きくする必要があります。 ストレージスペースが不足している場合は、 構成の変更 を使用してストレージスペースを拡張できます。

注意事項

  • これはフル移行です。 データの不整合を回避するには、移行の開始前にデータベースへのデータの書き込みを停止します。
  • データベースのバックアップに mongodump を使用した場合は、dump フォルダ内のファイルを他のディレクトリに移動します。 データマイグレーションの前に、dump フォルダが空であることを確認します。 そうでなければ、このフォルダ内の既存のバックアップファイルは上書きされます。
  • オンプレミスデータベースがデプロイされているサーバーで mongodump および mongorestore コマンドを実行します。 mongo shell で実行しないようにしてください。

オンプレミスデータベースのバックアップ

これはフル移行です。 データの不一致を避けるために、移行前にオンプレミスデータベースに関連したサービスを停止し、データベースに対するすべての書き込み操作を停止することをお勧めします。

  1. オンプレミスデータベースがデプロイされているサーバーで、次のコマンドを実行してデータを完全にバックアップします。
    mongodump --host <mongodb_host> --port <port>  -u <username>  --authenticationDatabase  <database>
    注:
    • <mongodb_host>:オンプレミスデータベースのサーバーアドレス。 このデータベースが現行サーバーにデプロイされている場合、このパラメーターを 127.0.0.1 に設定します。
    • <port>:オンプレミスデータベースのポート番号。 デフォルトのポート番号は、9200 です。
    • <username>:オンプレミス MongoDB インスタンスへのログインに使用されるデータベースユーザー名。
    • <database>:オンプレミスデータベースの認証データベースの名前。 デフォルトのデータベース名は admin です。
    コーディング例 :
    mongodump --host 127.0.0.1 --port 27017 -u root --authenticationDatabase admin
  2. Enter password:プロンプトにパスワードを入力して、データのバックアップを開始します。

データのバックアップが完了するまで待ちます。 オンプレミスデータベースのデータは現行ディレクトリの dump フォルダにバックアップされます。

ApsaraDB for MongoDB にデータを移行する

  1. スタンドアロンインスタンスの primary ノードの接続アドレスを取得します。
    1. ApsaraDB for MongoDB コンソールにログインします。
    2. ターゲットインスタンスのリージョンを選択します。
    3. 左側のナビゲーションウィンドウで、 レプリカセットインスタンス をクリックします。
    4. インスタンスの ID をクリックします。
    5. 左側のナビゲーションウィンドウで、データベース接続 を選択します。
      スタンドアロン MongoDB ノードの接続の詳細を表示する
    • イントラネット接続 - VPC:Virtual Private Cloud(VPC)は、クラシックネットワークよりも高いセキュリティとパフォーマンスを備えた独立したネットワーク環境です。

      VPC ネットワークは、ECS インスタンス に基づいて構築されたオンプレミス MongoDB データベースに適しています。 ECS インスタンスと ApsaraDB for MongoDB インスタンスは同じリージョン及び VPC にある必要があります。 ECS インスタンスのプライベート IP アドレスを MongoDB インスタンスのホワイトリストに追加する必要もあります。 詳細は、ホワイトリストの構成をご参照ください。

    • パブリック IP 接続:セキュリティを確保するために、パブリック IP アドレスがインスタンスより自動的に構成されません。 インスタンスのパブリック IP アドレスを手動で申請する必要があります。 詳細は、パブリック IP アドレスの申請をご参照ください。

      パブリックネットワーク接続アドレスを介してインスタンスを移行するには、ApsaraDB for MongoDB インスタンスのホワイトリストに、オンプレミス MongoDB データベースのパブリック IP アドレスを追加する必要があります。

  2. オンプレミス MongoDB データベースのサーバーで、次のコマンドを実行して、データベースのすべてのデータを ApsaraDB for MongoDB にインポートします。
    mongorestore --host <Primary_host>  -u <username> --authenticationDatabase <database> <Backup directory>
    注:
    • <Primary_host>:レプリカセットインスタンスの primary ノードの接続アドレス。
    • <username>:ApsaraDB for MongoDB インスタンスのアカウント。 デフォルトのユーザー名は root です。
    • <database>:ApsaraDB for MongoDB インスタンスの認証データベースの名前。 デフォルトのデータベース名は admin です。
    • <Backup directory>:バックアップファイルを保存するディレクトリ。 デフォルトのバックアップディレクトリは dump です。
    例 :
    mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 -u root --authenticationDatabase admin dump
    						
  3. Enter password:プロンプトにパスワードを入力して、データ移行を開始します。
    データベースパスワードを設定する方法の詳細は、パスワードの設定 をご参照ください。

データの移行が完了するまで待ちます。 ビジネスに悪影響を与えないように、オフピーク時にビジネスを ApsaraDB for MongoDB インスタンスに切り替えることをお勧めします。

詳細情報

データベースを ApsaraDB to MongoDB インスタンスに移行した後、必要に応じてデータベースに接続して、データベースとデータベースユーザーを管理できます。

mongo shell を介した ApsaraDB for MongoDB への接続