AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

でシード処理 mongorestore

注意

このページは Atlas Core クラスターに適用されます。mongodump mongorestoreと を使用して Atlas Infinite クラスターにデータを読み込むには、 「 MongoDBデプロイからのデータの復元 」を参照してください。

mongodumpとmongorestore を使用して、既存のMongoDBスタンドアロンまたはレプリカセットのデータを使用してMongoDB Atlasクラスターをシードできます。既存のMongoDBシャーディングされたクラスターからデータをシードするガイダンスについては、 Atlas サポート にお問い合わせください。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. ナビゲーション バーの Support アイコンをクリックします。

  3. [View plan] をクリックします。

サポート ページが表示されます。

2

Atlas UIを使用して、 無料クラスター(以前はM0 M10+mongodumpと呼ばれていました)を の有料クラスターに増やすできますが、このセクションの とmongorestore の手順を使用して、無料クラスターから にデータをコピーすることもできます。M10+ クラスター

この手順では、mongodumpとmongorestoreの最新の安定版リリースを使用してください。

最新の移行を実現するには、ソースクラスターへのすべての書き込みを停止できるメンテナンスウィンドウをスケジュールします。手順のmongodump 部分が完了した後にソースクラスターに発行された書込み操作は、宛先クラスターに移行されません。

mongodumpmongodump --oplogmongorestore --oplogReplayの期間全体に書込みを停止できない場合は、mongodump と を実行して、ダンプ中に発生する書込みをキャプチャして再生します。これにより、 が完了した時点でのソース配置のスナップショットが復元されます。--oplog オプションはレプリカセットでのみ使用できます。

注意

とmongorestore --oplogReplay--nsExcludeを組み合わせると、 は失敗します。 を使用する場合は、--oplogReplay --nsExcludemongorestoreコマンドから を省略し、代わりに で作成したadminconfig ディレクトリから ディレクトリとdump mongodump --oplogディレクトリを削除します。

mongorestoreがデータの復元を完了したら、書込み操作を再開する前に、アプリケーションを宛先の Atlas クラスターにカットオーバーする必要があります。 Atlas クラスターに接続するには、「 Atlas クラスターへの接続 」を参照してください。

必要なダウンタイムの合計量は、移行されるデータのサイズやソースクラスターと Atlas 間のネットワーク接続などの要因によって異なります。 長時間のダウンタイムに関する質問や懸念がある場合は、Atlas サポート にお問い合わせください。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. ナビゲーション バーの Support アイコンをクリックします。

  3. [View plan] をクリックします。

サポート ページが表示されます。

2

Atlas がデータベースユーザーの作成を管理します。 ソースクラスターが認証を強制する場合、次のことを行います。

  • プライマリへの読み取りアクセスを許可します。

  • オプションとともに を使用する場合は、 が作成する ディレクトリからmongodump mongorestore--oplogReplayadminconfigディレクトリとdump ディレクトリを削除する必要があります。 ディレクトリとadmin ディレクトリには、 を使用してconfig Atlasmongorestore クラスターに追加できないデータベースユーザー情報が含まれています。

既存のユーザーまたはロール情報を Atlas に移行することはできません。 宛先 Atlas クラスターには、アプリケーションの使用パターンをサポートするための適切なデータベースユーザーを作成します。 新しいデータベースユーザーを使用するには、カットオーバー手順の一部としてアプリケーションをアップデートします。 詳細については、 「データベースユーザーの設定」 を参照してください。

この手順では、ソースクラスター内のホストでmongodump とmongorestore を実行中必要があります。これらのプログラムは CPU やメモリなどのシステム リソースを使用するため、ホストのパフォーマンスに影響可能性があります。

この手順は、ピーク以外のシステム使用中に、またはスケジュールされたメンテナンスウィンドウ中に実行します。 ソースがレプリカセットである場合は、セカンダリノードのホストからこの手順を実行できます。 クラスターへの書き込みを停止した後、この手順を開始する前に、セカンダリがプライマリに追いつくようにします。

この手順では、Linux mongodumpパイプを使用して、 の出力をmongorestore にストリーミングします。mongorestore プロセスがmongodump プロセスに追いつけない場合、パイプライン エラーが発生する可能性があります。

永続的な壊れたパイプエラーへの対処に関するガイダンスは、Atlas サポートにお問い合わせください。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. ナビゲーション バーの Support アイコンをクリックします。

  3. [View plan] をクリックします。

サポート ページが表示されます。

2

次のチュートリアルでは、mongodump とmongorestore を使用して、既存のMongoDBクラスターから Atlas クラスターにデータをアップロードします。

1

