Docs Menu
Docs Home
/
MongoDB Cloud Manager
/ /

1 つのデータベースまたはコレクションの復元

項目一覧

  • Considerations
  • クエリ可能なバックアップからのデータベースまたはコレクションの復元

スナップショットから単一のデータベースまたはコレクション(または特定のドキュメント)を復元するには、クエリ可能なバックアップを使用して単一のデータベースまたはコレクションをエクスポートし、ターゲットのデプロイメントに復元します。

復元を試みる前に、ターゲット配置のホストに復元ファイルと復元データベース用の十分なストレージ領域があること、およびデータセットの増加に対応する追加領域があることを確認してください。 現在のデータベース サイズを検索するには、 db.stats()を使用します。

重要

クエリ可能なバックアップのスナップショットを使用して、データベースまたはコレクションのデータをエクスポートし、ターゲットの配置に復元できます。次の手順では、Cloud Managerが提供するトンネル[1]を介してクエリ可能なバックアップインスタンスに接続します。

1

クエリするバックアップの配置で、Optionsの下のをクリックし、Query を選択します。

配置をクリックしてスナップショットを表示し、Actions 列の下にある Query ボタンをクリックすることもできます。

2
  1. クエリするスナップショットを選択し、[Next] をクリックします。

  2. Start スナップショットをクエリするプロセス。2 要素認証を求められます。

  3. クエリ可能なスナップショットへの接続方法としてBackup Tunnelを選択します。[1]

  4. プラットフォームを選択してダウンロードします。

  5. ダウンロードしたファイルを解凍します。

    注意

    クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、以下を行います。

    1. MongoDB Cloud Managerで、プロジェクトの Continuous Backup ページにGoします。

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

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

      3. サイドバーの Continuous Backup をクリックします。

      [継続的なバックアップ ]ページが表示されます。

    2. Restore History タブを選択します。

    スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。

  6. ターミナルまたはコマンド プロンプトを開き、解凍された <tunnel> ディレクトリに移動します。実行可能ファイルを実行してトンネルを開始します。

    トンネルのデフォルト ポートは27017です。 ポートを変更するには、次の例のように--localフラグを使用します。

    ./<tunnel executable> --local localhost:27020

    注意

    ポートを変更する場合は、接続時にポート情報を含める必要があります。

3
データベースのデータをエクスポートするには、

トンネルに接続するには次のmongodumpオプションを含めます[ 1 ]

  • --port トンネルのポートに設定

  • --db エクスポートするデータベースの名前に設定

  • --out 空のディレクトリに設定して、データ ダンプを出力します。

    重要

    mongodumpを実行しているユーザーが指定されたディレクトリに書込みできるようにします。

mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path>

ポート 27020 で動作しているトンネルに接続して test データベースから /mydata/restoredata/ ディレクトリにデータをダンプするには、

mongodump --port 27020 --db test --out /mydata/restoredata/

mongodumptestデータベースファイルを/mydata/restoredata/test/ディレクトリに出力します。

mongodumpPATHにない場合は、ツールのパスを指定します。

コレクションのデータをエクスポートするには、

トンネルに接続するには以下のオプションがあります[1]

  • --port トンネルのポートに設定します。

  • --db エクスポートするデータベースの名前に設定します。

  • --collection 単一のコレクション用。

  • --out 空のディレクトリに設定して、データ ダンプを出力します。

    重要

    mongodumpを実行しているユーザーが指定されたディレクトリに書込みできるようにします。

mongodump --port <port for tunnel> \
--db <single-database> \
--collection <collection-name> \
--out <data-dump-path>

ポート 27020 で動作しているトンネルに接続して restaurants コレクションのデータを test データベースから /mydata/restoredata/ ディレクトリにダンプするには、

mongodump --port 27020 \
--db test \
--collection restaurants \
--out /mydata/restoredata/

mongodumprestaurantsコレクション データを/mydata/restoredata/test/restaurants.bsonファイルに出力します。

4
単独のデータベースを復元するには、

次のmongorestoreオプションを含めます。

  • --port 宛先クラスターのポートに設定します。

  • --db 宛先データベースの名前に設定します。

オプションとして、データベースがすでに存在する場合は、宛先クラスター内のデータベースを削除するために--dropを含めることができます。

mongorestore --port <port> --db <destination database> <data-dump-path/database> --drop

たとえば、/mydata/restoredata/test ディレクトリから新しいデータベース restoredTest に復元するには、次のように行います。

mongorestore --port 27017 --db restoredTest /mydata/restoredata/test --drop

この例では、宛先レプリカセットのプライマリまたは宛先シャーディングされたクラスターのmongosがポート27017でリッスンしている ことを前提としています。

単独のコレクションを復元するには、

次のmongorestoreオプションを含めます。

  • --port 宛先クラスターのポートに設定します。

  • --db 宛先データベースの名前に設定します。

オプションとして、コレクションがすでに存在する場合は、宛先クラスター内のコレクションを削除するために--dropを含めることができます。

mongorestore --port <port> --db <destination database> --collection <collection-name> <data-dump-path/dbname/collection.bson> --drop

たとえば、/mydata/restoredata/test/restaurants.bson データ ファイルから test2 データベース内の新しいコレクション rest2 に復元するには、次のように行います。

mongorestore --port 27017 --db test2 --collection rest2 /mydata/restoredata/test/restaurants.bson --drop

この例では、宛先レプリカセットのプライマリまたは宛先シャーディングされたクラスターのmongosがポート27017でリッスンしている ことを前提としています。

5

終了したら、クエリ可能なインスタンスを終了できます。

  1. Restore History を開き、配置アイテムの Status 列にカーソルを合わせます。

  2. [Cancel] をクリックします。

[1]( 1234 )あるいは、トンネル経由で接続する代わりに、提供されている X.509 PEM ファイルを使用して、クエリ可能なバックアップに直接接続することもできます。クエリ可能なバックアップに直接接続する場合は、ホスト名とポート、TLS/SSL オプション、および X.509 証明書を指定する必要があります。

重要

AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション

Cloud Manager が AES256-GCM を使用して暗号化したスナップショットを復元する場合は、復元の完了後にマスターキーをローテーションします。

戻る

バックアップ スナップショットのクエリ