Azure DocumentDB Migration ExtensionがGAに:VS CodeでMongoDB移行を進める確認ポイント

Azure DocumentDB Migration Extension in Visual Studio Code は、MongoDB から Azure DocumentDB への移行作業を VS Code 上で進められる拡張機能です。2026年6月に一般提供(GA)となり、移行ジョブの作成、実行、監視、オンライン移行のカットオーバーまでを、開発者になじみのある Visual Studio Code から扱いやすくなりました。特に確認すべきポイントは、オンライン移行では Change Stream が必要なこと、DMS とネットワーク設定が移行成功の鍵になること、カットオーバー前の検証を省略しないことです。(マイクロソフト Azure)

目次

Azure DocumentDB Migration Extension in Visual Studio Codeとは

Azure DocumentDB Migration Extension は、Visual Studio Code から MongoDB ワークロードを Azure DocumentDB へ移行するための拡張機能です。オンプレミス、Azure 上の VM、他クラウド、MongoDB Atlas などの MongoDB 互換ソースから、Azure DocumentDB への移行を支援します。(Microsoft Learn)

従来、データベース移行では、移行ツールの準備、ネットワーク経路の確認、移行ジョブの監視、切り替え手順の作成などを個別に管理する必要がありました。この拡張機能では、VS Code の画面から次の作業をまとめて進められます。

  • 移行前アセスメントの実行
  • 移行対象のデータベース、コレクションの選択
  • オンライン移行またはオフライン移行の選択
  • Azure Database Migration Service(DMS)の選択または作成
  • パブリック接続、プライベート接続の設定
  • 移行ジョブの監視
  • オンライン移行時のカットオーバー操作

Microsoft の公式情報では、この拡張機能は追加の移行インフラを用意せずに、Azure 管理リソース上で移行ジョブを実行できる点が特徴として説明されています。(Microsoft Learn)

今回のGAで何が変わったのか

今回のポイントは、Azure DocumentDB Migration Extension のオンライン移行機能が一般提供になったことです。パブリックプレビュー段階から、より本番移行で使いやすい形に改善されています。(Microsoft for Developers)

主な変更点は次の通りです。

変更点内容実務上の意味
一般提供(GA)プレビューではなく本番利用を前提に使いやすい段階へ本番移行計画の候補に入れやすくなる
大規模移行への対応改善多数のコレクション、大量ドキュメントを扱うケースでの信頼性を改善大規模 MongoDB 環境でも検証対象にしやすい
プライベート接続対応の強化複雑な VNet、ハブスポーク、ファイアウォール構成への対応を拡充セキュリティ要件が厳しい企業環境で検討しやすい
リトライ、チェックポイント改善一時的なネットワーク断や部分的な失敗からの再開性を改善長時間移行時の失敗リスクを下げやすい
Change Stream 同期の強化カーソル期限切れ、再開トークン、長時間同期への耐性を改善オンライン移行の整合性を保ちやすい
UIとエラーメッセージ改善大規模移行時のダッシュボード表示や診断性を改善トラブル時の原因特定がしやすい

ただし、GAになったからといって「設定不要で安全に移行できる」という意味ではありません。移行元 MongoDB の機能互換性、ネットワーク到達性、権限、Change Stream、oplog、カットオーバー手順は、従来通り事前確認が必要です。

影響を受ける利用者とシステム

今回の更新で特に影響を受けるのは、MongoDB または MongoDB 互換データベースを Azure DocumentDB へ移行しようとしている開発チーム、インフラ管理者、クラウド管理者です。

影響が大きいケース

次のような環境では、今回の拡張機能を検討する価値があります。

対象具体例確認すべきこと
MongoDB を Azure へ移行したい開発チーム既存アプリのデータストアを Azure DocumentDB に移すアプリのクエリ、インデックス、接続文字列の変更範囲
オンプレミス MongoDB を運用している企業データセンター内の MongoDB を Azure に集約VPN、ExpressRoute、ファイアウォール、DNS
MongoDB Atlas など他クラウド利用中の組織マルチクラウド整理や Azure 統合を進める移行元の Change Stream、ネットワーク許可、移行期間
セキュアな閉域移行が必要な組織パブリックIPを使わずに移行したいPrivate connectivity、VNet ピアリング、CIDR 重複
大量コレクションを持つ環境数百コレクション、大量ドキュメントの移行事前アセスメント、試験移行、移行時間の見積もり

