MongoDB Ops Managerは、クエリ可能なバックアップを提供します。 この機能を使用すると、特定のバックアップ スナップショットをより迅速にクエリできます。 クエリ可能なバックアップを使用すると、次のことが可能になります。
MongoDB 配置内のデータのサブセットを復元します。
前のバージョンのデータを現在のデータと比較します。
複数のスナップショットのデータを比較して、システムを復元するのに最適なポイントインタイムを特定します。
Considerations
読み取り専用インスタンス
Ops Manager は、これらのクエリ可能なスナップショットを読み取り専用のMongoDBインスタンスとしてプロビジョニングします。具体的には、Ops Manager は、選択した読み取りのデータを使用してmongod を起動します。
重要
デフォルトでは、これらのインスタンスは最大 24 時間利用できます。 Expiration (Hours)を使用して期間を設定できます。 その他のクエリ可能なバックアップ設定については、「 クエリ可能なスナップショット構成 」を参照してください。
クエリ可能なスナップショットでのクエリ制限
クエリ可能なスナップショットでは、次の操作は実行できません。
ディスク使用量を必要とするクエリ。たとえば、 と オプションを組み合わせて大規模なソート操作を実行する。
running aggregationallowDiskUse
名前空間フィルタリングされたスナップショットをクエリできません
スナップショットに名前空間フィルターを適用した場合、そのスナップショットをクエリすることはできません。
圧縮されたファイルシステム ストアのスナップショットをクエリできません
ファイルシステムストアで圧縮されているスナップショットはクエリできません。この制限は、ストレージ形式の一部として圧縮を使用する、ブロックストアに保存されている圧縮スナップショットまたは S3 ストレージと互換性のあるスナップショット ストアには適用されません。
4FCV.2 以降を実行中MongoDBデータベースの場合、Ops Manager はファイルシステム ストアへのバックアップを圧縮せず、File System Store Gzip Compression Level 設定を無視します。
ファイル システム ストア内のスナップショットに圧縮が適用されている場合は、圧縮を無効にして新しいファイル システム ストアを作成し、今後のバックアップを割り当てます。
接続方法
これらのインスタンスへの接続は TLS 経由であり、 x.509認証が必要です。 Ops Manager は、次の機能を提供します。
クライアントTLS や x.509認証などの接続を処理するトンネルを作成する実行可能ファイル。
リクエストはトンネルを介してルーティングされます。トンネルは、リクエストが正しい
mongodインスタンスに接続されていることを確認します。TLS や x.509認証など、接続の詳細を手動で処理する場合は、x.509 証明書を使用します。
マルチリージョンのバックアップ
マルチリージョンバックアップを有効にした場合 、リージョン間でのデータ転送を防ぐために、クエリ可能なバックアップはクラスターレベルで無効になります。 シャードやコンフィギュレーションサーバーなどのクラスター ノードを、異なる配置リージョンに関連付けることができます。 これにより、 MongoDB Ops Managerはすべてのクラスターレベルのクエリをコンフィギュレーションサーバーの bqProxyEndpoint を介してルーティングできるようになります。 クラスターレベルでクエリ可能なバックアップを有効にするには、 /opt/mongodb/mms/conf/conf-mms.propertiesファイルでmms.backup.enableClusterLevelMultiRegionQueryableをtrueに設定します。 デフォルトでは、このアプリ設定の値はfalseです。
注意
シャードまたはコンフィギュレーションサーバーを直接クエリしても、リージョン間でのデータ転送は発生しません。
リージョナル バックアップからの復元
シャーディングされたクラスターでリージョンバックアップを有効にする場合は、リージョンデータの分離を確保するために、シャードごとにクエリ可能な復元ジョブを開始する必要があります。 配置リージョンはシャーディングされたクラスターではなく個々のシャードにバインドされるため、シャーディングされたクラスター レベルで復元ジョブを開始すると、 MongoDB Ops Managerはデータ分離を保証できません。
前提条件
重要
自分のワークステートメントからクエリ可能なバックアップインスタンスに接続するには、 MongoDB Database Toolsの最新バージョン( mongodumpと と、mongorestore の最新バージョンmongosh を使用します。
古いバージョンの mongodump には、コレクションオプションのキーが間違った順序でダンプされる可能性がある問題が含まれています。詳細については、 TOOLS-3411. を参照してください。
MongoDB Ops Manager を ローカル モードで実行する場合は、最新のバージョンではなく、MongoDB Ops Manager リリースの Database Tools 互換性テーブル に記載されているバージョンをインストールします。
ローカル モードの暗号化されたスナップショットのサポート
4.2.9 以降を実行している場合は、 ローカル モード を使用して暗号化されたスナップショットをクエリできます。MongoDB Ops ManagerMongoDB Enterprise
スナップショットとターゲット データベース間の MongoDB バージョンの互換性
MongoDB3.2 以降を実行中CSRS を使用して、レプリカセットまたはシャーディングされたクラスターから作成されたスナップショットをクエリできます。
クエリ可能なバックアップを成功させるには、復元のターゲットである MongoDB インスタンスが互換性のある MongoDB バージョンを実行している必要があります。 次の表は、各配置タイプと MongoDB バージョンの互換性要件を示しています。
シャーディングされたクラスター
スナップショット データ MongoDB バージョン | ターゲット データベースに互換性のある MongoDB バージョン | プラットフォーム |
|---|---|---|
8.0.x | 8.0.xEnterprise 以降 | Any |
7.0.x | 7.0.xEnterprise 以降 | Any |
6.0.x | 6.0.0 Enterprise 以降 | Any |
5.0.x | 5.0.0 Enterprise 以降 | Any |
4.4.x | 4.4.0 Enterprise 以降 | Any |
レプリカセット
スナップショット データ MongoDB バージョン | ターゲット データベースに互換性のある MongoDB バージョン | プラットフォーム |
|---|---|---|
8.0.x | 8.0.xEnterprise 以降 | Any |
7.0.x | 7.0.0 Enterprise 以降 | Any |
6.0.x | 6.0.0 Enterprise 以降 | Any |
5.0.x | 5.0.0 Enterprise 以降 | Any |
4.4.x | 4.4.0 Enterprise 以降 | Any |
認証と承認
重要
トランスポート層セキュリティ、公開キーインフラストラクチャ、X.509 証明書と認証局の詳細な説明は、このチュートリアルの範囲を超えています。このチュートリアルでは、TLS に関する事前の知識と、有効な X.509 証明書にアクセスできることを前提としています。
MongoDB Ops Managerでは、クエリ可能なバックアップの使用を認証および認可するために別のPEMファイルが必要です。 このPEMファイル:
MongoDB Ops Managerプロセスを所有するのと同じプラットフォームユーザーとグループに属している必要があります。 Linux では、
mongodb-mms:mongodb-mmsユーザーとグループがこの PEM ファイルを所有します。 Windows では、SYSTEMユーザーを使用します。プラットフォーム ユーザーのみが読み取れる必要があります。
配置でMongoDB Ops Manager 高可用性を使用する 場合は、すべての ホスト上の同じ場所に保存する必要があります。
Ops Manager への HTTPS 接続に使用されるものとは異なる必要があります(
HTTPS PEM Key File)。512 ビットを超えるキー長を使用する必要があります。 2048 ビット RSA キーの使用が推奨されます。
は、
sha256など、sha1よりも強力なメッセージ ダイジェストを使用する必要があります。
PEMファイルは少なくとも次の要素で構成されています。
サーバー証明書とキーのペア、および
証明機関の証明書
これらのペアはマージされて、クエリ可能なバックアップで使用できるPEMファイルが作成されます。 ペアには次の要件があります。
認証局証明書
証明機関は、PEM ファイルで使用される他の証明書とキーに署名する必要があります。 認証局は、次のいずれかになります。
プライベート認証局(自己署名、テスト目的で推奨)。
会社のセキュリティ チームが発行した認証局 。
サーバー証明書とキーのペア
選択した証明機関は、このサーバー証明書に署名する必要があります。
サーバー証明書とキーのペアのコモンネーム設定は、 MongoDB Ops Managerの配置で使用されるホストの数によって異なります。
単一の MongoDB Ops Manager ホストの場合、ペア内のサブジェクト代替名(またはSANが存在しない場合は、コモン ネーム)は、MongoDB Ops Manager ホストのFQDNと一致する必要があります。
高可用性を実現するには、ペア内の SAN ( SAN が存在しない場合は、コモンネーム)が、ロード バランサー URL の FQDN と一致する必要があります。
サーバー証明書とキーのペアと証明書チェーンを連結して、プロキシ サーバー PEM キーを作成します。
PEM ファイルの場所
クエリ可能なバックアップ ホストの場合、 Proxy Server PEM File設定を使用して PEM ファイル(公開鍵証明書とそれに関連付けられた秘密キーの両方を含む)の場所を指定する必要があります。 クエリ可能なバックアップ設定をまだ設定していない場合は、次の手順に従います。
右上隅のAdminをクリックします。 Admin画面からGeneralをクリックしますOps Manager Config Backup 。
Queryable Snapshot Configuration
Proxy Server PEM File[]mongodまでスクロールし、トンネルまたはクライアントがクエリ可能な インスタンスに接続するために使用できる を指定します。ファイルが暗号化されている場合は、
Proxy Server PEM File Passwordを指定します。任意。 その他のクエリ可能なスナップショット設定を必要に応じて更新します。 設定の説明については、「 クエリ可能なスナップショット構成 」を参照してください。
注意
次の設定のいずれかを変更する場合は、Web サーバーを再起動する必要があります。
アプリ サーバーのポートを開きます
アプリサーバーでは、クエリ可能なバックアップスナップショットの通信に対してポート 27700 ~ 27719 がオープンである必要があります。
ロードバランサーを使用する場合は、Proxy Server Port の 値を介して TCP 接続を渡す必要があります。
ポート要件の詳細については、「ファイアウォール構成 」を参照してください。
MongoDB Ops Managerバックアップデーモンの十分なワーカー
シャーディングされたクラスターのスナップショットをクエリするには、バックアップデーモンは少なくともコンフィギュレーションサーバー用に 1 つのワーカー、各シャード用に 1 つのワーカー、および インスタンス用のmongos 1 つのワーカーが必要です。
レプリカセットのスナップショットをクエリするには、バックアップデーモンにはレプリカセットに対して少なくとも 1 つのワーカーが必要です。
例、3 シャード1 ルーター(mongos )を使用して シャードクラスターからクエリ可能なバックアップを復元する場合、この値は少なくとも5 である必要があります。
シャードあたり 1(
3)+コンフィギュレーションサーバーの 1(
1) +1
mongos
クエリ可能なバックアップが開始されると、バックアップデーモンはこれらのコンポーネントを管理するために 5 つ以上のワーカーを起動します。
Hostname
The FQDN that hosts the mongod for the queryable backup must match the one found the Daemons page. To find that hostname, click the Admin link, then click Backup, and then click Daemons.
クエリ可能なバックアップにはエンタープライズダウンロードが必要
MongoDB Ops Manager がインターネットに接続できる場合は、 を trueBackup Versions Auto Download Enterprise Builds に設定します。クエリ可能なバックアップにはMongoDB Enterpriseが必要です。
クエリバックアップ(トンネルを使用して接続)
注意
トンネルは、インスタンスに接続するためのセキュリティ( TLS および x.509認証)を処理します。
指示に従って、バックアップ スナップショットをクエリします。
クエリするスナップショットを選択し、[Next] をクリックします。
Start スナップショットをクエリするプロセス。2 要素認証を求められます。
クエリ可能なスナップショットへの接続方法としてBackup Tunnelを選択します。
プラットフォームを選択してダウンロードします。
ダウンロードしたファイルを解凍します。
注意
クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、 Continuous Backupに移動し、 Restore Historyタブを選択します。 スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。
ターミナルまたはコマンド プロンプトを開き、解凍された <tunnel> ディレクトリに移動します。実行可能ファイルを実行してトンネルを開始します。
トンネルのデフォルト ポートは
27017です。 ポートを変更するには、次の例のように--localフラグを使用します。./<tunnel executable> --local localhost:27020 注意
ポートを変更する場合は、接続時にポート情報を含める必要があります。
トンネルに渡すことができるオプションの完全なリストについては、
-hオプションを使用して実行可能なトンネルを実行してください。./<tunnel executable> -h mongoshトンネル経由でバックアップに接続するには、 またはMongoDBドライバーを使用します。トンネルが実行されているマシンと同じマシンからローカルに接続する場合は、接続stringやホスト情報を指定する必要はありません。 それ以外の場合は、トンネルが実行中のマシンの接続stringまたはホスト情報を指定します。
トンネルがリッスンしているポートを変更した場合は、接続時にポート情報を指定する必要があります。
Tip
このスナップショットのクエリが終了したら、クエリ可能なインスタンスを終了できます。
Restore History を開き、配置アイテムの Status 列にカーソルを合わせます。
[Cancel] をクリックします。
注意
クエリ可能なバックアップmongod インスタンスのログファイルを見つけるには、バックアップデーモンホストのヘッドディレクトリにある次のパスに移動します。
<daemon-hostname>:/<headDirectory>/queryable/<backupId>/mongod.log
重要
AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション
Ops Manager が AES256-GCM を使用して 暗号化したスナップショット を復元する場合は、復元の完了後に マスターキーをローテーションします 。
クエリバックアップ(TLS 認証の手動処理)
注意
クライアントの X.509 証明書の有効期間は、クエリ可能なインスタンスExpiration (Hours)と同じで、デフォルトでは 24 時間です。
指示に従って、バックアップ スナップショットをクエリします。
クエリするスナップショットを選択し、[Next] をクリックします。
Start スナップショットをクエリするプロセス。 パスワードの入力を求められた場合は、パスワードを入力して確認します。
クエリ可能なスナップショットへの接続方法としてConnect Manuallyを選択します。
X.509 クライアント PEM ファイルをダウンロードします。
認証局 PEM ファイルをダウンロードします。
注意
クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、 Continuous Backupに移動し、 Restore Historyタブを選択します。 スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。
クエリ可能なバックアップホストに接続するには、
mongoshまたはMongoDBドライバーを使用します。接続するには、ホスト名とポート、TLS オプション、および X.509 証明書を指定する必要があります。例
mongoshを使用してインスタンスに接続する場合:mongosh my-queryable-backup-host.mongodb.com:27217 \ --tls --tlsCertificateKeyFile <client certificate> \ --tlsCAFile mms-backup-ca.pem
Tip
このスナップショットのクエリが終了したら、クエリ可能なインスタンスを終了できます。
Restore History を開き、配置アイテムの Status 列にカーソルを合わせます。
[Cancel] をクリックします。
重要
AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション
Ops Manager が AES256-GCM を使用して 暗号化したスナップショット を復元する場合は、復元の完了後に マスターキーをローテーションします 。
次のステップ
クエリ可能なバックアップの MongoDB インスタンスを使用してデータベースまたはコレクションを復元するには、「 クエリ可能なバックアップからデータベースまたはコレクションを復元する 」を参照してください。