AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

オブジェクトロックを使用したイミュータブルS3バックアップ

MongoDB Ops Manager は、バックアップデータをブロックとして S3 バケットに書き込み、MongoDB Ops Manager アプリケーションデータベースでメタデータを追跡することで、スナップショットや oplog を含むバックアップを S3 または S3 と互換性のあるオブジェクトストアに保存できます。不変の S3 バックアップにより、MongoDB Ops Manager は S3 オブジェクト ロックまたは同等のものと統合し、次の機能を提供します。

  • バックアップデータとバックアップメタデータをS3バケットに一緒に保存します。

  • オブジェクト保存 (する)によって適用される定義済みの保持期間が終了するまで、バックアップオブジェクトを削除や変更から保護します。

  • 障害復旧や移行のために、オブジェクト-ロックが有効なバケットから、完全なポイントインタイム復元チェーン(スナップショットとoplog)を、新規または再構築されたMongoDB Ops Manager配置にインポートします。

この機能を使用して、ランサムウェア攻撃や演算子エラーなど、悪意のある削除または誤って削除からバックアップを保護します。S3 に保存しているもののみを使用して、新しい Ops Managerインスタンスにバックアップを復元できます。

このガイドでは、ホスト上で直接インストールおよびマネージドするMongoDB Ops Manager配置の不変S3バックアップについて説明します。MongoDB Controllers for Kubernetes 演算子 (MCK) を使用してOps Managerを配置する場合は、Ops Managerリソース仕様の例を参照してください。

重要

MongoDB Ops Manager は、バージョン 8.0.19 以降で不可変 S3 スナップショットをサポートします。Immutable S3 oplogs は、完全に不可変でインポート可能なバックアップからのポイントインタイム復元をサポートするためにこの保護を拡張しますが、バージョン 9.0 または 8.0.28 が必要です。

Object-Lock 対応バケットで S3読み取りを構成し、不変のバックアップを有効にすると、次の操作が実行されます。

  • Ops Manager は、Ops Managerアプリケーションデータベースのみにメタデータを保持するのではなく、スナップショット ブロックと復元に必要なメタデータを S3バケットに書込みます。

  • 構成すると、Ops Manager はスナップショットごとに オブジェクト ロックの保持を延長し、バックアップジョブの保持ウィンドウが終了する前にオブジェクトストアによる削除または変更を防止します。

  • Ops Manager は、S3バケットに保存されているデータのみを読み取ることで、これらの不変のスナップショットを検出し、事前に入力されたバケットから別の Ops Managerインスタンスにインポートできます。

また、オブジェクト ロックが有効になっている S3 oplog 保存 (する)を設定した場合、

  • Ops Manager は、スナップショット データに対して行うのと同様に、oplog スライスおよび復元に必要なメタデータを S3 oplog ストアのバケットに書き込み (write)ます。

  • MongoDB Agentは、そのバックアップジョブに対して過半数でコミットされたoplogエントリのみを追跡するため、Ops Managerが後のロールバックで削除される可能性のあるoplogエントリをバックアップすることはありません。

  • MongoDB Ops Managerは、これらの不変のoplogを、インポートされた不変のスナップショットとともに別のMongoDB Ops Managerインスタンスに検出およびインポートして、インポートされたバックアップからのポイントインタイム復元をサポートできます。