一方、単発の小規模データ移行や、完全停止できる検証環境では、従来の mongodump / mongorestore などのネイティブ MongoDB ツールの方がシンプルな場合もあります。Microsoft Learn でも、全体移行には mongodump / mongorestore、一部データの移行には mongoexport / mongoimport という選択肢が示されています。(Microsoft Learn)

オンライン移行とオフライン移行の違い

Azure DocumentDB Migration Extension では、オンライン移行とオフライン移行を選択できます。どちらを選ぶかで、停止時間、準備項目、リスクが変わります。

移行方式特徴向いているケース注意点
オンライン移行初期データコピー後も、移行中の変更を Change Stream で同期する本番システムの停止時間を短くしたいChange Stream と十分な oplog が必要
オフライン移行移行開始時点のスナップショットをコピーする停止時間を確保できる、データ更新が少ない移行開始後の更新はコピーされない

本番環境では「止めたくないからオンライン移行」と考えがちですが、オンライン移行には前提条件があります。公式ドキュメントでは、オンライン移行を成功させるには移行元 MongoDB で Change Stream が有効である必要があり、Change Stream がない場合は初期移行後の変更を捕捉できないと説明されています。(Microsoft Learn)

つまり、判断基準は「止められるか」だけではありません。

オンライン移行を選ぶ前に、少なくとも次を確認してください。

  • 移行元 MongoDB で Change Stream が利用できるか
  • 移行期間中の変更を保持できるだけの oplog サイズがあるか
  • 移行対象コレクションへの書き込み量がどの程度か
  • カットオーバー時に一時的に書き込みを止められるか
  • 移行後に件数、サンプルデータ、インデックスを検証する時間を確保できるか

管理者が事前に確認すべき設定

管理者が最初に見るべきなのは、VS Code 拡張機能のインストール可否ではなく、Azure 側の権限、DMS、ネットワーク、認証方式です。ここを曖昧にしたまま進めると、移行ジョブ作成や接続確認の段階で止まりやすくなります。

必要な前提条件

Microsoft Learn では、Azure サブスクリプション、既存の Azure DocumentDB クラスター、Azure DocumentDB Migration Extension のインストールが前提として示されています。また、移行元 MongoDB には readAnyDatabase と clusterMonitor 権限を持つユーザー、移行先 Azure DocumentDB には createCollection、dropCollection、createIndex、insert、listCollections などの権限が必要です。(Microsoft Learn)

管理者は、以下のチェックリストを使うと抜け漏れを減らせます。

確認項目確認内容よくある失敗
Azure サブスクリプション移行先 DocumentDB と DMS を作成・操作できるか権限不足でジョブを作れない
Azure DocumentDB クラスター移行先が作成済みか、接続文字列を取得できるかターゲット未準備のまま移行作業を開始する
Microsoft.DataMigrationリソースプロバイダーが登録済みかDMS 作成時に失敗する
DMS 権限Azure Database Migration Service Contributor などが付与されているかDMS を選択・作成できない
ネットワークパブリック接続かプライベート接続か決めているかファイアウォール、DNS、VNet で詰まる
認証方式移行ジョブで使う認証が対応しているかEntra ID 前提で設計してしまう

特に重要なのは、移行ジョブでは Microsoft Entra ID 認証が現時点でサポートされておらず、ネイティブ DocumentDB 認証を使う必要がある点です。(Microsoft Learn)

開発者が確認すべき移行前アセスメント

開発者にとって最も重要なのは、「データがコピーできるか」よりも「アプリケーションが移行後に正しく動くか」です。Azure DocumentDB は MongoDB 互換をうたっていますが、すべての機能、クエリ、インデックス、運用前提が完全に同じとは限りません。

Azure DocumentDB Migration Extension のアセスメント機能では、未対応の MongoDB 機能、コマンド、クエリ構文、インデックス種別などを検出し、アカウント、データベース、コレクション単位でレポートを生成できます。結果は Critical、Warning、Informational などに分類され、優先順位を付けやすくなっています。([Visual Studio Marketplace][5])

アセスメント結果で見るべきポイント

アセスメントを実行したら、次の観点で確認します。

