これらのツールを使用して、オンプレミスサーバーまたは Elastic Compute Service (ECS) インスタンス上の自己管理 MongoDB データベースを ApsaraDB for MongoDB インスタンスに移行します。
自己管理のスタンドアロン MongoDB データベースをクラウドにゼロダウンタイムで移行するには、Data Transmission Service (DTS) を使用します。詳細については、「ApsaraDB for MongoDB (スタンドアロンアーキテクチャ) から ApsaraDB for MongoDB (すべてのアーキテクチャ) への完全移行」をご参照ください。
他のデータ移行または同期シナリオのソリューションについては、「データ移行と同期」をご参照ください。
前提条件
-
mongodumpおよびmongorestoreツールのバージョンが、自己管理 MongoDB データベースのバージョンと一致していることを確認してください。インストール手順については、公式の MongoDB のインストールドキュメントをご参照ください。説明または、自己管理データベースをホストしているサーバーで
mongodumpおよびmongorestoreコマンドを実行することもできます。この場合、別途インストールする必要はありません。 -
互換性を確保するため、自己管理 MongoDB データベースはバージョン 3.0 以降である必要があります。
説明ApsaraDB for MongoDB でサポートされているストレージエンジンについては、「バージョンとストレージエンジン」をご参照ください。異なるバージョンまたはストレージエンジン間で移行する場合は、開始前に互換性を確認してください。
-
移行先のスタンドアロンインスタンスには、自己管理データベースが使用する容量よりも大きいストレージ容量が必要です。ストレージ容量が不足している場合は、増設できます。詳細については、「インスタンス構成の変更」をご参照ください。
注意事項
-
このプロセスでは、完全なデータ移行が実行されます。データ整合性を確保するため、移行を開始する前に、自己管理データベース上の関連サービスと書き込み操作をすべて停止してください。
-
以前に
mongodumpコマンドを使用してデータベースをバックアップしたことがある場合は、dump フォルダからバックアップファイルを別のディレクトリに移動し、dump フォルダが空であることを確認してください。そうしないと、既存のバックアップファイルが上書きされます。 -
mongodumpおよびmongorestoreコマンドは、mongo shell環境内からではなく、自己管理 MongoDB データベースをホストしているサーバー上で実行してください。
ステップ 1: 自己管理データベースのバックアップ
-
自己管理データベースをホストしているサーバーで、次のコマンドを実行してすべてのデータベースをバックアップします。
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>説明-
<mongodb_host>:自己管理 MongoDB データベースのサーバーアドレス。データベースサーバーでコマンドを実行している場合は、127.0.0.1を使用できます。 -
<port>:データベースサービスのポート番号。デフォルト値は27017です。 -
<username>:自己管理データベースのアカウント (例:test)。 -
<database>:ユーザーアカウントが属する認証データベース。
例:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin -
-
CLI に
Enter password:と表示されたら、データベースアカウントのパスワードを入力し、Enter キーを押してバックアップを開始します。説明パスワードを入力する際、文字は表示されません。
バックアップが完了すると、自己管理データベースのデータは現在のディレクトリの dump フォルダに保存されます。
ステップ 2: Alibaba Cloud へのデータ移行
-
ApsaraDB for MongoDB インスタンスのプライマリノードのエンドポイントを取得します。
-
ApsaraDB for MongoDB コンソールにログインします。
-
ページの左上隅で、インスタンスが配置されているリージョンを選択します。
-
左側のナビゲーションウィンドウで、レプリカセットインスタンス をクリックします。
-
ターゲットインスタンスを見つけ、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、データベース接続 をクリックして接続の詳細を表示します。
接続情報ページでは、Virtual Private Cloud (VPC) とパブリック接続のセクションに、プライマリノードのエンドポイント (例:
dds-<instanceID>.mongodb.rds.aliyuncs.com:3717、パブリックエンドポイントには-pubサフィックスが含まれます) と ConnectionStringURI (例:mongodb://root:****@<endpoint>/admin) が表示されます。移行にはプライマリノードのエンドポイントを使用します。表 1. 接続エンドポイント エンドポイントタイプ
説明
シナリオ
VPC エンドポイント
VPC は、クラシックネットワークよりも高いセキュリティとパフォーマンスを提供する、分離されたネットワーク環境です。
自己管理 MongoDB データベースが ECS インスタンスにデプロイされている場合に使用します。
説明ECS インスタンスと ApsaraDB for MongoDB インスタンスは、同じリージョンおよび VPC に存在する必要があります。
パブリックエンドポイント
セキュリティ上の理由から、パブリックエンドポイントはデフォルトでは有効になっていません。申請する必要があります。詳細については、「パブリックエンドポイントの申請」をご参照ください。
自己管理 MongoDB データベースがオンプレミスサーバーにデプロイされている場合に使用します。
-
-
自己管理データベースのサーバーの IP アドレスを ApsaraDB for MongoDB インスタンスのホワイトリストに追加します。詳細については、「ホワイトリストの設定」をご参照ください。
説明-
VPC 経由で ApsaraDB for MongoDB インスタンスに接続する場合は、自己管理データベースをホストしている ECS インスタンスのプライベート IP アドレスをホワイトリストに追加します。
-
パブリックエンドポイントを使用して ApsaraDB for MongoDB インスタンスに接続する場合は、自己管理データベースをホストしているオンプレミスサーバーのパブリック IP アドレスをホワイトリストに追加します。
-
-
自己管理データベースをホストしているサーバーで、次のコマンドを実行してデータを ApsaraDB for MongoDB インスタンスに復元します。
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <Backup directory>説明-
<Primary_host>:ApsaraDB for MongoDB インスタンスのプライマリノードのエンドポイント。 -
<username>:ApsaraDB for MongoDB インスタンスのデータベースアカウント。初期アカウントは root です。 -
<database>:認証データベース。rootアカウントを使用する場合、このデータベースはadminです。 -
<Backup directory>:バックアップファイルが保存されているディレクトリ。デフォルトのディレクトリは dump です。
例:
データベースアカウントは
testで、認証データベースはadminです。mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump -
-
CLI に
Enter password:と表示されたら、ApsaraDB for MongoDB データベースアカウントのパスワードを入力して Enter キーを押します。データ復元プロセスが開始されます。説明-
パスワードを入力する際、文字は表示されません。
-
rootアカウントのパスワードを忘れた場合は、リセットできます。詳細については、「パスワードのリセット」をご参照ください。
-
データ移行が完了したら、準備が整い次第、サービスを ApsaraDB for MongoDB インスタンスに切り替えます。
次のステップ
データベースを移行した後、ApsaraDB for MongoDB インスタンスに接続してデータベースとアカウントを管理します。