不変のS3バックアップを使用するには、以下が用意されていることを確認してください。

  • イミュータブルなスナップショットには、MongoDB Ops Manager8.0.19 6800以降が必要です。イミュータブルなoplogには、さらにバージョン9.0または8.0.28が必要です。

  • Ops Manager で構成された S3読み取り(ブロックストア)。不変のスナップショットは S3 ベースのスナップショット ストアのみをサポートし、 MongoDBブロックストアやファイルシステム スナップショット ストアはサポートしません。

  • オブジェクト保存 (する)(AWS S3または互換性のあるアプライアンスなど)。保存 (する)に使用するバケットでオブジェクトロックが有効になっている必要があります。ほとんどのS3プロバイダーでは、オブジェクト ロックが機能するためにオブジェクトのバージョニングが必要であり、バケット作成時にのみオブジェクト ロックを許可するプロバイダーもあります。

  • 標準バックアップ要件。たとえば、適切なノードでバックアップが有効になっているMongoDB Agent や、ポイントインタイムリカバリ( PITR )用の oplog (操作ログ)ストアなど。

  • スナップショット保存用にオブジェクト ロックが有効になっているS3バケット。バケットは新規である必要はなく、この保存専用である必要もありませんが、専用バケットの使用が推奨されます。MongoDB Ops Managerで既存のS3読み取りの設定を変更してオブジェクトロックを有効にすることはできません。Object Lockが有効になっているバケットを指す新しいS3読み取りを構成する必要があります。

  • 不変のoplogを使用する場合:oplog保存用に、バージョニングとオブジェクト ロックが有効になっているS3バケットが必要です。バケットは新規である必要はなく、この保存専用である必要もありませんが、専用バケットの使用が推奨されます。MongoDB Ops Managerで既存のS3 oplog保存 (する)の設定を変更してオブジェクト ロックを有効にすることはできません。バージョニングとオブジェクト ロックが有効になっているバケットを指す新しいS3 oplog保存を構成する必要があります。

不変のS3バックアップを計画する際は、以下の項目を考慮してください。

  • 回帰の不変はありません。Ops Manager は、 不変のバックアップを有効にすると、バケットに書き込まれたスナップショットのみを オブジェクトロック で保護します。Ops Manager は既存のスナップショット オブジェクトにオブジェクト ロックを適用しません。

  • オブジェクト ロックの構成。Ops Manager は、オブジェクト ロックをサポートしていない S3 バケットに対して不変性を提供しません。バケットでオブジェクト ロックを個別に構成する必要があります。Ops Manager でオブジェクト ロック設定を構成するか、作成後にバケット設定を更新しても、バケットでオブジェクト ロックは有効になりません。

  • 既存のデータの自動移行はありません。S3 ストア間のバックアップを移行する機能を使用すると、バックアップジョブが将来のスナップショットに使用する S3読み取りを変更できます。バケット間で既存のスナップショット データをコピーしたり移動したりすることはありません。

  • マネージド ストアの保持とオブジェクト ロック。バックアップジョブ保持ポリシーに従ってスナップショットが期限切れになると、Ops Manager はスナップショットの表示を停止し、関連するオブジェクトの削除を試みます。 MongoDB Ops Manager は、オブジェクト ロック保持期間が終了した後にのみオブジェクトを削除できます。オブジェクトストアが削除を拒否した場合(例、オブジェクトがまだ保持中であるため)、groomジョブは失敗しません。 Ops Manager は削除できないオブジェクトをキューに入れ、バックアップデーモンはオブジェクトストアで許可されるまでmms.backup.groom.failedDeleteRetryDelayHours 時間ごとに削除を再試行します。

  • インポートされた保存先での保持。MongoDB Ops Managerは、インポート元のS3バケットからデータを削除することはありません。MongoDB Ops Managerは、独自のアプリケーションデータベースにインポートしたメタデータを削除できます。保持は、MongoDB Ops Managerでのメタデータの可視性にのみ影響します。

  • oplogの不変性を遡及的に適用することはできません。オブジェクトロックは、S3 oplog保存 (する)を作成する場合にのみ有効にできます。既存のS3 oplog保存において、設定を変更してオブジェクト ロックを有効にすることはできません。代わりに新しい保存を作成する必要があります。

  • oplogのバージョン固定はデフォルトでオフになっています。デフォルトでは、MongoDB Ops Managerは、不変のoplog保存 (する)からoplog sliceを読み戻す際に、記録した正確なS3オブジェクトバージョンを使用しません。brs.oplogStoreFallBackToLatestVersionアプリケーション設定はデフォルトでtrueになっており、これによりMongoDB Ops Managerは、記録されたバージョンではなく、常にオブジェクトの最新バージョンをフェッチします。MongoDB Ops Managerに正確な記録バージョンを使用させるには、グローバル管理者がbrs.oplogStoreFallBackToLatestVersionをfalseに設定する必要があります。

  • oplog テーリングに必要な過半数コミット トポロジー要件。MongoDB Ops Manager は、オブジェクト ロックが有効な oplog 保存 (する)の場合は、過半数がコミットされた oplog エントリーのみを追加します。オブジェクト ロックは、MongoDB Ops Manager が保存 (する)に書き込まれたデータを元に戻したり変更したりできないことを意味するためです。セカンダリがダウンしている PSA トポロジー、または PAA トポロジーでは、oplog テールは過半数コミットに決して到達できないため、トポロジーが復旧するまでテール処理がスタックします。このような事態が発生した場合、MongoDB Ops Manager は原因と対処法を指定するアラートを発生させます。

