本ガイドでは、mongodump および mongorestore を使用して、自主管理 MongoDB データベースを ApsaraDB for MongoDB に移行する手順について説明します。自主管理データベースは、オンプレミスデバイスまたは Elastic Compute Service (ECS) インスタンス上で実行できます。
mongodump および mongorestore は、増分同期をサポートしない完全なデータ移行を実行します。サービスの中断を回避するため、スタンドアロン構成を使用する自主管理 MongoDB データベースを ApsaraDB for MongoDB に移行する場合は、Data Transmission Service (DTS) を使用することを推奨します。
すべての移行および同期オプションの概要については、「データ移行と同期」をご参照ください。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
mongodump および mongorestore は、自主管理 MongoDB データベースとは別のサーバーにインストールしますが、ソースデータベースと同じバージョンである必要があります。インストール手順については、「MongoDB のインストール」をご参照ください。自主管理 MongoDB データベースが配置されているサーバーで、mongodump コマンドおよび mongorestore コマンドを実行することもできます。
ソースデータベースが MongoDB 3.0 以降で動作していること。ソースと宛先で異なるバージョンまたはストレージエンジンを使用する場合、事前に互換性を確認してください。「MongoDB のバージョンとストレージエンジン」をご参照ください。
ソースデータ全体を格納できる十分なストレージ容量を備えた、宛先の ApsaraDB for MongoDB スタンドアロンインスタンス。ストレージの拡張については、「インスタンスの構成変更」をご参照ください。
留意事項
必要なダウンタイム
本移行は完全なデータ移行です。mongodump 実行後にソースデータベースに対して行われた書き込みは、移行されません。データ整合性を確保するため、データ移行を開始する前に、自主管理 MongoDB データベースへの書き込みを停止することを推奨します。
既存のバックアップファイル
以前に mongodump を実行したことがある場合、出力は現在のディレクトリ内の dump フォルダに書き込まれます。mongodump を再度実行する前に、そのフォルダ内の既存のファイルをすべて移動してください。そうしないと、過去のバックアップファイルが上書きされます。
コマンドの実行場所
mongodump および mongorestore は、mongo シェル内ではなく、サーバー上で直接実行してください。
ステップ 1:ソースデータベースのバックアップ
自主管理 MongoDB データベースが稼働しているサーバーで、以下のコマンドを実行します。
mongodump --host <mongodb-host> --port <port> -u <username> --authenticationDatabase <auth-db>プレースホルダーを実際の値に置き換えてください。
| プレースホルダー | 説明 | 例 |
|---|---|---|
<mongodb-host> | 自主管理 MongoDB データベースが稼働しているサーバーのアドレス | 127.0.0.1 |
<port> | ソースデータベースのサービスポート | 27017(デフォルト) |
<username> | ソースデータベースにログインするためのアカウント | test |
<auth-db> | 指定されたユーザー名の認証情報が格納されているデータベース | admin |
例:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase adminEnter password と表示されたら、アカウントのパスワードを入力し、Enter キーを押してください。入力中の文字はマスクされます。
コマンドの実行が完了すると、バックアップはコマンドを実行したディレクトリ内の dump フォルダに保存されます。
ステップ 2:宛先インスタンスへのデータ復元
宛先インスタンスのエンドポイントの取得
ApsaraDB for MongoDB コンソール にログインします。
左上隅で、インスタンスがデプロイされているリージョンを選択します。
左側ナビゲーションウィンドウで、レプリカセットインスタンス をクリックします。
宛先インスタンスのインスタンス ID をクリックします。
左側ナビゲーションウィンドウで、データベース接続 をクリックし、接続詳細を表示します。

ネットワーク構成に応じて、適切なエンドポイントタイプを選択してください。
| エンドポイントタイプ | 使用タイミング |
|---|---|
| VPC エンドポイント | ソースデータベースが、ApsaraDB for MongoDB インスタンスと同じリージョンおよび仮想プライベートクラウド(VPC)内にある ECS インスタンス上で実行されている場合 |
| パブリックエンドポイント | ソースデータベースはオンプレミスデバイスで実行されます。デフォルトでは、パブリックエンドポイントは有効になっていません。詳細については、「スタンドアロン ApsaraDB for MongoDB インスタンスのパブリックエンドポイントを申請する |
ソースサーバーの IP アドレスをホワイトリストに追加
ソースデータベースが稼働しているサーバーの IP アドレスを、ApsaraDB for MongoDB インスタンスのホワイトリストに追加してください。「インスタンスのホワイトリスト設定」をご参照ください。
VPC 接続の場合:ECS インスタンスの内部 IP アドレスを追加します。
パブリック接続の場合:オンプレミスサーバーのパブリック IP アドレスを追加します。
mongorestore の実行
ソースデータベースが稼働しているサーバーで、以下のコマンドを実行します。
mongorestore --host <primary-endpoint> -u <username> --authenticationDatabase <auth-db> <backup-dir>プレースホルダーを実際の値に置き換えてください。
| プレースホルダー | 説明 | 例 |
|---|---|---|
<primary-endpoint> | プライマリノードのエンドポイント(ポートを含む) | dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 |
<username> | ApsaraDB for MongoDB インスタンスのデータベースアカウント。初期アカウントは root | test |
<auth-db> | 指定されたユーザー名の認証情報が格納されているデータベース。root の場合は admin | admin |
<backup-dir> | mongodump によって作成されたバックアップディレクトリのパス | dump(デフォルト) |
例:
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dumpEnter password と表示されたら、アカウントのパスワードを入力し、Enter キーを押してください。入力中の文字はマスクされます。
root のパスワードを忘れてしまった場合は、続行する前にパスワードをリセットしてください。「(任意)パスワードのリセット」をご参照ください。mongorestore の実行が完了したら、非ピーク時間帯にメンテナンスウィンドウを設定し、アプリケーションのトラフィックを ApsaraDB for MongoDB インスタンスへ切り替えてください。
次のステップ
移行後は、インスタンスへの接続およびユーザーアクセスの設定を行ってください。