Direct to S3 バックアップを有効にすると、MongoDB AgentはOps Managerが提供する事前署名付きURLを使用して、スナップショットブロックをS3に直接アップロードします。Ops Managerは、事前署名付きURLの生成、ブロックマニフェストの追跡、完了の通知など、アップロードのメタデータのみを取り扱います。スナップショットのデータパスはOps Managerをバイパスし、Ops Managerサーバーを経由しなくなります。これにより、大規模な配置や頻繁なバックアップ予定におけるプロキシのボトルネックが解消されます。
このトピックでは、Direct to S3 バックアップを有効にする方法と、その任意の設定を構成する方法について説明します。
重要
Direct to S3 バックアップには、MongoDB Ops Manager 9.0.0以降、またはMongoDB Ops Manager 8.0.27以降と、バックアップを実行するすべてのホスト上のMongoDB Agentの最小バージョンが必要です。
MongoDB Ops Managerバージョン | MongoDB Agentの最小バージョン |
|---|---|
9.0 |
|
8.0 |
|
Direct to S3 バックアップの仕組み
バックアップジョブでDirect to S3 バックアップが有効になっており、配置上のMongoDB Agentが最小バージョン要件を満たしている場合、MongoDB Ops Managerは次のアクションを実行します。
MongoDB Ops Managerは、スナップショットブロックストア用に構成されたS3認証情報を使用して、署名付きアップロードURLを生成します。このURLは、ブロックストアが使用するのと同じS3バケットを指しています。
MongoDB Ops Managerは、バックアップカーソルの説明に
uploadPath=AGENT_DIRECT_S3を設定します。MongoDB Agentはこの値を読み取り、ジョブのアップロードパスをフリーズし、それらの署名済みURLを使用してスナップショットブロックをS3に直接アップロードします。MongoDB Ops Manager は、ブロックマニフェスト API を介してアップロードの完了を追跡します。
/dataBlocksプロキシアップロードの呼び出しは発生しません。
MongoDB AgentはスナップショットデータをS3に直接アップロードするため、MongoDB Ops Managerはバックアップのデータパスに介在しなくなりました。MongoDB Ops Managerは、バックアップのメタデータのみを担当します。
共存とフォールバック
S3 Backupへの直接バックアップと、MongoDB Ops Manager経由でデータをストリーミングする標準バックアップは共存可能です。
Direct to S3 バックアップを有効にしたジョブで、MongoDB Agentのバージョンが最小要件を下回っている場合、MongoDB Ops Managerは標準パスにフォールバックします。このフォールバックは、MongoDB Agentをアップグレードするまで続きます。バージョンが混在するフリートでも、バックアップは引き続き正常に実行されます。
バージョン要件を満たす配置では、Direct to S3 バックアップ が使用されます。
バージョン要件を満たさない配置では、標準のデータパスが使用されます。MongoDB Agentをアップグレードした後、最初のスナップショットでジョブは自動的にDirect to S3 バックアップに切り替わります。追加のアクションは必要ありません。すでに進行中のスナップショットは、元のアップロードパスで完了します。
さらに、以下に説明するように、ジョブの Direct to S3 バックアップを手動で有効または無効にできます。
注意
Direct to S3 バックアップは、スナップショットブロックデータにのみ適用されます。点インタイムリカバリ用のoplogデータは、構成されたoplog保存 (する)を介した標準のバックアップパスを引き続き使用します。
前提条件
Direct to S3 バックアップを有効にする前に、以下を確認してください。
MongoDB Ops Manager 9.0.0 以降または MongoDB Ops Manager 8.0.27 以降を実行していることを確認してください。
バックアップを実行するすべてのホストするで、Ops Manager 9.0 の配置には MongoDB Agent バージョン
109.0.0.9279-1以上、Ops Manager 8.0 の配置には108.0.27.9088-1以上を確保してください。配置にS3 読み取り(ブロックストア)があることを確認します。MongoDB Ops Managerは、ブロックストアが使用するのと同じS3バケットと認証情報を使用します。
バックアップ ホストのネットワーク アクセス
バックアップを実行する各ホストするは、次のことができる必要があります。
S3 または S3 互換エンドポイントとなる接続されたデバイスの DNS 名を解決する
そのエンドポイントとなる接続されたデバイスへのアウトバウンド HTTPS 接続を確立します
MongoDB Ops Manager が生成する S3 プリサインド URL を使用してデータをアップロードする
Direct to S3 バックアップを有効にすると、大容量のアップロードパスはMongoDB Ops ManagerアプリケーションサーバーからMongoDB Agentを実行するすべてのホストするに移動します。以前は、MongoDB Ops ManagerサーバーのみがS3へのネットワークアクセスを必要としていました。この機能を有効にする前に、バックアップをホストするものからS3エンドポイントとなる接続されたデバイスへのアウトバウンド接続を確認してください。
MongoDB エージェントは S3 アクセス キーまたは IAM ロールを必要としません。MongoDB Ops Manager は、読み取りに設定された S3 認証情報を使用して、すべての事前署名付き URL を生成します。それらの認証情報は、読み取りだけでなく、バケット上での pre-signed PUT 操作も許可する必要があります。
S3 への直接バックアップを有効にする
Direct to S3 バックアップを有効にするには、次の手順を実行します。
Direct to S3 バックアップ機能フラグを有効にします。
MongoDB Ops Manager Admin コンソールで、General と Ops Manager Config をクリックします。
[Custom] タブをクリックします。
Direct to S3 バックアップをグローバル レベルまたはプロジェクト レベルで有効化するために、次のいずれかのキーと値のペアを1つ追加してください。
アクセス レベルキー値プロジェクト
mms.featureFlag.backup.d2s3controlledグローバル
mms.featureFlag.backup.d2s3enabled[Save] をクリックします。
(条件付き)プロジェクトで S3 への直接バックアップを有効にします。
前のステップでフラグを controlled に設定した場合は、プロジェクト設定でこの機能を有効にしてください。
MongoDB Ops Managerプロジェクトで、Settings をクリックします。
[Beta Featuresタブ]をクリックし、Backup Direct To S3 をクリックします。
(条件付き)既存のバックアップジョブでDirect to S3 バックアップを有効にします。
Direct to S3 バックアップを有効にしたプロジェクトでは、新しいバックアップジョブはDirect to S3 バックアップが既に有効な状態で開始されます。各新規ジョブの最初のスナップショットはS3に直接アップロードされるため、ジョブごとのアクションは不要です。
この機能を有効にする前に存在していたバックアップジョブは、既存の設定を保持します。任意のジョブでDirect to S3 バックアップを有効または無効にすることもできます。ジョブの設定を変更するには、次の手順を実行します。
Admin、Backup、Jobs をクリックします。
対象のジョブについて、Direct S3 Backup 行を見つけます。この行は、ジョブの読み取りが S3 ブロックストアである場合にのみ表示されます。
Direct S3 Backupを Enabled または Disabled に設定します。
シャーディングされたクラスターの場合は、Apply to all cluster members を選択して、すべてのシャードおよびコンフィギュレーションサーバーで機能を有効にします。
[Save] をクリックします。
すべてのホストするでエージェントのバージョンを確認します。
バージョンを確認し、バックアップを実行するすべてのMongoDB Agentが、MongoDB Ops Managerの配置に必要な最小バージョンを満たしていることを確認してください。
次の表は、バックアップジョブがDirect to S3 バックアップを使用する場合をまとめたものです。
Scenario | アップロードパス |
|---|---|
プロジェクトでこの機能を有効にした後に作成されたジョブ | S3 バックアップに直接移動し、最初のスナップショットから開始します |
プロジェクトでこの機能を有効にする前に作成されたジョブ | ジョブで Direct to S3 バックアップ を有効にするまでの標準パス |
Direct to S3 バックアップが有効で、最小バージョンを下回るMongoDB Agentを使用しているジョブ | MongoDB Agentをアップグレードするまでの標準パス。アップグレード後の最初のスナップショットで、ジョブはDirect to S3 バックアップに切り替わります。 |
任意の設定を管理する
以下の任意設定は、Direct to S3 バックアップアップロードのパフォーマンスを調整します。
mms.backup.d2s3.transfer.numWorkersDirect to S3 バックアップアップロードにMongoDB Agentが使用する並列アップロードワーカーの数。デフォルト:
2。ジョブごとのオーバーライドを設定することもできます。この設定は、他の
mms.backup.*プロパティとともにMongoDB Ops Manager構成ファイルで構成します。このプロパティを設定すると、MongoDB Agentはその正確な数のワーカーを使用し、独自の自動チューニングをスキップします。設定しない場合、MongoDB AgentはホストするのCPUとメモリに基づいてワーカー数をサイズ設定します。mms.backup.d2s3.transfer.maxNumUnitOfWorkBlocksDirect to S3アップロードパスの作業単位あたりの最大ブロック数。設定されていない場合、MongoDB Agentは内部デフォルトの
100にフォールバックします。以下のいずれかを使用してこの設定を構成します。
グローバル MongoDB Ops Manager 構成設定を MongoDB Ops Manager インターフェース で適用します。
Jobs ページで、WTCheckpoint Config ダイアログを使用して、ジョブ別の設定を適用します。
注意
S3への同時接続数は、同時に実行されるバックアップジョブの数に応じて増加します。配置で多数のバックアップジョブを同時に実行する場合、S3接続の合計数が多くなる可能性があります。
操作上の考慮事項
パフォーマンスとサイズ設定
MongoDB Ops Managerの負荷: MongoDB Ops Managerのアプリケーションサーバーはスナップショットブロックのペイロードを保持しなくなりましたが、事前署名、マニフェストの検証、ジョブの状態、メタデータの書き込み (write)は引き続き取り扱います。コントロールプレーンのワークロードに合わせてMongoDB Ops Managerのサイズを調整します。
エージェント ホスト サイジング: S3 バックアップへの直接バックアップでは、MongoDB Ops Manager サーバーから圧縮、ハッシング、TLS、および平行 S3 アップロードが MongoDB Agent を実行する各ホストへ移動されます。機能を有効にする前に、これらのホストに、追加のワークロードに対応できる十分な CPU、メモリ、およびアウトバウンド ネットワーク キャパシティーがあることを確認してください。ベースラインのスナップショット時間とリソース使用量を取得して、Direct to S3 を有効にした後の影響を比較できるようにします。
mms.backup.d2s3.transfer.numWorkersが設定されていない場合、MongoDB Agent は、ホストが使用を許可されている CPU とメモリに基づいて、バックアップワーカーの数を自動的にサイズ設定します。その許容量の 4 vCPU あたり約 1 つのワーカーから開始され、最大 16 つのワーカーまでとなります。各ワーカーはピーク時に約 1 つの CPU コアを使用できるため、ホストの許可された CPU キャパシティーの少なくとも 25% をバックアップ用に確保するように計画してください。スナップショット中は、MongoDB AgentのCPU使用率とデータベースのレイテンシをモニターしてください。MongoDB AgentがCPUバウンドである場合、またはデータベースのレイテンシが増加した場合は、キャパシティーの追加または
numWorkersの削減を検討してください。
ネットワーク パス:総バックアップ スループットは、各 MongoDB エージェントから S3 へのパスの合計です。お使いの S3 エンドポイントとなる接続されたデバイス、VPC エンドポイントとなる接続されたデバイス、またはプロキシが、同時にバックアップするすべてのホストで予想される同時実行数を取り扱うことができることを確認します。
セキュリティと IAM
MongoDB Ops Managerの権限: 読み取り用に構成されたS3認証情報は、スナップショットに使用されるバケットとプレフィックスに対する事前署名付き
PUT操作を許可する必要があります。MongoDB Agentの権限: MongoDB AgentはS3認証情報を持っていません。MongoDB Ops Managerは、すべてのブロックのアップロードと検証に対して事前署名付きURLを生成します。
不変性: S3 への直接バックアップは S3 オブジェクト ロックと互換性があります。不可変スナップショットに必要なオブジェクトバージョン ID は、ブロックマニフェストに記録されます。
詳細
復元中にS3から直接スナップショットデータをダウンロードするコンパニオン機能の詳細について学ぶには、「Direct from S3 Restore」を参照してください。
Ops Managerでのバックアップの仕組みを学ぶには、「バックアッププロセス。」を参照してください。
必要なバックアップリソースの詳細については、「S3 互換スナップショットストレージの管理」を参照してください。