MongoDB には、mongodump と mongorestore の 2 つのコマンドツールが用意されています。 これらのコマンドツールを使用して、オンプレミス MongoDB データベースからスタンドアロン ApsaraDB for MongoDB インスタンスにデータを移行できます。
前提条件
- mongodump および mongorestore のバージョンは、MongoDB Atlas データベースのバージョンと同様。
- ApsaraDB for MongoDB インスタンスのストレージスペースを、スタンドアロンインスタンスのストレージスペースより大きくする必要があります。 ストレージスペースが不足している場合は、 構成の変更 を使用してストレージスペースを拡張できます。
注意事項
- これはフル移行です。 データの不整合を回避するには、移行の開始前にデータベースへのデータの書き込みを停止します。
- データベースのバックアップに mongodump を使用した場合は、dump フォルダ内のファイルを他のディレクトリに移動します。 データマイグレーションの前に、dump フォルダが空であることを確認します。 そうでなければ、このフォルダ内の既存のバックアップファイルは上書きされます。
- オンプレミスデータベースがデプロイされているサーバーで mongodump および mongorestore コマンドを実行します。 mongo shell で実行しないようにしてください。
オンプレミスデータベースのバックアップ
これはフル移行です。 データの不一致を避けるために、移行前にオンプレミスデータベースに関連したサービスを停止し、データベースに対するすべての書き込み操作を停止することをお勧めします。
- オンプレミスデータベースがデプロイされているサーバーで、次のコマンドを実行してデータを完全にバックアップします。
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
Enter password:
プロンプトにパスワードを入力して、データのバックアップを開始します。
データのバックアップが完了するまで待ちます。 オンプレミスデータベースのデータは現行ディレクトリの dump フォルダにバックアップされます。
ApsaraDB for MongoDB にデータを移行する
- スタンドアロンインスタンスの primary ノードの接続アドレスを取得します。
- ApsaraDB for MongoDB コンソールにログインします。
- ターゲットインスタンスのリージョンを選択します。
- 左側のナビゲーションウィンドウで、 レプリカセットインスタンス をクリックします。
- インスタンスの ID をクリックします。
- 左側のナビゲーションウィンドウで、データベース接続 を選択します。
注- イントラネット接続 - 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 アドレスを追加する必要があります。
- オンプレミス 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
Enter password:
プロンプトにパスワードを入力して、データ移行を開始します。注 データベースパスワードを設定する方法の詳細は、パスワードの設定 をご参照ください。
データの移行が完了するまで待ちます。 ビジネスに悪影響を与えないように、オフピーク時にビジネスを ApsaraDB for MongoDB インスタンスに切り替えることをお勧めします。
詳細情報
データベースを ApsaraDB to MongoDB インスタンスに移行した後、必要に応じてデータベースに接続して、データベースとデータベースユーザーを管理できます。