Ops Manager は、スナップショット データを S3バケットにブロックとして書き込み、Ops Managerアプリケーションデータベースでメタメタデータを追跡することで、S3 または S3 と互換性のあるオブジェクトストアにスナップショットを保存できます。不変の S3 スナップショットを使用すると、Ops Manager は S3 Object lock または同等と統合され、次の機能を提供します。
スナップショット データとバックアップメタデータをS3バケットにまとめて保存します。
オブジェクトストアによって強制される、定義された保持期間が終了するまでスナップショット オブジェクトを削除または変更から保護します。
障害復旧または移行のために、 Object-Lock が有効化されているバケットから新しいまたは再構築された Ops Manager の配置にスナップショットをインポートします 。
この機能を使用して、ランサムウェア攻撃や演算子エラーなど、悪意のある削除または誤って削除からバックアップを保護します。 S3 に保存しているもののみを使用して、新しい Ops Managerインスタンスにバックアップを復元できます。
重要
この機能には Ops Manager 8.0.19 以降が必要です。
不変の S3 スナップショットの仕組み
Object-Lock 対応バケットで S3読み取りを構成し、不変のバックアップを有効にすると、次の操作が実行されます。
Ops Manager は、Ops Managerアプリケーションデータベースのみにメタデータを保持するのではなく、スナップショット ブロックと復元に必要なメタデータを S3バケットに書込みます。
構成すると、Ops Manager はスナップショットごとに オブジェクト ロックの保持を延長し、バックアップジョブの保持ウィンドウが終了する前にオブジェクトストアによる削除または変更を防止します。
Ops Manager は、S3バケットに保存されているデータのみを読み取ることで、これらの不変のスナップショットを検出し、事前に入力されたバケットから別の Ops Managerインスタンスにインポートできます。
前提条件
不変の S3 スナップショットを使用するには、次の条件があることを確認してください。
Ops Manager 8.0.19 以降(スナップショットの不変性と S3 インポートのサポートを含む)
Ops Manager で構成された S3読み取り(ブロックストア)。不変のスナップショットは S3 ベースのスナップショット ストアのみをサポートし、 MongoDBブロックストアやファイルシステム スナップショット ストアはサポートしません。
バケットでオブジェクト ロックが有効になっている、 AWS S3 または互換性のあるアプライアンスなどのオブジェクト ロックをサポートするオブジェクト ストア。ほとんどの S3 プロバイダーでは、オブジェクト ロックが機能するためにオブジェクト バージョン管理が必要であり、一部のプロバイダーではバケット作成時のみオブジェクト ロックが許可されます。
標準バックアップ要件。たとえば、適切なノードでバックアップが有効になっているMongoDB Agent や、ポイントインタイムリカバリ(PITR)用の oplog (操作ログ)ストアなど。
重要
不変の S3 スナップショットは、スナップショット データのみを保護します。 PITR に使用される oplog スライスは、オブジェクト ロックをサポートしていない構成されたoplogストアを引き続き使用します。 oplog に Object-Lock 対応のバケットを使用すると、 oplog削除パスに障害が発生する可能性があります。
Considerations
不変の S3 スナップショットを計画する場合は、次の項目を考慮してください。
回帰の不変はありません。 Ops Manager は、 不変のバックアップを有効にすると、バケットに書き込まれたスナップショットのみを Object lock で保護します。 Ops Manager は既存のスナップショット オブジェクトにオブジェクト ロックを適用しません。
オブジェクト ロックの構成。 Ops Manager は、オブジェクト3 ロックをサポートしていない S バケットに対して不変性を提供しません。バケットでオブジェクト ロックを個別に構成する必要があります。 Ops Manager でオブジェクト ロック設定を構成するか、作成後にバケット設定を更新しても、バケットでオブジェクト ロックは有効になりません。
既存のデータの自動移行はありません。 3S3 ストア間のバックアップ移行 機能を使用すると、バックアップジョブが将来のスナップショットに使用する S 読み取りを変更できます。バケット間で既存のスナップショット データをコピーしたり移動したりすることはありません。
マネージド ストアの保持とオブジェクト ロック。バックアップジョブ保持ポリシーに従ってスナップショットが期限切れになると、Ops Manager はそのスナップショットの表示を停止し、関連するオブジェクトの削除を試みます。 MongoDB Ops Manager は、オブジェクト ロック保持期間が終了した後にのみオブジェクトを削除できます。
インポートされたストアを保持します。 Ops Manager はインポートされたストアからデータを削除しません。保持は、Ops Manager でのメタデータの可視性のみに影響します。
不変の S3 スナップショットの構成
不変の S3 スナップショットを構成するには、次のタスクを実行します。
Ops Manager で不変のバックアップを有効にします。
Object-Lock 対応の S3バケットを作成します。
Ops Manager で新しい S3読み取りを構成します。
既存のバックアップジョブを不変の S3 ストアに切り替えます。
不変バックアップの有効化
Ops Manager の機能フラグは、不変のバックアップを制御します。 S3読み取りを構成する前に、このフラグを有効にする必要があります。
オブジェクトロック対応の S3 バケットの作成
注意
Ops Manager では、既存の S3読み取りに対してオブジェクト ロックを有効にすることはできません。すでにバックアップに S3バケットを使用しているが、不変のスナップショットが必要な場合は、 Object lock を有効にして新しいバケットを作成し、新しい S3読み取りを構成します。
Ops Manager で新しい S3 スナップショット ストアを構成する
この読み取りは、不変のスナップショットのターゲットとして機能します。 Ops Manager は、このストアを使用するバックアップのスナップショット ブロックとメタデータの両方をバケットに書込みます。
注意
MongoDB Ops Manager 操作のメタデータストアとして機能するには、引き続きMongoDBインスタンスが必要です。
既存のバックアップジョブを不変 S3 ストアに切り替える
不変のスナップショットで保護するバックアップジョブごとに、次の操作を行います。
ストアを切り替えるときは、次のことを行います。
既存のスナップショットは古いストアに残ります。 Ops Manager は、 を切り替える前に取得したスナップショットを移動しません。これらは元の S3 バケットに残り、構成された保持ポリシーに基づいて有効期限が切れるまで、そのストアから復元します。
新しいストアの最初のスナップショットはいっぱいになっています。これにより、Ops Manager はそのスナップショットのすべてのブロックを単一の S3 読み取りに保存することが保証されます。各復元では 1 つのストアからのみデータが取得されます。
それ以降のスナップショットは増分です。新しいストアの最初の完全なスナップショットの後のスナップショットでは、増分バックアップ動作が使用されます。
障害復旧のためのスナップショットのインポート
不変のスナップショットとバックアップメタデータを含む既存の S3バケットからデータを復元する必要がある場合は、それらのスナップショットを Ops Manager 配置にインポートできます。このワークフローは、Ops Manager を再構築した後のバックアップの復元など、障害復旧シナリオで使用します。
重要
インポートされたスナップショットは 1 回限りの復元操作でのみ使用されます。 Ops Manager は、インポートされたスナップショットのライフサイクルを管理したり、アクティブなバックアップスケジュールに含めたりしません。
Ops Manager は、インポートされたストアからデータを削除したりグルームを作成したりしません。インポートされたスナップショット オブジェクトのライフサイクルはオブジェクトストレージレイヤーで制御します。
PITR との相互作用
ポイントインタイム復元(PITR)は、ベースライン スナップショットとoplogストアに保存されているoplogデータを組み合わせたものです。不変スナップショットは、ベースライン スナップショット コンポーネント のみ に影響します。
不変の S3読み取りに切り替えても、PITR は既存のスナップショットとoplogデータを引き続き使用します。古いスナップショットは元のストアに残り、 oplogストアの構成は変更されません。
新しいストアで最初の完全な不変スナップショットが完了すると、PITR はそのスナップショットをベースラインとして使用し、構成されたoplogストアから oplog のテーリングを続行できます。
インポートされたスナップショット では ITR は使用できません。インポートされたスナップショットは、Ops Manager がスナップショットを作成した正確な点にのみ復元できます。
障害シナリオとリカバリ
不変の S3 スナップショットでは、スナップショットストアを切り替えても、追加のデータ損失シナリオは発生しません。各スナップショットは 1 つのストアから復元されるため、復元ロジックには 1 つのスナップショットに対して複数のバケットのデータは必要ありません。
新しいストアの最初のスナップショットの前のクラッシュ
既存のすべてのスナップショットは元の S3 ストアに残り、完全に復元可能です。
PITR は、最新の完了したスナップショットとoplogデータを対象に動作します。
新しいストアでの最初の完全なスナップショット中にクラッシュが発生
Ops Manager は、新しいストアへの進行中のスナップショットを失敗または不完全としてマークし、復元には使用しません。
元のストア内の最後の正常なスナップショットは、復元可能な最新のスナップショットのままになります。
Ops Manager とクラスターが回復すると、Ops Manager は次の スナップショットウィンドウで不変ストアに新しい完全なスナップショットをスケジュールします。
新しいストアの最初のスナップショットは常に完全なスナップショットであり、各スナップショットは単一のストアから復元されるため、復元ロジックは 1 つのスナップショットに複数の S3 バケットのデータを混在させることには依存しません。