Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm verwenden Sie die Azure DocumentDB-Migrationserweiterung in Visual Studio Code, um Migrationsaufträge aus einer lokalen oder Cloudinstanz von MongoDB zu Azure DocumentDB zu erstellen und zu verwalten. Diese Erweiterung bietet eine entwicklerfreundliche Schnittstelle zum Ausführen von Migrationen ohne Dienstunterbrechungen. Die Erweiterung beseitigt die Notwendigkeit zusätzlicher Infrastruktur und bietet sichere Konnektivität, nullkostenfreie Nutzung und präzise Kontrolle darüber, welche Datenbanken und Sammlungen migriert werden sollen.
Der Schwerpunkt dieses Artikels liegt auf der Verwendung des integrierten Workflows der Erweiterung, um Migrationsschritte direkt in Visual Studio Code zu vereinfachen. Dieser Ansatz eignet sich ideal für Szenarien, in denen Sie eine optimierte, verwaltete Erfahrung mit minimaler Komplexität und maximaler Zuverlässigkeit wünschen.
Voraussetzungen
Ein Azure-Abonnement
- Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
Ein vorhandener Azure DocumentDB-Cluster
- Wenn Sie keinen Cluster haben, erstellen Sie einen neuen Cluster.
- Installieren Sie die Azure DocumentDB-Migrationserweiterung auf Ihrem Computer. Dadurch wird automatisch die Voraussetzung, die Erweiterung DocumentDB für Visual Studio Code, installiert.
Bevor Sie die Migration starten, bereiten Sie Ihr Azure DocumentDB-Konto und Ihre vorhandene MongoDB-Instanz für die Migration vor.
MongoDB-Instanz (Quelle)
- Führen Sie die Vormigrationsbewertung aus, um festzustellen, ob zwischen Ihrer Quellinstanz und Ihrem Zielkonto Inkompatibilitäten und Warnungen vorliegen.
- Fügen Sie einen Benutzer mit
readAnyDatabaseundclusterMonitorBerechtigungen hinzu, es sei denn, ein Benutzer ist bereits vorhanden. Sie verwenden diese Anmeldeinformationen beim Erstellen von Migrationsaufträgen in der Erweiterung.
Azure DocumentDB (Ziel)
- Sammeln Sie die Anmeldeinformationen des Azure DocumentDB-Kontos.
- Stellen Sie sicher, dass der Benutzer über
createCollection,dropCollection,createIndex,insertundlistCollectionsBerechtigungen verfügt.
Von Bedeutung
Die Microsoft Entra ID-Authentifizierung wird derzeit in Migrationsaufträgen nicht unterstützt. Verwenden Sie die native DocumentDB-Authentifizierung.
Durchführen der Migration
Herstellen einer Verbindung mit der Quelle
- Öffnen Sie die DocumentDB-Erweiterung für VS Code .
- Fügen Sie den MongoDB-Server hinzu, den Sie zur Liste "Document DB Connections " migrieren möchten.
- Wählen Sie "Neue Verbindung hinzufügen" aus.
- Wählen Sie auf der Navigationsleiste die Option "Verbindungszeichenfolge" aus.
- Fügen Sie Ihre Verbindungszeichenfolge ein:
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - Wählen Sie in den DocumentDB-Verbindungen die Verbindung aus, und erweitern Sie sie, um eine Verbindung herzustellen.
Migrationserweiterung aufrufen
Sie können die Migrationserweiterung aus den DocumentDB Connections aufrufen.
Klicken Sie mit der rechten Maustaste auf eine erweiterte (verbundene) Verbindung.
Wählen Sie " Datenmigration " aus dem Kontextmenü aus.
Wählen Sie "Zu Azure DocumentDB migrieren" aus der Befehlspalette aus.
Ein Migrationsassistent führt Sie durch den Prozess.
Erstellen eines Migrationsauftrags
Ein Migrationsauftrag wird verwendet, um eine Gruppe von Sammlungen aus der Quelle zum Ziel Azure DocumentDB zu migrieren. Der Assistent zum Erstellen von Migrationsaufträgen umfasst sechs Schritte.
Schritt 1: Auftrag erstellen
In diesem Schritt geben Sie die grundlegenden Details für den Auftrag an.
Auftragsname: Geben Sie einen benutzerfreundlichen Namen an, um den Migrationsauftrag zu identifizieren.
Migrationsmodus: Wählen Sie den Migrationsmodus aus, der für Ihren Anwendungsfall am besten geeignet ist.
- Bei der Onlinemigration werden Sammlungsdaten kopiert, um sicherzustellen, dass Updates auch während des Prozesses repliziert werden. Diese Methode ist wegen der minimalen Ausfallzeiten vorteilhaft und ermöglicht einen kontinuierlichen Betrieb zwecks Geschäftskontinuität. Nutzen Sie diese Option, wenn es auf den kontinuierlichen Betrieb ankommt und die Reduzierung von Ausfallzeiten Priorität hat.
- Bei der Offlinemigration wird zu Beginn eine Momentaufnahme der Datenbank erfasst, die einen einfacheren und vorhersehbaren Ansatz bietet. Sie funktioniert gut, wenn eine statische Kopie der Datenbank zum Einsatz kommt und Echtzeitaktualisierungen nicht unerlässlich sind.
Von Bedeutung
Um eine erfolgreiche Onlinemigrationen von MongoDB sicherzustellen, muss ChangeStream auf dem MongoDB-Quellserver aktiviert sein. Ohne ChangeStream werden änderungen, die nach der ursprünglichen Migration an den Daten vorgenommen wurden, nicht erfasst. Verwenden Sie daher den Onlinemigrationsmodus nur, wenn ChangeStream auf Ihrem MongoDB Quell-Server aktiviert ist.
Konnektivität: Wählen Sie je nach Sicherheitsmandat und Netzwerkeinrichtung Ihrer Organisation aus "Öffentlich" und "Privat" aus.
- Verwenden Sie "Öffentlich ", wenn die Quell- und Zielserver über öffentliche IPs über das Internet zugänglich sind. Sie ermöglicht die Unterstützung für Dienste, die externe Barrierefreiheit erfordern.
- Verwenden Sie "Privat ", wenn entweder die Quell- oder Zielserver ausschließlich über private IPs in einem virtuellen Netzwerk zugänglich sind. Es verbessert die Sicherheit, indem die Exponierung gegenüber dem öffentlichen Internet beseitigt wird.
Klicken Sie auf Weiter, um fortzufahren.
Schritt 2: Ziel auswählen
In diesem Schritt wählen Sie ein vorhandenes Azure DocumentDB-Konto aus und stellen dessen Verbindungszeichenfolge bereit.
Wählen Sie das Abonnement, die Ressourcengruppe und das Azure DocumentDB-Konto aus den Dropdowns aus.
Stellen Sie die Verbindungszeichenfolge für das Azure DocumentDB-Konto bereit.
Stellen Sie sicher, dass die im Bildschirm aufgeführte IP-Adresse in der Azure DocumentDB-Firewall zulässig ist.
Klicken Sie auf Weiter, um fortzufahren.
Schritt 3: Auswählen des Datenbankmigrationsdiensts (DMS)
Azure Database Migration Service ist ein Dienst, der Daten zu und von Azure-Datenplattformen mithilfe der Cloudinfrastruktur für die Datenübertragung migriert, statt sich auf lokale Ressourcen zu stützen. Wählen Sie eine vorhandene Azure Database Migration Service-Instanz aus der Dropdownliste aus, oder wählen Sie "DMS erstellen" aus, um einen neuen Migrationsdienst zu erstellen.
Von Bedeutung
Stellen Sie sicher, dass der Microsoft.DataMigration-Ressourcenanbieter in Ihrem Abonnement registriert ist. Sie müssen dies nur einmal pro Abonnement tun.
Klicken Sie auf Weiter, um fortzufahren.
Schritt 4: Konfigurieren der Konnektivität
Dieser Bildschirm hängt vom Verbindungsmodus ab, den Sie in Schritt 1 ausgewählt haben.
Öffentliche Konnektivität
Bei öffentlicher Konnektivität verbindet der Migrationsauftrag Ihre Quelle und Ihr Ziel über das öffentliche Internet. Um die Kommunikation zu aktivieren, müssen Sie die Quell- und Zielfirewalls aktualisieren. Um die Kommunikation von den DMS-Servern zu ermöglichen, fügen Sie die im Bildschirm aufgeführten IP-Adressen zu den Quell- und Zielfirewalls hinzu. Weitere Informationen finden Sie unter Konfigurieren der Azure DocumentDB-Clusterfirewall .
Private Konnektivität
In der privaten Konnektivität wird der Migrationsauftrag innerhalb des virtuellen Netzwerks ausgeführt. Um sicher mit Ihrem virtuellen Netzwerk zu kommunizieren, verwenden wir peering für virtuelle Netzwerke.
Wählen Sie das Abonnement, die Ressourcengruppe und das virtuelle Netzwerk aus den Dropdownlisten aus.
Führen Sie das auf dem Bildschirm bereitgestellte PowerShell-Skript aus, um die Integration des virtuellen Netzwerks zu ermöglichen.
Klicken Sie auf Weiter, um fortzufahren.
Schritt 5: Auswählen von Sammlungen
In diesem Schritt wählen Sie die Sammlungen aus, die in den Migrationsauftrag aufgenommen werden sollen. Wählen Sie aus der Liste der Sammlungen mithilfe der bereitgestellten Suchoptionen aus. Sammlungen, die bereits im Ziel vorhanden sind, werden in der Spalte Im Ziel vorhanden mit Ja automatisch markiert.
Tipp
Stellen Sie sicher, dass Sie alle Sammlungen auswählen, die Sie einbeziehen möchten, da die Auflistungsliste nicht hinzugefügt werden kann, nachdem der Migrationsauftrag erstellt wurde.
Klicken Sie auf Weiter, um fortzufahren.
Schritt 6: Bestätigen und Starten
Überprüfen Sie die Details des Migrationsauftrags, bevor Sie " Migration starten" auswählen. Wenn die Details aktualisiert werden müssen, verwenden Sie die Schaltfläche " Details bearbeiten ".
Nachdem der Migrationsauftrag erfolgreich erstellt wurde, werden Sie automatisch zur Seite "Vorhandene Aufträge anzeigen" umgeleitet.
Tipp
Die Datenmigrationsaufgaben werden im Azure-Datenbankmigrationsdienst ausgeführt. Daher müssen Sie während der Datenmigration nicht mit den Quell- und Zielumgebungen verbunden sein. Der Status wird im Dashboard in regelmäßigen Abständen aktualisiert.
Überwachen vorhandener Migrationsaufträge
Verwenden Sie die Registerkarte "Vorhandene Aufträge anzeigen ", um den Migrationsstatus von initialisierten Aufträgen zu überwachen. Die Aufträge werden basierend auf dem ausgewählten DMS aufgelistet. Verwenden Sie die Schaltfläche "DMS ändern", um Ihre Auswahl zu ändern.
Der Status wird in häufigen Intervallen automatisch aktualisiert. Offlineaufträge werden automatisch abgeschlossen, sobald die ausgewählten Momentaufnahmen der Sammlung in das Ziel kopiert werden. Die Onlinemigrationen müssen jedoch manuell überschnitten werden.
Um den Sammlungsstatus anzuzeigen, wählen Sie eine Zeile aus der Tabelle aus.
Überwachen von Onlinemigrationen
Onlinemigrationen werden anders als Offlinemigrationen nicht automatisch abgeschlossen. Stattdessen werden sie kontinuierlich ausgeführt, bis sie durch Auswahl von Cutover manuell abgeschlossen werden.
Führen Sie die folgenden Schritte in der angegebenen Reihenfolge aus, um die Onlinemigration abzuschließen:
Die Schaltfläche Cutover ist aktiviert, sobald der anfängliche Datenladevorgang für alle Sammlungen abgeschlossen ist. In dieser Phase befindet sich der Auftrag in der Replikationsphase und kopiert fortlaufend Updates von der Quellinstanz in die Zielinstanz, um sie mit den neuesten Änderungen aktuell zu halten.
Wenn Sie bereit sind, den Migrations-Cutover auszuführen, beenden Sie alle eingehenden Transaktionen zu den Quellsammlungen, die migriert werden.
Die Replikationslücke zeigt die Zeitlücke zwischen der letzten Aktualisierung und der aktuellen Uhrzeit an.
Überwachen Sie die Replikationsänderungen in der Tabelle und warten Sie, bis die Metrik Replication Changes Played stabilisiert ist. Eine stabile Metrik Replikationsänderungen wiedergegeben gibt an, dass alle Aktualisierungen aus der Quelle erfolgreich in das Ziel kopiert werden.
Wählen Sie Cutover aus, wenn die Replikationslücke für alle Sammlungen minimal ist und die Metrik Replikationsänderungen wiedergegeben stabil ist.
Überprüfen Sie manuell, ob die Zeilenanzahl von Quell- und Zielsammlungen identisch ist.
Hinweis
Das Ausführen des Übernahmevorgangs, ohne zu überprüfen, dass die Quelle und das Ziel synchronisiert sind, kann zu Datenverlust führen.
Registrieren des Microsoft.DataMigration-Ressourcenanbieters in Ihrem Abonnement
Nach den folgenden Schritten können Sie sicherstellen, dass der Ressourcenanbieter „Microsoft.DataMigration“ in Ihrem Abonnement registriert ist:
Azure-Portal
Gehen Sie zum Azure-Portal und navigieren Sie zu Ihrem Abonnement.
Wählen Sie im linken Menü unter "Einstellungen"die Option "Ressourcenanbieter" aus.
Suchen Sie oben im Suchfeld nach Microsoft.DataMigration .
Wenn sie nicht registriert ist, wählen Sie sie aus, und wählen Sie die Schaltfläche "Registrieren " aus.
Azure-Befehlszeilenschnittstelle (Azure CLI)
Öffnen Sie die Azure Cloud Shell oder Ihr lokales Terminal.
Führen Sie den folgenden Befehl aus, um den Ressourcenanbieter zu registrieren:
az provider register --namespace Microsoft.DataMigration
PowerShell
Öffnen Sie die Azure Cloud Shell oder Ihre lokale PowerShell.
Führen Sie den folgenden Befehl aus, um den Ressourcenanbieter zu registrieren:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
Häufig gestellte Fragen
Warum fehlen Ansichten im Schritt des Auswahlsammlungsbildschirms, wenn Azure DocumentDB Ansichten unterstützt?
Azure DocumentDB unterstützt die Erstellung neuer Ansichten. Die Migrationserweiterung bietet jedoch keine Unterstützung für die Migration vorhandener Ansichten.
Nach Abschluss der Migration können Sie die Ansichten immer neu erstellen.
Welche Sammlungen und Datenbanken werden beim Migrieren von MongoDB zu Azure DocumentDB übersprungen?
Die folgenden Datenbanken und Sammlungen gelten als intern für MongoDB:
| Kategorie | Description |
|---|---|
| Datenbanken | admin, local, Systemkonfiguration |
| Sammlungen | Eine beliebige Auflistung mit Präfix system. |
Werden die Migrationsaufträge lokal auf meinem Computer ausgeführt?
Die Datenbanken und Auflistungen werden direkt auf der Benutzeroberfläche des Assistenten mithilfe von Befehlen aufgelistet, die vom lokalen VS Code-Client ausgeführt werden. Für diese Funktionalität ist eine Netzwerkkonnektivität zwischen dem Computer erforderlich, auf dem VS Code ausgeführt wird, und sowohl der Quell- als auch der Zielumgebung.
Datenmigrationsaufgaben werden vom Azure-Datenbankmigrationsdienst (DMS) ausgeführt. DMS ist ein von Azure gehosteter Dienst, der Datenbewegungen koordiniert und verwaltet. Nachdem die Migrationsaufgaben erstellt wurden, müssen Sie die Verbindung mit den Quell- und Zielumgebungen nicht mehr verwalten.
Kann ich Datenbanken und Sammlungen während der Migration umbenennen?
Die Erweiterung unterstützt während der Migration keine Datenbank- und Sammlungsbenennung.
Wie sollte ich meine Quellserverfirewalls konfigurieren, um Konnektivitätsprobleme zu vermeiden?
Die erforderliche Netzwerkkonfiguration hängt vom ausgewählten Verbindungsmodus ab:
- Öffentlicher Modus: Sie müssen zulassen, dass die im Assistenten angezeigten IP-Adressen sowohl in der Quell- als auch in der Zielfirewall die Kommunikation ermöglichen.
- Privater Modus: Sie müssen die Integration des virtuellen Netzwerks aktivieren, damit die DMS-Server sicher mit den Quell- und Zielendpunkten innerhalb des virtuellen Netzwerks kommunizieren können.
Weitere Informationen finden Sie unter VS Code-Konnektivität
Wie viele Datenbanken und Sammlungen kann ich in einer einzigen Migration migrieren?
Sie können bis zu 25 Sammlungen in einer einzigen Migration einschließen. Sie können jedoch mehrere Migrationsaufträge erstellen und ausführen, um andere Sammlungen zu migrieren.
Wie viele Migrationsaufträge kann ich gleichzeitig ausführen?
Sie können mehrere Migrationsaufträge ausführen, wenn Sie den öffentlichen Zugriff verwenden. Bei Verwendung des privaten Zugriffs kann ein einzelnes virtuelles Netzwerk jedoch jeweils nur einen aktiven Auftrag unterstützen. Um mehrere Aufträge mit privatem Zugriff auszuführen, müssen Sie für jeden Auftrag ein anderes virtuelles Netzwerk verwenden.
Welche Art von Protokollen generiert die Erweiterung?
Die Erweiterung zeichnet Fehler, Warnungen und andere Diagnoseprotokolle im Standardprotokollverzeichnis auf:
-
Windows -
C:\Users\<username>\.dmamongo\logs\ -
Linux -
~/.dmamongo/logs -
macOS -
/Users/<username>/.dmamongo/logs