スナップショットから単一のデータベースまたはコレクション(または特定のドキュメント)を復元するには、クエリ可能なバックアップを使用して単一のデータベースまたはコレクションをエクスポートし、ターゲットの配置に復元します。
Considerations
復元を試みる前に、ターゲット配置のホストに復元ファイルと復元データベース用の十分なストレージ領域があること、およびデータセットの増加に対応する追加領域があることを確認してください。 現在のデータベース サイズを検索するには、 db.stats()を使用します。
クエリ可能なバックアップからのデータベースまたはコレクションの復元
クエリ可能なバックアップのスナップショットを使用して、データベースまたはコレクションのデータをエクスポートし、ターゲットの配置に復元できます。 次の手順では、Ops Manager が提供するトンネル[ 1 ]を介してクエリ可能なバックアップインスタンスに接続します。
注意
デーモンがインターネットにアクセスせずに実行される場合は、「配置構築でインターネット アクセスを制限する 」を参照して適切なバイナリをインストールしてください。
クエリ可能なスナップショットへのバックアップ トンネルを開きます。
クエリするスナップショットを選択し、[Next] をクリックします。
Start スナップショットをクエリするプロセス。2 要素認証を求められます。
クエリ可能なスナップショットへの接続方法としてBackup Tunnelを選択します。[1]
プラットフォームを選択してダウンロードします。
ダウンロードしたファイルを解凍します。
注意
クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、 Continuous Backupに移動し、 Restore Historyタブを選択します。 スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。
ターミナルまたはコマンド プロンプトを開き、解凍された <tunnel> ディレクトリに移動します。実行可能ファイルを実行してトンネルを開始します。
トンネルのデフォルト ポートは
27017です。 ポートを変更するには、次の例のように--localフラグを使用します。./<tunnel executable> --local localhost:27020 注意
ポートを変更する場合は、接続時にポート情報を含める必要があります。
mongodumpクエリ可能なバックアップから単一のデータベースまたはコレクションをエクスポートするには、 を使用します。
- データベースのデータをエクスポートするには、
トンネルに接続するには次の
mongodumpオプションを含めます[ 1 ] 。--portトンネルのポートに設定--dbエクスポートするデータベースの名前に設定--out空のディレクトリに設定して、データ ダンプを出力します。重要
mongodumpを実行しているユーザーが指定されたディレクトリに書込みできるようにします。
mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path> - コレクションのデータをエクスポートするには、
トンネルに接続するには以下のオプションがあります[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/ 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 )あるいは、トンネル経由で接続する代わりに、提供されている X.509 PEM ファイルを使用して、クエリ可能なバックアップに直接接続することもできます。クエリ可能なバックアップに直接接続する場合は、ホスト名とポート、TLS/SSL オプション、および X.509 証明書を指定する必要があります。 |
重要
AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション
MongoDB Ops Managerが AES256-GCM を使用して 暗号化したスナップショット を復元する場合は、復元の完了後 に マスターキーをローテーションします 。