観点見るべき内容対応例
Critical移行後に動作しない可能性が高い機能クエリ修正、設計変更、移行対象除外
Warning性能や互換性に影響する可能性インデックス見直し、負荷試験
Informational環境情報、制限、参考情報移行計画書に反映
インデックス移行先で期待通り作成されるか重要クエリの実行計画を確認
コレクション数・サイズ移行時間、DMS、ターゲット性能の見積もり代表データでリハーサル

ここでありがちな失敗は、アセスメントを「エラーが出るかどうかの確認」として一度だけ実行し、結果を開発タスクに落とし込まないことです。Critical や Warning が出た場合は、修正担当、期限、検証方法を決めてから本番移行へ進むべきです。

移行ジョブ作成時の実務ポイント

Azure DocumentDB Migration Extension の移行ウィザードでは、主に次の流れで移行ジョブを作成します。

手順作業内容確認ポイント
ソース接続VS Code の DocumentDB Connections に移行元 MongoDB を追加接続文字列、TLS、認証情報
移行拡張機能の起動接続を右クリックし Data Migration を選択正しい接続を選んでいるか
ジョブ作成ジョブ名、移行方式、接続方式を選択Online / Offline、Public / Private
ターゲット選択Azure DocumentDB アカウントと接続文字列を指定ファイアウォール許可
DMS 選択既存 DMS または新規 DMS を選択同一リージョン、権限
接続設定パブリックまたはプライベート接続を構成IP許可、VNet、CIDR
コレクション選択移行対象コレクションを選ぶ作成後に追加できない点に注意
確認・開始内容を確認して移行開始誤ったDBやコレクションを選んでいないか

公式ドキュメントでは、移行ジョブ作成後にコレクション一覧を追加できないため、含めるべきコレクションを事前にすべて選択するよう注意されています。(Microsoft Learn)

小さな検証では問題になりにくいものの、本番では「関連コレクションを1つ選び忘れた」だけでアプリの一部機能が動かなくなることがあります。ユーザー、注文、商品、セッション、監査ログのように、アプリ側で暗黙に依存しているコレクションも棚卸ししてください。

パブリック接続とプライベート接続の選び方

接続方式は、移行の成否を左右します。Azure DocumentDB Migration Extension では Public と Private を選択できます。

接続方式使うべきケース主な作業注意点
Public移行元・移行先がパブリックIP経由で到達可能DMS の静的IPをファイアウォール許可セキュリティポリシー上許可されるか確認
Private移行元または移行先がプライベートIPのみVNet ピアリング、CIDR、PowerShell スクリプト実行DNS、NSG、ルート、CIDR重複に注意

パブリック接続では、ウィザードに表示される DMS の静的 IP アドレスを、移行元 MongoDB と Azure DocumentDB のファイアウォール許可リストに追加します。(Microsoft Learn)

プライベート接続では、DMS が移行ジョブごとに専用の一時的な仮想ネットワークを作成し、移行元・移行先の VNet とピアリングします。セキュリティ面では有利ですが、CIDR 重複、DNS、NSG、ルーティング、ハブスポーク構成の制約を確認する必要があります。特にプライベート接続では、1つの仮想ネットワークで同時に実行できるアクティブな移行ジョブは1つという制約があります。(Microsoft Learn)

オンライン移行時のカットオーバーで失敗しやすいポイント

オンライン移行では、初期データコピーの後、Change Stream によって移行中の更新を追従します。公式ブログでは、移行は「Initial Bulk Copy」と「Change Stream Sync」の2段階で進み、ターゲットが追いついたタイミングでカットオーバーする流れと説明されています。(Microsoft for Developers)

ただし、カットオーバーは単にボタンを押せば終わる作業ではありません。次の順序を守ることが重要です。

順序作業判断基準
事前確認初期ロード完了を確認すべての対象コレクションで初期コピーが完了
書き込み停止移行元への新規書き込みを止めるアプリ、バッチ、管理ツールからの書き込みも停止
同期待ちレプリケーション差分が小さくなるまで待つReplication Changes Played が安定
データ検証件数、サンプル、重要データを照合期待値と一致している
接続先変更アプリの接続文字列を Azure DocumentDB に変更読み取り、書き込み、主要機能の動作確認
監視エラー、遅延、スループットを確認異常があれば即時判断できる体制