ソース配置で認証が強制される場合は、この手順の一部として任意のデータベースを読み取る権限を持つデータベースユーザーに、任意のデータベースを読み取る権限を持つデータベースユーザーを提供する必要があります。データベースユーザーの特権の詳細については、 「 MongoDB のロールベースのアクセス制御 」を参照してください。

そのようなユーザーが存在しない場合は、 データベースのバックアップロール を持つソースMongoDBレプリカセットにユーザーを作成します。admin

例

で次のコマンドを実行して、mongosh mySourceUseradminデータベースに を作成し、それにbackup ロールを割り当てます。レプリカセットの場合は、 プライマリ に対してこのコマンドを実行する必要があります。

use admin
db.createUser(
{
user: "<mySourceUser>",
pwd: "<mySourcePassword>",
roles: [ "backup" ]
}
)
2

使用する接続文字列のタイプに基づいて、次のいずれかのテンプレートを にコピーして、希望のテキストエディタにコピーします。

注意

Atlasクラスターに接続するには、--uri オプションを使用して DNS シードリスト接続文字列に接続することを推奨します。

mongodump --uri "mongodb://username:password@mongodb0.example.com:<Port>,mongodb1.example.com:<Port1>,mongodb2.example.com:<Port2>/?replicaSet=<ReplicaSetName>&authSource=admin" \
--archive

ホストの例をレプリカセットの情報に置き換えます。 <ReplicaSetName>をソース レプリカセットの名前に置き換えます。

スタンドアロン配置の場合は、 replicaSet=<ReplicaSetName>を除外し、スタンドアロン配置のホスト名のみを指定します。 たとえば、 --uri "mongodb://standalone-mongod.example.net:27017"

注意

パスワードに特殊文字が含まれている場合は、パーセント エンコードする必要があります。

このコマンドはまだ実行しないでください。 テンプレートを変更したら、次の手順に進みます。

3

mongorestoreAtlas クラスターに対して を実行するには、 ロールを持つ AtlasAtlas admin クラスター内のデータベースユーザーを指定する必要があります。

そのようなユーザーが存在しない場合は、ユーザーを作成します。

  1. Atlas で、プロジェクトの [Database Access] ページに移動します。

    1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

    2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

    3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

      データベース &ネットワーク アクセス ページが表示されます。

  2. Add New Database User をクリックします。

  3. Atlas admin ユーザーを追加します。

ユーザー管理の詳細については、「データベースユーザーの構成 」を参照してください。

4
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のClustersをクリックします。

[ Clusters (クラスター) ] ページが表示されます。

5

クラスターのメニューから、Command Line Tools をクリックします。

6

Binary Import and Export ToolsタブのCommand Line Tools セクションには、mongorestore を Atlas クラスターに接続するために必要な最小限のオプションを含むコピー可能なテンプレートが表示されます。

テンプレートには、特定のオプションのプレースホルダー値が含まれています。 テンプレートをコピーして、希望のテキストエディタに貼り付け、次の変更を行います。

  • password: これを、 usernameで指定されたユーザーのパスワードに置き換えます。 テンプレートには、プロジェクトのデータベースユーザーがusernameとして含まれています。 別のユーザーとして認証する場合は、 usernameの値を置き換え、 passwordにそのユーザーのパスワードを指定します。

  • --nsExcludeを追加し、その値を"admin.system.*" に設定します。

使用する接続文字列のタイプに基づいて、テンプレートは次のいずれかのコマンドのようになります。

mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myRepl&authSource=admin" \
--archive \
--ssl \
--nsExclude "admin.system.*"
7

重要

mongodumpとmongorestore を実行中いるホストがプロジェクトのIPアクセス リストにあることを確認します。

プロジェクトの IP アクセス リストを確認するには、サイドバーのSecurityセクションにある [ Network Accessをクリックします。 IP Access Listタブが表示されます。 詳細については、「 IP アクセス リスト 」を参照してください。

お使いのテキスト エディターで、パイプ| 演算子を使用してmongodump コマンドとmongorestore コマンドを分割します。使用する接続文字列のタイプに基づいて、最終コマンドは次のいずれかのようになります。

mongodump --uri "mongodb://username:password@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=sourceRS&authSource=admin" \
--archive \
| \
mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myAtlasRS&authSource=admin" \
--archive \
--ssl \
--nsExclude "admin.system.*"

ソースクラスター上のホストマシンに接続されたターミナルまたは shell から、完了した コマンドを実行します。

手順が正常に完了したら、 を使用して Atlas クラスターに接続し、手順の結果を確認します。方法については、mongosh 「 mongosh経由でクラスターに接続する 」を参照してください。

書込み操作を再開する前に、アプリケーションを更新して Atlas クラスターを点ようにする必要があります。Atlas にアプリケーションを接続する方法については、クライアント ライブラリを使用してクラスターに接続する を参照してください。

このページを評価