このドキュメントでは、MongoDB ワークロードを Azure DocumentDB オファリングにリフト アンド シフトするためのさまざまなオプションについて説明します。
移行は、次の 2 つの方法で実行できます。
オフライン移行: スナップショットベースの送信元から送信先トへの一括コピー。 スナップショット後にソース上で追加/更新/削除された新しいデータは、送信先にコピーされません。 必要なアプリケーションのダウンタイムは、一括コピー アクティビティの完了にかかる時間によって異なります。
オンライン移行: オフライン移行で行われる一括データ コピー アクティビティとは別に、変更ストリームですべての追加/更新/削除が監視されます。 一括データ コピーが完了すると、変更ストリーム内のデータがターゲットにコピーされます。 このプロセスにより、移行プロセス中に行われたすべての更新もターゲットに確実に転送されます。 アプリケーションに必要なダウンタイムは最小限です。
移行前の評価
互換性評価を実行するには、 Azure DocumentDB Migration 拡張機能 を使用します。 このステージの目的は、現在の MongoDB ソリューションに存在する非互換性または警告を特定することです。 移行プロセスに進む前に、評価結果で見つかった問題を解決する必要があります。
ヒント
サポートされている MongoDB クエリ言語 (MQL) の機能と構文を詳細に確認し、実際の移行の前に概念実証を実行することをお勧めします。
Migration
この記事で説明するツールは、次のソースから MongoDB ワークロードを移行する際に役立ちます。
- MongoDB 仮想マシン
- MongoDB Atlas
- AWS DocumentDB
Azure DocumentDB 移行拡張機能
Azure DocumentDB Migration Extension (パブリック プレビュー) を使用して Visual Studio Code で移行ジョブを作成および管理します。これは、シンプルさ、セキュリティ、ダウンタイムゼロを目的として設計されたソリューションです。
このツールは、サービスを中断することなくワークロードを移行するのに役立つ、明確で詳細なガイダンスを提供します。 次のようにすることができます。
- 移行する特定のデータベースとコレクションを選択する
- 使い慣れた VS Code インターフェイス内のすべての手順を実行する
- プロセス全体を通じて セキュリティで保護された接続 を確保する
- 拡張機能を使用するための ゼロ コスト をお楽しみください
Azure DocumentDB 移行拡張機能を使用すると、管理とセキュリティを維持しながら、インフラストラクチャや複雑さを増すことなく、移行の過程を合理化できます。
Web アプリ ユーティリティ (オンライン)
効率、信頼性、使いやすさを考慮して設計された MongoMigrationwebBasedUtility ツールを使用して、Azure DocumentDB への移行を効率化します。 リポジトリには、ワークロードを移行するための詳細な手順が用意されています。 このツールは、オンラインとオフラインの両方のデータ移行にシームレスなエクスペリエンスを提供します。 このプロセスはユーザー フレンドリであり、ソースとターゲットの詳細のみを指定する必要があります。 これにより、制御、セキュリティ、スケーラビリティを維持しながら MongoDB コレクションを簡単に移行でき、Azure DocumentDB の可能性を最大限に引き出します。
主な機能は次のとおりです。
- セキュリティを強化するために、仮想ネットワーク内のプライベートデプロイをサポートします
- 接続の損失または一時的なエラーがある場合の自動再開機能
- ユーザーフレンドリなインターフェイス
- GitHub 上の C# ソース コードへのアクセス
このツールは柔軟なデプロイ オプションをサポートし、他の Azure リソースに依存することなく独立して動作します。 さらに、カスタマイズ可能な Azure Web App の価格プランでスケーラブルなパフォーマンスを提供します。
ネイティブ MongoDB ツール (オフライン)
mongodump/mongorestore、mongoexport/mongoimport などのネイティブ MongoDB ツールを使用して、(ライブ変更をレプリケートせずに) データセットを Azure DocumentDB オファリングにオフラインで移行することもできます。
| Scenario | MongoDB ネイティブ ツール |
|---|---|
| データベース データのサブセットを移動する (JSON/CSV ベース) | mongoexport と mongoimport |
| データベース全体を移動する (BSON ベース) | mongodump と mongorestore |
-
"mongoexport と mongoimport" は、MongoDB データベースのサブセットを移行するための最適な移行ツールのペアです。
- mongoexport は、既存のデータを人間が判読できる JSON ファイルまたは CSV ファイルにエクスポートします。 mongoexport は、エクスポートする既存のデータのサブセットを指定する引数を受け取ります。
- mongoimport は JSON または CSV ファイルを開き、ターゲット データベース インスタンス (この場合は Azure DocumentDB) にコンテンツを挿入します。
- JSON と CSV はコンパクトな形式ではありません。 mongoimport が Azure DocumentDB にデータを送信すると、過剰なネットワーク料金が発生する可能性があります。
-
"mongodump と mongorestore" は、MongoDB データベース全体を移行するための最適な移行ツールのペアです。 コンパクトな BSON 形式では、データが Azure DocumentDB に挿入されるため、ネットワーク リソースをより効率的に使用できます。
- mongodump は、既存のデータを BSON ファイルとしてエクスポートします。
- mongorestore は、BSON ファイル ダンプを Azure DocumentDB にインポートします。
注
MongoDB ネイティブ ツールでは、ホスト ハードウェアで可能な速度でのみデータを移動できます。
関連コンテンツ
- ネイティブ MongoDB ツールを使用して Azure DocumentDB にデータを移行します。
- MongoMigrationwebBasedUtility を使用して Azure DocumentDB にデータを移行します。