公式ドキュメントでも、ソースとターゲットが同期していることを検証せずにカットオーバーするとデータ損失につながる可能性があると注意されています。(Microsoft Learn)

実務では、カットオーバー直前に「まだ書き込みが残っていた」「夜間バッチが動いていた」「管理者が手動更新していた」というケースが起きがちです。アプリ本体だけでなく、バッチ、ETL、管理画面、外部連携、運用スクリプトも停止対象に含めてください。

展開時に決めておくべき運用ルール

VS Code 拡張機能として提供されるため、開発者が簡単に試せる一方で、組織利用ではルール整備が必要です。特に本番データを扱う場合、誰でも移行ジョブを作れる状態は避けるべきです。

組織で決めるべきルール

項目推奨ルール理由
拡張機能の利用者移行担当者に限定誤操作や不要な接続情報の拡散を防ぐ
接続文字列の扱い個人メモやチャットに貼らない資格情報漏えいを防ぐ
DMS 作成権限管理者または移行リードに限定不要なリソース作成を防ぐ
本番移行の実行承認済み手順書に基づいて実施カットオーバー時の混乱を防ぐ
ログの保管トラブル調査用に場所を把握障害時の原因分析に必要
テレメトリ組織ポリシーに従って設定利用データ送信の要否を管理

Visual Studio Marketplace の情報では、VS Code の利用データ送信を無効にしたい場合は telemetry.enableTelemetry を false に設定できると説明されています。組織のプライバシー・監査ポリシーに応じて確認しておきましょう。([Visual Studio Marketplace][5])

移行前に作っておきたいチェックリスト

本番移行では、ツールの使い方よりも「準備が完了しているか」の方が重要です。以下のチェックリストを使うと、管理者と開発者の認識をそろえやすくなります。

フェーズチェック項目
計画移行対象DB、コレクション、除外対象を一覧化した
計画オンライン移行かオフライン移行かを決めた
計画カットオーバー日時、停止時間、判断者を決めた
アセスメント移行前アセスメントを実行した
アセスメントCritical / Warning の対応方針を決めた
権限MongoDB 側の読み取り・監視権限を用意した
権限Azure DocumentDB 側の作成・挿入・インデックス権限を確認した
AzureMicrosoft.DataMigration が登録済みである
AzureDMS のリージョンと権限を確認した
ネットワークPublic / Private の接続方式を決めた
ネットワークファイアウォール、DNS、NSG、CIDR を確認した
リハーサル代表データで試験移行を実施した
検証件数比較、サンプル比較、インデックス確認の方法を用意した
アプリ接続文字列の変更手順を確認した
運用切り戻しではなく、停止判断・延期判断の基準を決めた

特に「切り戻し」を簡単に考えないことが重要です。Microsoft Learn のベストプラクティスでも、カットオーバーは慎重に計画すべきで、書き込み移行後のロールバックを前提にしないよう注意されています。(Microsoft Learn)

すぐに取るべき次のアクション

Azure DocumentDB Migration Extension in Visual Studio Code のGAは、MongoDB から Azure DocumentDB への移行を検討しているチームにとって、移行計画を具体化しやすくする更新です。特に、VS Code 上でアセスメントから移行ジョブ管理まで進められるため、開発者と管理者が同じ画面を見ながら移行作業を進めやすくなります。

まずは本番移行ではなく、次の順で確認するのが安全です。

  1. VS Code に Azure DocumentDB Migration Extension を導入する
  2. 移行元 MongoDB に対して移行前アセスメントを実行する
  3. Critical / Warning の内容を開発タスクに分解する
  4. 代表データで試験移行を行い、移行時間と性能を測る
  5. ネットワーク、DMS、権限、カットオーバー手順を確定する
  6. 本番移行は低トラフィック時間帯に、検証手順付きで実施する

GAになったことで検討しやすくなった一方、成功の鍵はツール導入そのものではなく、移行前アセスメント、ネットワーク設計、Change Stream確認、検証可能なカットオーバー手順にあります。MongoDB ワークロードを Azure DocumentDB へ移す予定があるなら、まずはアセスメントを実行し、移行対象とリスクを見える化するところから始めるのが現実的です。
[5]: https://marketplace.visualstudio.com/items?itemName=ms-azurecosmosdbtools.vscode-mongo-migration “
Azure DocumentDB Migration – Visual Studio Marketplace
“

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次