バックアップ スナップショットのクエリ
MongoDB Ops Managerは、 のクエリ可能なバックアップを提供します。 この機能を使用すると、特定のバックアップ スナップショットをより迅速にクエリできます。 クエリ可能なバックアップを使用すると、次のことが可能になります。
MongoDB 配置内のデータのサブセットを復元します。
前のバージョンのデータを現在のデータと比較します。
複数のスナップショットのデータを比較して、システムを復元するのに最適なポイントインタイムを特定します。
Considerations
読み取り専用インスタンス
MongoDB Ops Managerは、これらのクエリ可能なスナップショットを読み取り専用のMongoDBインスタンスとしてプロビジョニングします。 具体的には、 MongoDB Ops Managerは、選択したスナップショット ストアのデータを使用してmongodを起動します。
重要
デフォルトでは、これらのインスタンスは最大24時間利用できます。 Expiration (Hours)
を使用して期間を設定できます。 その他のクエリ可能なバックアップ設定については、「 クエリ可能なスナップショット構成 」を参照してください。
クエリ可能なスナップショットでのクエリ制限
クエリ可能なスナップショットでは、次の操作は実行できません。
ディスク使用量を必要とするクエリ
allowDiskUse
オプションを使用して集計を実行し、大規模なソート操作を実行するなど)
名前空間フィルタリングされたスナップショットをクエリできません
スナップショットに名前空間フィルターを適用した場合、そのスナップショットをクエリすることはできません。
スナップショットが ファイル システム ストア で 圧縮 されている場合、スナップショットの内容はクエリできません。
ファイル システム ストアのスナップショットをクエリできるようにするには、圧縮を無効にして新しいファイル システム ストアを作成する必要があります。
接続方法
これらのインスタンスへの接続はTLS / SSL経由であり、 x が必要です。 509認証。 MongoDB Ops Managerは、次の機能を提供します。
マルチリージョンのバックアップ
マルチリージョンバックアップを有効にした場合 、リージョン間でのデータ転送を防ぐために、クエリ可能なバックアップはクラスターレベルで無効になります。 シャードやコンフィギュレーションサーバーなどのクラスター ノードを、異なる配置リージョンに関連付けることができます。 これにより、 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 を参照してください。
ローカル モードの暗号化されたスナップショットのサポート
4.2.9 以降を実行している場合は、 ローカル モード を使用して暗号化されたスナップショットをクエリできます。MongoDB Ops ManagerMongoDB Enterprise
スナップショットとターゲット データベース間の MongoDB バージョンの互換性
MongoDB 以降を実行している CSRS を持つ レプリカセット またはシャーディングされた クラスター3.2 から作成されたスナップショットをクエリできます。
クエリ可能なバックアップを成功させるには、復元のターゲットである MongoDB インスタンスが互換性のある MongoDB バージョンを実行している必要があります。 次の表は、各配置タイプと MongoDB バージョンの互換性要件を示しています。
シャーディングされたクラスター
スナップショット データ MongoDB バージョン | ターゲット データベースに互換性のある MongoDB バージョン | プラットフォーム |
---|---|---|
4.4.x | 4.4.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 |
4.0.x | 4.0.0 Enterprise 以降 | Any |
3.6.x | 3.6.5 Enterprise 以降 | Any |
3.4.x | 3.4.11 Enterprise 以降 | Windows |
3.4.x | 3.4.2 Enterprise 以降 | Linux |
レプリカセット
スナップショット データ MongoDB バージョン | ターゲット データベースに互換性のある MongoDB バージョン | プラットフォーム |
---|---|---|
4.4.x | 4.4.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 |
4.0.x | 4.0.0 Enterprise 以降 | Any |
3.6.x | 3.4.11 Enterprise 以降 | Windows |
3.6.x | 3.4.2 Enterprise 以降 | Linux |
3.4.x | 3.4.11 Enterprise 以降 | Windows |
3.4.x | 3.4.2 Enterprise 以降 | Linux |
3.2 | 3.4.11 Enterprise 以降 | Windows |
3.2.x | 3.4.2 Enterprise 以降 | Linux |
認証と承認
重要
トランスポート層セキュリティ の詳細な説明 、 公開鍵インフラストラクチャ 、 X。509 証明書、 認証局 は、このチュートリアルの範囲を超えます。このチュートリアルでは、 TLSに関する事前の知識と、有効な X. 509証明書にアクセスできることを前提としています。
MongoDB Ops Managerでは、クエリ可能なバックアップの使用を認証および認可するために別のPEMファイルが必要です。 このPEMファイル:
MongoDB Ops Managerプロセスを所有するのと同じプラットフォームユーザーとグループに属している必要があります。 Linux では、
mongodb-mms:mongodb-mms
ユーザーとグループがこの PEM ファイルを所有します。 Windows では、SYSTEM
ユーザーを使用します。プラットフォーム ユーザーのみが読み取れる必要があります。
配置でMongoDB Ops Manager 高可用性を使用する 場合は、すべての ホスト上の同じ場所に保存する必要があります。
への
HTTPS PEM Key File
HTTPS MongoDB Ops Manager接続に使用されるものとは異なる必要があります( )。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 がオープンである必要があります。
ロード バランサーを使用する場合、 の 値を通じて TCP 接続を渡す必要があります。Proxy Server Port
ポート要件の詳細については、「ファイアウォール構成 」を参照してください。
MongoDB Ops Managerバックアップデーモンの十分なワーカー
シャーディングされたクラスターのスナップショットをクエリするには、バックアップデーモンは少なくとも コンフィギュレーションサーバー 用に 1 つのワーカー、各シャードごとに 1 つのワーカー、 mongos
インスタンス用に 1 つのワーカーが必要です。
レプリカセットのスナップショットをクエリするには、バックアップデーモンにはレプリカセットに対して少なくとも 1 つのワーカーが必要です。
たとえば、 1シャード ルーター( mongos )を使用して3シャードクラスターからクエリ可能なバックアップを復元する場合、この値は少なくとも5
である必要があります。
シャードあたり 1(
3
)+コンフィギュレーションサーバーの 1(
1
) +1
mongos
クエリ可能なバックアップが開始されると、バックアップデーモンはこれらのコンポーネントを管理するために 5 つ以上のワーカーを起動します。
Hostname
クエリ可能なバックアップ用に mongod
をホストする FQDN は、Daemons ページで見つかった FQDN と一致する必要があります。そのホスト名を見つけるには、 Adminリンクをクリックし、次にBackupをクリックし、次にDaemonsをクリックします。
クエリ可能なバックアップにはエンタープライズダウンロードが必要
MongoDB Ops Manager がインターネットに接続できる場合は、 Backup Versions Auto Download Enterprise Buildsをtrueに設定します。 クエリ可能なバックアップには MongoDB Enterprise が必要です。
クエリバックアップ(トンネルを使用して接続)
注意
トンネルは、インスタンスに接続するためのセキュリティ( TLS / SSLおよび 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 で暗号化されたスナップショット復元後のマスター キー ローテーション
がMongoDB 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 で暗号化されたスナップショット復元後のマスター キー ローテーション
がMongoDB Ops Manager AES256-GCM を使用して 暗号化したスナップショット を復元する場合は、復元の完了後 に マスターキーをローテーション します 。
次のステップ
クエリ可能なバックアップの MongoDB インスタンスを使用してデータベースまたはコレクションを復元するには、「 クエリ可能なバックアップからデータベースまたはコレクションを復元する 」を参照してください。