スナップショットから単一のデータベースまたはコレクション(または特定のドキュメント)を復元するには、クエリ可能なバックアップを使用して単一のデータベースまたはコレクションをエクスポートし、ターゲットの配置に復元します。
Considerations
復元を試みる前に、ターゲット配置のホストに復元ファイルと復元されたデータベースの十分なストレージ領域があること、およびデータセットの増加に対応する追加領域があることを確認してください。db.stats()を使用して現在のデータベースサイズを検索します。
重要
クエリ可能なバックアップ インスタンスに自分のワークステーションから接続するには、MongoDB Database Toolsの最新バージョン( mongodumpとmongorestoreを含む)と、mongoshの最新バージョンを使用します。
mongodump の古いバージョンには、コレクションオプション内のキーが間違った順序でダンプされる可能性がある問題が含まれています。詳しくは、 TOOLS-3411 を参照してください。
MongoDB Ops Manager を ローカル モードで実行する場合は、最新のバージョンではなく、MongoDB Ops Manager リリースの Database Tools 互換性テーブル に記載されているバージョンをインストールします。
クエリ可能なバックアップからのデータベースまたはコレクションの復元
You can use a queryable backup snapshot to export data for a database or a collection and restore to the target deployment. The following procedure connects to the queryable backup instance via Ops Manager-provided tunnel [1].
注意
デーモンがインターネットにアクセスできない状態で実行される場合は、インターネットアクセスが制限された配置の構成 を参照して、適切なバイナリをインストールしてください。
クエリ可能なスナップショットへのバックアップ トンネルを開きます。
クエリするスナップショットを選択し、[Next] をクリックします。
Start スナップショットをクエリするプロセス。2 要素認証を求められます。
Select Backup Tunnel as the connection method to the queryable snapshot. [1]
プラットフォームを選択してダウンロードします。
ダウンロードしたファイルを解凍します。
注意
クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、 Continuous Backupに移動し、 Restore Historyタブを選択します。 スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。
ターミナルまたはコマンド プロンプトを開き、解凍された <tunnel> ディレクトリに移動します。実行可能ファイルを実行してトンネルを開始します。
トンネルのデフォルト ポートは
27017です。 ポートを変更するには、次の例のように--localフラグを使用します。./<tunnel executable> --local localhost:27020注意
ポートを変更する場合は、接続時にポート情報を含める必要があります。
クエリ可能なバックアップから単一のデータベースまたはコレクションをエクスポートするには、mongodump を使用します。
- データベースのデータをエクスポートするには、
トンネルに接続するには、次の
mongodumpオプションを含めます。[1]mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path>- コレクションのデータをエクスポートするには、
include the following options to connect to the tunnel [1]:
--portトンネルのポートに設定します。--dbエクスポートするデータベースの名前に設定します。--collection単一のコレクション用。
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/mongodumpはrestaurantsコレクション データを/mydata/restoredata/test/restaurants.bsonファイルに出力します。
単一のデータベースまたはコレクションを復元するには、mongorestore を使用します。
- 単独のデータベースを復元するには、
次の
mongorestoreオプションを含めます。オプションとして、データベースがすでに存在する場合は、宛先クラスター内のデータベースを削除するために
--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オプションを含めます。オプションとして、コレクションがすでに存在する場合は、宛先クラスター内のコレクションを削除するために
--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でリッスンしている ことを前提としています。
| [1] | (1, 2, 3, 4) Alternatively, instead of connecting via the tunnel, you can connect directly to the queryable backup, using the X.509 PEM files provided. If connecting directly to the queryable backup, you must specify the hostname and port, the TLS/SSL option, and the X.509 certificates. |
重要
AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション
MongoDB Ops Manager が AES 256-GCM を使用して暗号化した 暗号化されたスナップショット を復元する場合は、復元の完了後に マスターキーをローテーションします 。