警告

MongoDB Ops Managerは、スナップショットまたはoplogの保存先について、バケットの実際の保持モードや期間を読み取りません。MongoDB Ops Managerで設定した保持値が、S3バケットで直接構成した保持設定と一致しない場合、バックアップが削除や変更から保護されない可能性があります。また、MongoDB Ops Managerが認識していない保持設定がバケットで強制されている場合、MongoDB Ops Managerのクリーンアップジョブが失敗することがあります。

不変スナップショットストレージを構成するには、次のタスクを完了します。

  1. Ops Manager で不変のバックアップを有効にします。

  2. オブジェクトロックが有効なS3バケットを準備します。

  3. Ops Manager で新しい S3読み取りを構成します。

アプリケーション設定で、不変バックアップを制御します。Object Lockを使用してS3読み取りを構成する前に、グローバル管理者がこの設定を有効にする必要があります。

1

Admin、General、Ops Manager Config をクリックします。

2
  1. [Custom] タブをクリックします。

  2. [+ Add Option] をクリックします。

  3. Keyフィールドにbrs.immutableBackupEnabledと入力します。

  4. Valueフィールドにtrueと入力します。

  5. [Save] をクリックします。

この設定により、オブジェクト-ロックが有効なバケットによってバックアップされた保存に対してS3スナップショットの不変性が有効になります。MongoDB Ops Managerは、この設定を直ちに適用します。MongoDB Ops Managerを再起動する必要はありません。

注意

Admin UIを使用する代わりに、conf-mms.propertiesでbrs.immutableBackupEnabledをtrueに設定することもできます。両方の場所で設定を行った場合、MongoDB Ops Managerはconf-mms.propertiesの値を使用します。

1

既存のS3またはS3互換バケットを使用できます。不変のMongoDBバックアップ専用のバケットは必須ではありませんが、推奨されます。

2

バケットでオブジェクトロックを有効にします。プロバイダーによっては、バケット作成時または作成後にこれを行うことができます。ほとんどのS3プロバイダーでは、オブジェクトロックを機能させるためにオブジェクトのバージョニングが必要であり、バケット作成時にのみオブジェクトロックを許可するプロバイダーもあります。

3

MongoDB Ops Managerは、デフォルトでバケットの条件付き書き込み (write)サポートを使用して、不変のスナップショットメタデータが使用するストレージ容量を削減します。条件付き書き込み (write)をサポートするようにバケットを構成します。

重要

条件付き書き込み (write)のサポートは推奨されますが、必須ではありません。バケットが条件付き書き込み (write) をサポートしていない場合でも、Ops Managerはオブジェクト ロックでスナップショットを保護しますが、バケットが予期しない速度で増加する可能性があります。

4

オブジェクト保存で、デフォルトの保存モード(GOVERNANCEまたはCOMPLIANCE)と期間を構成します。MongoDB Ops Managerは個々のオブジェクトにObject ロック保存ヘッダーを設定しないため、バケットのデフォルト保存設定が実際にデータを保護します。バケットにデフォルトの保存が構成されていない場合、Object ロックはオブジェクトを削除や変更から保護しません。

注意

Ops Managerの既存のS3読み取り構成に対して、オブジェクトロックを有効にすることはできません。すでにバックアップにS3バケットを使用しているが、不変のスナップショットが必要な場合は、プロバイダーが許可していればそのバケットでオブジェクトロックを有効にするか、すでにオブジェクトロックが有効になっている別のバケットを指定して、新しいS3読み取りを構成してください。

