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