1

S3互換の読み取りを1つ追加手順に従って、オブジェクトロックが有効なバケットを指す新しいS3読み取りを作成します。S3 プロバイダーの要件に応じて、バケット名、エンドポイントとなる接続されたデバイス、リージョン、および認証情報を指定してください。

2

Object Lock Enabled を選択して、基礎のバケットでオブジェクト ロックが有効になっていることを確認します。

3

MongoDB Ops Managerがオブジェクトロックを使用して各スナップショットのオブジェクトを保護する日数を入力します。この値は、バケットで直接構成した保持期間と一致する必要があります。

4

Ops Manager がこのスナップショット ストアのオブジェクトに適用するオブジェクト ロック保持モード(GOVERNANCE または COMPLIANCE を選択します。ストアを保存すると、Ops Manager は一時的なテスト オブジェクトを使用してバケットの オブジェクト ロック動作を検証します。ただし、Ops Manager はバケットの Object lock 構成を読みディングしないため、ここで設定したモードとバケットに構成されたモードとの間の不一致を検出することはできません。このフィールドは、バケットに構成した保持モードと一致するように手動で設定する必要があります。

5

Ops Manager はストアを保存するときに接続を自動的に検証します。

重要

Object Lock Enabledは、新しいS3読み取りを作成する場合にのみ選択できます。ストアを保存した後は、この設定を変更できません。Object Retention Period (Days)とObject Retention Modeはいつでも変更できます。

この読み取りは、不変のスナップショットのターゲットとして機能します。Ops Manager は、この保存を使用するバックアップのスナップショット ブロックとメタデータの両方をバケットに書込みます。

注意

MongoDB Enterprise Kubernetes Operator を使用してMongoDB Ops Manager を管理する場合、対応するMongoDBOpsManager リソースのs3Stores エントリで、オブジェクト ロックも有効にする必要があります。spec.backup.s3Stores[].objectLockEnabled フィールドをtrue に設定します。それによりKubernetes 演算子 は、オブジェクト ロックを認識してMongoDB Ops Manager を調整します。

MongoDB Ops Manager 操作のメタデータストアとして機能するには、引き続きMongoDBインスタンスが必要です。

不可変 oplog ストレージを構成するには、次のタスクを実行します。

  1. まだ有効にしていない場合は、MongoDB Ops Managerでイミュータブルバックアップを有効にします。

  2. バージョン管理が有効で、オブジェクト-ロックが有効なS3バケットを準備します。

  3. MongoDB Ops Managerで新しいS3 oplogストアを構成します。

  4. 既存のバックアップジョブを不変の S3 oplog 保存 (する)に切り替えます。

このステップでは、不変スナップショットストレージと同じMongoDB Ops Managerアプリケーション設定を使用します。不変スナップショットストレージの設定中に不変バックアップの有効化をすでに完了している場合は、このステップをスキップしてください。

イミュータブルなoplog保存用のバケットを準備します。

1

既存のS3またはS3互換バケットを使用できます。不変のMongoDBバックアップ専用のバケットは必須ではありませんが、推奨されます。

2

標準のoplog保存とは異なり、不変oplog保存では、バケットでバージョニングとオブジェクト ロックの両方を有効にする必要があります。プロバイダーによっては、バケットの作成時または作成後にこれらを有効にできます。

3

MongoDB Ops Managerは、デフォルトでバケットの条件付き書き込み (write)サポートを使用して、不変のバックアップメタデータが使用するストレージ容量を削減します。条件付き書き込み (write)をサポートするようにバケットを構成します。

重要

条件付き書き込み (write)のサポートは推奨されますが、必須ではありません。バケットが条件付き書き込み (write)をサポートしていない場合でも、MongoDB Ops Managerはオブジェクトロックでoplogを保護しますが、バケットが予期しない速度で増加する可能性があります。

4

オブジェクト保存で、デフォルトの保存モード(GOVERNANCEまたはCOMPLIANCE)と期間を構成します。MongoDB Ops Managerは個々のオブジェクトにObject ロック保存ヘッダーを設定しないため、バケットのデフォルト保存設定が実際にデータを保護します。バケットにデフォルトの保存が構成されていない場合、Object ロックはオブジェクトを削除や変更から保護しません。

注意

MongoDB Ops Managerでは、既存のS3 oplog保存の構成に対してオブジェクトロックを有効にすることはできません。oplogストレージにS3バケットを既に使用しているが、不変のoplogが必要な場合は、プロバイダーが許可していればそのバケットでバージョニングとオブジェクトロックを有効にするか、両方が既に有効になっている別のバケットを点にして、新しいS3 oplog保存を構成してください。

新しいバケットを S3 oplog 保存先として設定します。

1

S3互換のoplog保存 (する)を追加の手順に従って、バージョン管理とオブジェクト-ロックが有効なバケットを指す新しいS3 oplog保存 (する)を作成します。S3プロバイダーの要件に従って、バケット名、エンドポイントとなる接続されたデバイス、リージョン、および認証情報を指定します。

2

この保存 (する) に対して不変のoplogバックアップを有効にするには、Object Lock Enabledを選択します。このフィールドを選択する前に、基礎のS3バケットでオブジェクトロックを有効にする必要があります。

3

Ops Manager が各oplogスライスのオブジェクトをオブジェクト ロックで保護する日数を入力します。この値は、バケットで直接構成した保持期間と一致する必要があります。このフィールドはS3バケット自体の保持設定を変更せず、Ops Manager はバケットの Object lock 構成を読み取らないため、このフィールドとバケットの保持期間との間の不一致は検出できません。このフィールドは、バケットに構成した保持モードと一致するように手動で設定する必要があります。

重要

このフィールドを設定することをお勧めします。空白のままにすると、MongoDB Ops Manager にはバケットの保持期間が実際にいつ終了するかのレコードがありません。MongoDB Ops Manager は、独自の グルーミング ロジックがオブジェクトを削除対象と見なすとすぐにオブジェクトを削除しようとしますが、S3 バケットは保持期間が終了するまでその削除を拒否します。MongoDB Ops Manager は、バケットが許可するまで削除を再試行し続けます。

4

Ops Manager がこのoplogストアのオブジェクトに適用するオブジェクト ロック保持モード(GOVERNANCE または COMPLIANCE を選択します。このフィールドはに設定することをお勧めします。ストアを保存すると、Ops Manager は一時的なテスト オブジェクトを使用してバケットの オブジェクト ロック動作を検証します。ただし、Ops Manager はバケットの Object lock 構成を読みディングしないため、ここで設定したモードとバケットに構成されたモードとの間の不一致を検出することはできません。このフィールドは、バケットに構成した保持モードと一致するように手動で設定する必要があります。

5

Ops Manager はストアを保存するときに接続を自動的に検証します。

重要

Object Lock Enabledを選択できるのは、新しいS3 oplog保存 (する)を作成する場合のみです。ストアを保存した後は、この設定を変更できません。Object Retention Period (Days)とObject Retention Modeはいつでも変更できます。

このoplogストアは、不変のoplogバックアップのターゲットとして機能します。MongoDB Ops Managerは、このストアを使用するバックアップのoplogスライスとメタデータの両方をバケットに書き込みます。

既存のバックアップジョブを不変のS3 oplog保存 (する)に再割り当てするには、割り当てラベルを使用します。

1

既存の S3 互換 oplog ストアを編集する プロシージャに従って、不変の S3 oplog ストアにラベルを追加します。

2
  1. Jobs ページで、プロジェクト名をクリックしてプロジェクトの割り当てページを開きます。

  2. Assignment Labelsリストボックスで、 Select Labelsをクリックします。

  3. ラベルを選択します。

  4. [Save Changes] をクリックします。

3

MongoDB Ops Managerは、バックアップを再開した後にのみ、バックアップジョブのoplog保存先をラベルに合わせて再割り当てします。

重要

再割当後、MongoDB Ops Manager が次のスナップショットを取得するまで、PIT 復元することは利用できません。

MongoDB Ops Managerは、各スナップショットのデータとそれを保護するオブジェクトロックメタデータをS3バケットに自動的に書き込み (write)ます。データを手動でエクスポートする必要はありません。特定のスナップショットがオブジェクトロックによって保護されていることを確認するには、次の手順を使用します。

1

確認したいバックアップのView All Snapshots ページを開きます。そして、リストで確認したいスナップショットを検索します。

2

そのスナップショットの Object Lock 列を確認します。列に Yes と表示されている場合、MongoDB Ops Manager はそのスナップショットを不変として管理します。

S3 oplog保存でオブジェクト ロックが有効になっていることを確認するには、oplog ストレージページに移動し、その保存の設定を確認します。

不変のスナップショットとバックアップメタデータを含む既存の S3バケットからデータを復元する必要がある場合は、それらのスナップショットを Ops Manager 配置にインポートできます。このワークフローは、Ops Manager を再構築した後のバックアップの復元など、障害復旧シナリオで使用します。

重要

インポートされたスナップショットは 1 回限りの復元操作でのみ使用されます。Ops Manager は、インポートされたスナップショットのライフサイクルを管理したり、アクティブなバックアップスケジュールに含めたりしません。

1

Admin、Backup、Imported Snapshots をクリックします。

2

ページの右上隅にある Import Snapshot をクリックして、インポートウィザードを開きます。

3

既存のバケットを選択するか、またはAdd S3 bucketを選択して新しいバケットを定義します。バケット名と S3 エンドポイントとなる接続されたデバイスは、スナップショットの S3 保存に設定された値と一致する必要があります。

重要

Add S3 bucket フォームでは、S3 互換読み取りの追加手順と同じフィールド(データストアタイプ、MongoDB ホストするリストまたは URI など)が求められます。これらのフィールドは、復元する MongoDB 配置ではなく、このバケット専用のメタデータ保存を点としている必要があります。

4

バケットからインポートするスナップショットまたはクラスターショットを選択します。

重要

シャードが異なるバケットに保存されているクラスターショットの場合は、各シャードのバケットを個別にインポートします。クラスターショットのすべてのシャードをインポートするまで、追加のバケットをそれぞれ追加し、そのバケットのシャードを一度に1つずつ選択します。

すべてのシャードをインポートするまでは、MongoDB Ops Manager は clustershot を復元可能にしません、また Continuous Backup ページに表示しません。

5

スナップショットをインポートする組織とプロジェクトを選択します。この選択により、インポートされたスナップショットから復元できるプロジェクトが決定されます。

インポートが完了すると、インポートされたスナップショットは、割り当てたプロジェクトの下の Continuous Backup ページに表示されます。MongoDB Ops Manager は、完全にインポートされたクラスターショットのみを表示します。

MongoDB Ops Managerは、インポート元のS3バケットからデータを削除したり、groomしたりすることはありません。インポートされたスナップショットオブジェクトのライフサイクルは、オブジェクトストレージレイヤーで制御します。MongoDB Ops Managerは、独自のアプリケーションデータベースにインポートしたメタデータを削除できます。

不変のoplogを含む既存のS3バケットからポイントインタイム復元データが必要な場合は、それらのoplogをMongoDB Ops Managerの配置にインポートできます。対応するスナップショットを最初にインポートする必要があります。MongoDB Ops Managerは、すでにインポートされたスナップショットを持つクラスターのoplogのみを検出できます。

重要

バケットにリストされているメタデータファイルが、MongoDB Ops Managerがインポートを試みる際に欠落している場合、MongoDB Ops Managerはそのファイルをスキップして警告をログに記録し、インポートジョブをSUCCEEDEDとして報告します。これにより、復元可能な時間範囲にギャップが生じる可能性があり、そのギャップをまたいでポイントインタイム復元を実行しようとしたときに初めて、拒否として表面化します。

1
  1. Go Imported Snapshotsページ(Admin、Backup、Imported Snapshots)に移動します。

  2. すでにインポートしたスナップショットの行で、省略記号(Actions)メニューをクリックします。

  3. [Import Oplogs] をクリックします。

これにより、S3 BucketsタブでImport Oplogsダイアログが開きます。

2

Select an S3 bucket リストから既存のバケットを選択し、Next をクリックします。または、Add S3 bucket を選択して新しいバケットを登録し、Save をクリックしてバケットを登録して続行します。

重要

Add S3 bucketフォームでは、データストアタイプやMongoDB URIなど、S3互換読み取りの追加手順と同じフィールドが求められます。

また、Ops Managerがバケットを保存する前に、S3互換ストレージソリューションに起因する問題をMongoDBがサポートしていないことを確認するチェックボックスをオンにする必要があります。

3

[Import Oplog] タブで、インポートするoplogを選択します。MongoDB Ops Managerは、すでにインポートされたoplogを無効にします。インポートを開始するには、[Finish]をクリックします。

インポートが完了すると、MongoDB Ops Managerのその行に「Manage Oplogs」アクションが表示され、インポートされたoplogを表示または削除できます。

PITR は、ベースラインスナップショットと oplog 保存 (する) に保存されている oplog データを結合します。不変のスナップショットは、ベースラインのスナップショットコンポーネントにのみ影響します:

  • 変更できない S3 読み取りに切り替えると、PITR は既存のスナップショットおよび oplog データから引き続き動作します。古いスナップショットは元の保存先に残存します。また、oplog ストアの構成は変更されません。

  • 新しいストアで最初の完全な不可変スナップショットが完了した後、PITR はそのスナップショットをベースラインとして使用し、構成された oplog ストアから oplog の最新エントリを続けて読み取ることができます。

  • インポートされたスナップショットからの PITR は、対応する不変の oplogs もインポートする場合にのみ利用可能です。その他、インポートされたスナップショットは、MongoDB Ops Manager がスナップショットを作成した正確な点にのみ復元できます。

重要

完全な不変性保護のために、オブジェクト-ロック が有効な oplog 保存 (する)を オブジェクト-ロック が有効な読み取りと合わせて使用します。デフォルトでは、MongoDB Ops Manager はこのペアリングを強制しません。バックアップジョブは、標準の oplog ストアと不変の読み取りを組み合わせて使用でき、PITR はその組み合わせからでも機能します。ペアリングを必須とするには、グローバル管理者が mms.backup.enforceObjectLockOplogsOnObjectLockSnapshot アプリケーション設定を有効にする必要があります。MongoDB Ops Manager は、デフォルトでこの設定を無効化します。オブジェクト ロックが有効な oplog 保存先を作成するには、S3 互换の oplog 保存先を 1 つ追加する 手順に従ってください。

oplog保存先でオブジェクトロックを有効にすると、MongoDB Agentは、そのバックアップジョブに対して過半数コミットされたoplogエントリのみを追跡します。過半数コミットされたエントリはロールバックできないため、この動作により、MongoDB Ops Managerは後のロールバックで削除される可能性のあるoplogエントリをバックアップできなくなります。

不変の S3 スナップショットでは、スナップショットストアを切り替えても、追加のデータ損失シナリオは発生しません。各スナップショットは 1 つのストアから復元されるため、復元ロジックには 1 つのスナップショットに対して複数のバケットのデータは必要ありません。

  • 既存のすべてのスナップショットは元の S3 保存に残り、完全に復元可能です。

  • PITR は、最新の完了したスナップショットと oplog データを使用して動作します。

  • Ops Manager は、新しい保存先への進行中のスナップショットを失敗または不完全としてマークし、復元には使用されません。

  • 元のストア内の最後の正常なスナップショットは、復元可能な最新のスナップショットのままになります。

  • Ops Manager とクラスターが回復すると、Ops Manager は次の スナップショットウィンドウで不変ストアに新しい完全なスナップショットをスケジュールします。

新しいストアの最初のスナップショットは常に完全なスナップショットであり、各スナップショットは単一のストアから復元されるため、復元ロジックは 1 つのスナップショットに複数の S3 バケットのデータを混在させることには依存しません。