Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migration zu Amazon DocumentDB
Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein vollständig verwalteter Datenbankservice, der mit MongoDB kompatibel ist. API Sie können Ihre Daten von MongoDB-Datenbanken, die lokal oder auf Amazon Elastic Compute Cloud (AmazonEC2) laufen, nach Amazon DocumentDB migrieren, indem Sie den in diesem Abschnitt beschriebenen Prozess verwenden.
Themen
Migrationstools
Für die Migration zu Amazon DocumentDB verwenden die meisten Kunden hauptsächlich die beiden Tools AWS Database Migration Service (AWS DMS)mongodump
undmongorestore
. Als bewährte Methode und für jede dieser Optionen empfehlen wir, dass Sie zuerst Indizes in Amazon DocumentDB erstellen, bevor Sie mit der Migration beginnen, da dies die Gesamtzeit reduzieren und die Geschwindigkeit der Migration erhöhen kann. Dazu können Sie das Amazon DocumentDB Index Tool
AWS Database Migration Service
AWS Database Migration Service (AWS DMS) ist ein Cloud-Service, der es einfach macht, relationale Datenbanken und nicht-relationale Datenbanken zu Amazon DocumentDB zu migrieren. Sie können AWS DMS es verwenden, um Ihre Daten von lokal oder lokal gehosteten Datenbanken zu Amazon DocumentDB zu migrieren. EC2 Mit AWS DMS können Sie einmalige Migrationen durchführen oder laufende Änderungen replizieren, um Quellen und Ziele synchron zu halten.
Weitere Informationen zur Migration AWS DMS zu Amazon DocumentDB finden Sie unter:
Befehlszeilen-Dienstprogramme
Zu den gängigen Hilfsprogrammen für die Migration von Daten zu und von Amazon DocumentDB gehörenmongodump
, mongorestore
mongoexport
, und. mongoimport
In der Regel sind mongodump
und mongorestore
die effizientesten Dienstprogramme, da sie Daten aus Ihren Datenbanken in einem binären Format sichern und wiederherstellen. Dies ist im Allgemeinen die beste Option und führt im Vergleich zu logischen Exporten zu einer geringeren Datengröße. mongoexport
und mongoimport
sind nützlich, wenn Sie Daten in einem logischen Format exportieren und importieren möchten, CSV wie JSON oder weil die Daten für Menschen lesbar sind, aber im Allgemeinen langsamer alsmongodump
/sind mongorestore
und eine größere Datengröße ergeben.
Im folgenden Migrationsansätze Abschnitt wird erläutert, wann die Verwendung AWS DMS von Befehlszeilenprogrammen am besten ist, je nach Anwendungsfall und Anforderungen.
Erkennung
Für jede Ihrer MongoDB-Bereitstellungen sollten Sie zwei Datasets identifizieren und protokollieren: Architekturdetails und Betriebseigenschaften. Diese Informationen helfen Ihnen bei der Auswahl des geeigneten Migrationsansatzes und der Clustergröße.
Architekturdetails
-
Name
Wählen Sie einen eindeutigen Namen für die Verfolgung dieser Bereitstellung aus.
-
Version
Erfassen Sie die Version von MongoDB, die Ihre Bereitstellung ausführt. Um die Version zu finden, verbinden Sie sich über die Mongo-Shell mit einem Mitglied des Replikatsatzes und führen die Operation
db.version()
aus. -
Typ
Protokollieren Sie, ob es sich bei Ihrer Bereitstellung um eine eigenständige Mongo-Instance, einen Replikatsatz oder einen Sharded-Cluster handelt.
-
Mitglieder
Protokollieren Sie die Hostnamen, Adressen und Ports der einzelnen Cluster, Replikatsätze oder eigenständigen Mitglieder.
Für eine geclusterte Bereitstellung können Sie Shard-Mitglieder finden, indem Sie sich per Mongo-Shell mit einem Mongo-Host verbinden und die Operation
sh.status()
ausführen.Sie können die Mitglieder eines Replikatsatzes abrufen, indem Sie sich per Mongo-Shell mit einem Replikatsatz verbinden und die Operation
rs.status()
ausführen. -
Oplog-Größen
Bei Replikatsätzen oder Sharded-Clustern notieren Sie die Größe des Oplogs für jedes Replikatsatzmitglied. Um die Oplog-Größe eines Mitglieds zu finden, verbinden Sie sich mit dem Replikat-Set-Element mit der Mongo-Shell und führen Sie die Operation
ps.printReplicationInfo()
aus. -
Prioritäten für Replikatsatzmitglieder
Protokollieren Sie bei den Replikatsätzen oder Sharded-Clustern die Priorität der einzelnen Replikatsatzmitglieder. Um die Prioritäten für das Replikatsatzmitglied zu finden, verbinden Sie sich per Mongo-Shell mit einem Replikatsatzmitglied und führen Sie die Operation
rs.conf()
aus. Die Priorität wird als Wert des Schlüsselspriority
angezeigt. -
TLS/SSLVerwendung
Zeichnet auf, ob Transport Layer Security (TLS) /Secure Sockets Layer (SSL) auf jedem Knoten für die Verschlüsselung bei der Übertragung verwendet wird.
Betriebseigenschaften
-
Datenbankstatistik
Protokollieren Sie für jede Sammlung die folgenden Informationen:
-
Name
-
Datengröße
-
Sammlungsanzahl
Um die Datenbankstatistiken zu finden, verbinden Sie sich per Mongo-Shell mit Ihrer Datenbank und führen Sie den Befehl
db.runCommand({dbstats: 1})
aus. -
-
Sammlungsstatistik
Protokollieren Sie für jede Sammlung die folgenden Informationen:
-
Namespace
-
Datengröße
-
Indexanzahl
-
Ob die Sammlung gedeckelt ist
-
-
Indexstatistik
Erfassen Sie für jede Sammlung die folgenden Indexinformationen:
-
Namespace
-
ID
-
Größe
-
Schlüssel
-
TTL
-
Sparse
-
Hintergrund
Um die Indexinformationen zu finden, verbinden Sie sich per Mongo-Shell mit Ihrer Datenbank und führen Sie den Befehl
db.collection.getIndexes()
aus. -
-
Opcounters
Diese Informationen helfen Ihnen, Ihre aktuellen MongoDB-Workload-Muster (viele Lesevorgänge, viele Schreibvorgänge oder ausgeglichen) zu ermitteln. Es enthält auch Hinweise zur ersten Auswahl Ihrer Amazon DocumentDB DocumentDB-Instance.
Nachfolgend sind die wichtigsten Informationen aufgeführt, die während des Überwachungszeitraums (in der Form Anzahl/Sekunde) gesammelt werden müssen:
-
Abfragen
-
Einfügungen
-
Aktualisierungen
-
Löschvorgänge
Sie können diese Informationen abrufen, indem Sie die Ausgabe des Befehls
db.serverStatus()
über den gewünschten Zeitraum grafisch darstellen. Sie können außerdem das Mongostat-Toolverwenden, um direkt Werte für diese Statistiken zu erhalten. Mit dieser Option laufen Sie jedoch Gefahr, Ihre Migration auf Basis von Nutzungszeiträumen zu planen, die keine Spitzenauslastung darstellen. -
-
Netzwerkstatistik
Diese Informationen helfen Ihnen, Ihre aktuellen MongoDB-Workload-Muster (viele Lesevorgänge, viele Schreibvorgänge oder ausgeglichen) zu ermitteln. Es enthält auch Hinweise zur ersten Auswahl Ihrer Amazon DocumentDB DocumentDB-Instance.
Nachfolgend sind die wichtigsten Informationen aufgeführt, die während des Überwachungszeitraums (in der Form Anzahl/Sekunde) gesammelt werden müssen:
-
Verbindungen
-
Netzwerk-Bytes eingehend
-
Netzwerk-Bytes ausgehend
Sie können diese Informationen abrufen, indem Sie die Ausgabe des Befehls
db.serverStatus()
über den gewünschten Zeitraum grafisch darstellen. Sie können außerdem das Mongostat-Toolverwenden, um direkt Werte für diese Statistiken zu erhalten. Mit dieser Option laufen Sie jedoch Gefahr, Ihre Migration auf Basis von Nutzungszeiträumen zu planen, die keine Spitzenauslastung darstellen. -
Planung: Amazon DocumentDB-Clusteranforderungen
Für eine erfolgreiche Migration müssen Sie sowohl die Konfiguration Ihres Amazon DocumentDB-Clusters als auch die Art und Weise, wie Anwendungen auf Ihren Cluster zugreifen, sorgfältig abwägen. Berücksichtigen Sie bei der Ermittlung Ihrer Cluster-Anforderungen die folgenden Dimensionen:
-
Verfügbarkeit
Amazon DocumentDB bietet hohe Verfügbarkeit durch die Bereitstellung von Replikat-Instances, die in einem als Failover bezeichneten Prozess zu einer primären Instance heraufgestuft werden können. Durch die Bereitstellung von Replikations-Instances in verschiedenen Availability Zones können Sie eine höhere Verfügbarkeit erreichen.
Die folgende Tabelle enthält Richtlinien für Amazon DocumentDB DocumentDB-Bereitstellungskonfigurationen zur Erreichung bestimmter Verfügbarkeitsziele.
Verfügbarkeitsziel Gesamtzahl der Instances Replikas Availability Zones 99 % 1 0 1 99,9 % 2 1 2 99,99 % 3 2 3 Für die allgemeine Systemzuverlässigkeit müssen alle Komponenten berücksichtigt werden – nicht nur die Datenbank. Bewährte Verfahren und Empfehlungen zur Erfüllung der allgemeinen Anforderungen an die Systemzuverlässigkeit finden Sie im AWS Well-Architected Reliability Pillar Whitepaper
. -
Leistung
Amazon DocumentDB DocumentDB-Instances ermöglichen es Ihnen, vom Speichervolume Ihres Clusters zu lesen und darauf zu schreiben. Cluster-Instances gibt es in einer Reihe von Typen mit unterschiedlichen Speichergrößen und VCPU, die sich auf die Lese- und Schreibleistung Ihres Clusters auswirken. Wählen Sie anhand der in der Ermittlungsphase gesammelten Informationen einen Instance-Typ aus, der Ihre Anforderungen an die Workload-Performance abdeckt. Eine Liste mit unterstützten Instance-Typen finden Sie unter Instanzklassen verwalten.
Bei der Auswahl eines Instance-Typs für Ihren Amazon DocumentDB-Cluster sollten Sie die folgenden Aspekte der Leistungsanforderungen Ihres Workloads berücksichtigen:
-
vCPUs—Architekturen, die eine höhere Anzahl an Verbindungen erfordern, könnten von Instances mit mehr v profitieren. CPUS
-
Arbeitsspeicher — Wenn möglich, erzielen Sie maximale Leistung, wenn Sie Ihren Arbeitsdatensatz im Arbeitsspeicher behalten. Eine erste Richtlinie besteht darin, ein Drittel des Speichers Ihrer Instance für die Amazon DocumentDB DocumentDB-Engine zu reservieren, sodass zwei Drittel für Ihren Arbeitsdatensatz übrig bleiben.
-
Verbindungen — Die optimale Mindestanzahl an Verbindungen beträgt acht Verbindungen pro Amazon DocumentDB DocumentDB-Instance v. CPU Obwohl das Verbindungslimit für Amazon DocumentDB DocumentDB-Instances viel höher ist, sinken die Leistungsvorteile zusätzlicher Verbindungen ab acht Verbindungen pro V. CPU
-
Netzwerk — Bei Workloads mit einer großen Anzahl von Clients oder Verbindungen sollte die gesamte Netzwerkleistung berücksichtigt werden, die für eingefügte und abgerufene Daten erforderlich ist. Massenoperationen können die Netzwerkressourcen effizienter nutzen.
-
Leistung beim Einfügen — Einfügungen einzelner Dokumente sind im Allgemeinen die langsamste Methode, Daten in Amazon DocumentDB einzufügen. Masseneinfügeoperationen können wesentlich schneller sein.
-
Leseleistung — Lesevorgänge aus dem Arbeitsspeicher sind immer schneller als Lesevorgänge aus dem Speichervolume. Daher ist es ideal, die Größe des Instance-Arbeitsspeichers zu optimieren, um das Arbeits-Dataset im Arbeitsspeicher zu halten.
Amazon DocumentDB-Cluster verarbeiten nicht nur Lesevorgänge von Ihrer primären Instance, sondern werden auch automatisch als Replikatsätze konfiguriert. Sie können dann schreibgeschützte Abfragen an Lesereplikate weiterleiten, indem Sie die Leseeinstellung in Ihrem MongoDB-Treiber festlegen. Sie können den Leseverkehr skalieren, indem Sie Replikate hinzufügen, was die Gesamtbelastung der primären Instance reduziert.
Es ist möglich, Amazon DocumentDB DocumentDB-Replikate verschiedener Instance-Typen im selben Cluster bereitzustellen. Ein exemplarischer Anwendungsfall könnte sein, eine Replik mit einem größeren Instance-Typ zu erstellen, um temporären Analyse-Datenverkehr zu verarbeiten. Wenn Sie einen gemischten Satz von Instance-Typen bereitstellen, sorgen Sie dafür, dass die Failover-Priorität für jede Instance konfiguriert ist. Dadurch wird sichergestellt, dass ein Failover-Ereignis stets ein Replikat ausreichender Größe für Ihre Schreiblast hochstuft.
-
-
Wiederherstellung
Amazon DocumentDB sichert Ihre Daten kontinuierlich, während sie geschrieben werden. Es bietet point-in-time Recovery (PITR) -Funktionen innerhalb eines konfigurierbaren Zeitraums von 1—35 Tagen, der sogenannten Aufbewahrungsfrist für Backups. Die standardmäßige Aufbewahrungsfrist für Backups beträgt einen Tag. Amazon DocumentDB erstellt außerdem automatisch tägliche Snapshots Ihres Speichervolumens, die ebenfalls für den konfigurierten Aufbewahrungszeitraum für Backups aufbewahrt werden.
Wenn Sie Snapshots über den Aufbewahrungszeitraum der Backups hinaus aufbewahren möchten, können Sie mit dem und () auch jederzeit manuelle Snapshots initiieren. AWS Management Console AWS Command Line Interface AWS CLI Weitere Informationen finden Sie unter Sichern und Wiederherstellen in Amazon DocumentDB.
Beachten Sie bei der Planung Ihrer Migration Folgendes:
-
Wählen Sie einen Aufbewahrungszeitraum für Backups von 1—35 Tagen, der Ihrem Ziel für den Wiederherstellungspunkt entspricht (). RPO
-
Entscheiden Sie, ob und in welchem Intervall Sie manuelle Snapshots benötigen.
-
Migrationsansätze
Es gibt drei Hauptansätze für die Migration Ihrer Daten zu Amazon DocumentDB.
Anmerkung
Obwohl Sie in Amazon DocumentDB jederzeit Indizes erstellen können, ist es insgesamt schneller, Ihre Indizes zu erstellen, bevor Sie große Datensätze importieren. Als bewährte Methode empfehlen wir, dass Sie für jeden der unten aufgeführten Ansätze zuerst Ihre Indizes in Amazon DocumentDB erstellen, bevor Sie die Migration durchführen. Dazu können Sie das Amazon DocumentDB Index Tool
Offline
Der Offline-Ansatz verwendet die mongorestore
Tools mongodump
und, um Ihre Daten von Ihrer MongoDB-Quellbereitstellung zu Ihrem Amazon DocumentDB-Cluster zu migrieren. Die Offline-Methode ist der einfachste Migrationsansatz, hat jedoch auch die längste Ausfallzeit für Ihren Cluster zur Folge.
Die grundlegende Vorgehensweise bei der Offline-Migration sieht wie folgt aus:
-
Stilllegen von Schreibvorgängen in Ihrer MongoDB-Quelle
-
Dump von Sammlungsdaten und Indizes aus der MongoDB-Quellenbereitstellung
-
Wenn Sie zu einem Elastic Cluster migrieren, erstellen Sie Ihre Sharded-Sammlungen mithilfe des Befehls.
sh.shardCollection()
Wenn Sie zu einem instanzbasierten Cluster migrieren, fahren Sie mit dem nächsten Schritt fort. -
Stellen Sie Indizes im Amazon DocumentDB-Cluster wieder her.
-
Stellen Sie die Sammlungsdaten im Amazon DocumentDB-Cluster wieder her.
-
Ändern Sie Ihren Anwendungsendpunkt so, dass er in den Amazon DocumentDB-Cluster schreibt.
Status "Online"
Der Online- Ansatz verwendet AWS Database Migration Service (AWS DMS). Es führt ein vollständiges Laden von Daten aus Ihrer MongoDB-Quellbereitstellung in Ihren Amazon DocumentDB-Cluster durch. Anschließend wechselt es in den Modus Change Data Capture (CDC), um Änderungen zu replizieren. Der Onlineansatz minimiert die Ausfallzeiten für Ihren Cluster, ist aber die langsamste der drei Methoden.
Die grundlegende Vorgehensweise bei der Online-Migration sieht wie folgt aus:
-
Ihre Anwendung verwendet die Quell-DB normal.
-
Wenn Sie zu einem Elastic Cluster migrieren, erstellen Sie Ihre Sharded Collections mit dem Befehl.
sh.shardCollection()
Wenn Sie zu einem instanzbasierten Cluster migrieren, fahren Sie mit dem nächsten Schritt fort. -
Erstellen Sie Indizes vorab im Amazon DocumentDB-Cluster.
-
Erstellen Sie eine AWS DMS Aufgabe, um eine vollständige Ladung durchzuführen, und aktivieren Sie sie dann CDC von der MongoDB-Quellbereitstellung zum Amazon DocumentDB-Cluster.
-
Nachdem die AWS DMS Aufgabe vollständig geladen wurde und Änderungen in Amazon DocumentDB repliziert wurden, wechseln Sie vom Endpunkt der Anwendung zum Amazon DocumentDB-Cluster.
Weitere Informationen zur Verwendung AWS DMS zur Migration finden Sie unter Amazon DocumentDB als Ziel verwenden für AWS Database Migration Service und im zugehörigen Tutorial im AWS Database Migration Service Benutzerhandbuch.
Hybrid
Der hybride Ansatz verwendet die mongorestore
Tools mongodump
und, um Ihre Daten von Ihrer MongoDB-Quellbereitstellung zu Ihrem Amazon DocumentDB-Cluster zu migrieren. Anschließend wird der AWS DMS CDC In-Modus verwendet, um Änderungen zu replizieren. Der Hybrid-Ansatz ist ein Kompromiss zwischen Migrationsgeschwindigkeit und Ausfallzeit, ist jedoch auch der komplexeste der drei Ansätze.
Die grundlegende Vorgehensweise bei der Hybrid-Migration sieht wie folgt aus:
-
Ihre Anwendung verwendet die MongoDB-Quellenbereitstellung normal.
-
Dump von Sammlungsdaten und Indizes aus der MongoDB-Quellenbereitstellung
-
Stellen Sie Indizes im Amazon DocumentDB-Cluster wieder her.
-
Wenn Sie zu einem Elastic Cluster migrieren, erstellen Sie Ihre Sharded-Sammlungen mithilfe des Befehls.
sh.shardCollection()
Wenn Sie zu einem instanzbasierten Cluster migrieren, fahren Sie mit dem nächsten Schritt fort. -
Stellen Sie die Sammlungsdaten im Amazon DocumentDB-Cluster wieder her.
-
Erstellen Sie eine AWS DMS Aufgabe, die CDC von der MongoDB-Quellbereitstellung bis zum Amazon DocumentDB-Cluster aktiviert werden soll.
-
Wenn die AWS DMS Aufgabe Änderungen innerhalb eines akzeptablen Zeitfensters repliziert, ändern Sie Ihren Anwendungsendpunkt so, dass er in den Amazon DocumentDB-Cluster schreibt.
Wichtig
Eine AWS DMS Aufgabe kann derzeit nur eine einzige Datenbank migrieren. Wenn Ihre MongoDB-Quelle über eine große Anzahl von Datenbanken verfügt, müssen Sie möglicherweise die Erstellung von Migrationsaufgaben automatisieren oder die Offlinemethode verwenden.
Unabhängig vom gewählten Migrationsansatz ist es am effizientesten, vor der Migration Ihrer Daten Indizes in Ihrem Amazon DocumentDB-Cluster vorab zu erstellen. Das liegt daran, dass Amazon DocumentDB DocumentDB-Indizes Daten parallel einfügen, das Erstellen eines Indexes für bestehende Daten jedoch ein Single-Thread-Vorgang ist.
Da AWS DMS keine Indizes (nur Ihre Daten) migriert werden, ist kein zusätzlicher Schritt erforderlich, um zu vermeiden, dass Indizes ein zweites Mal erstellt werden.
Migrationsquellen
Wenn es sich bei Ihrer MongoDB-Quelle um einen eigenständigen Mongo-Prozess handelt und Sie die Online- oder Hybridmigrationsansätze verwenden möchten, konvertieren Sie zunächst Ihren eigenständigen Mongo in einen Replikatsatz, sodass das Oplog zur Verwendung als Quelle erstellt wird. CDC
Wenn Sie von einem MongoDB-Replikatsatz oder Sharded-Cluster migrieren, sollten Sie in Betracht ziehen, für jeden als Migrationsquelle verwendete Replikatsatz oder Shard einen verketteten oder versteckten Sekundärsatz zu erstellen. Die Durchführung von Daten-Dumps kann die Auslagerung von Daten aus dem Speicher bewirken und die Leistung von Produktions-Instances beeinträchtigen. Sie können dieses Risiko reduzieren, indem Sie von einem Knoten migrieren, der keine Produktionsdaten bereitstellt.
Version der Migrationsquelle
Wenn sich Ihre MongoDB-Quelldatenbankversion von der Kompatibilitätsversion Ihres Amazon DocumentDB DocumentDB-Ziel-Clusters unterscheidet, müssen Sie möglicherweise weitere Vorbereitungsschritte unternehmen, um eine erfolgreiche Migration sicherzustellen. Die beiden häufigsten Anforderungen sind die Notwendigkeit, die MongoDB-Quellinstallation auf eine unterstützte Version für die Migration (MongoDB-Version 3.0 oder höher) zu aktualisieren und Ihre Anwendungstreiber zu aktualisieren, um die Amazon DocumentDB DocumentDB-Zielversion zu unterstützen.
Wenn eine dieser Anforderungen vorliegt, sollten Sie diese Schritte zum Upgraden und Testen der Treiber in Ihren Migrationsplan aufnehmen.
Konnektivität bei der Migration
Sie können von einer MongoDB-Quellbereitstellung, die in Ihrem Rechenzentrum ausgeführt wird, oder von einer MongoDB-Bereitstellung, die auf einer Amazon-Instance ausgeführt wird, zu Amazon DocumentDB migrieren. EC2 Die Migration von MongoDB, auf der ausgeführt wird, EC2 ist unkompliziert und erfordert lediglich, dass Sie Ihre Sicherheitsgruppen und Subnetze korrekt konfigurieren.
Für die Migration von einer lokalen Datenbank ist eine Konnektivität zwischen Ihrer MongoDB-Bereitstellung und Ihrer Virtual Private Cloud () erforderlich. VPC Sie können dies über eine virtuelle private Netzwerkverbindung (VPN) oder mithilfe des Dienstes erreichen. AWS Direct Connect Sie können zwar über das Internet zu Ihrer migrierenVPC, diese Verbindungsmethode ist jedoch aus Sicherheitsgründen am wenigsten wünschenswert.
Das folgende Diagramm zeigt eine Migration zu Amazon DocumentDB von einer lokalen Quelle über eine VPN Verbindung.
Im Folgenden wird eine Migration zu Amazon DocumentDB von einer lokalen Quelle unter Verwendung von. AWS Direct Connect
Online- und hybride Migrationsansätze erfordern die Verwendung einer AWS DMS Instance, die auf Amazon EC2 in einem Amazon ausgeführt werden mussVPC. Alle Ansätze erfordern einen Migrationsserver für die Ausführung von mongodump
und mongorestore
. Im Allgemeinen ist es einfacher, den Migrationsserver auf einer EC2 Amazon-Instance in der Umgebung auszuführen, auf der VPC Ihr Amazon DocumentDB-Cluster gestartet wird, da dadurch die Konnektivität zu Ihrem Amazon DocumentDB-Cluster erheblich vereinfacht wird.
Testen
Nachfolgend sind die Ziele des Pre-Migration-Tests aufgeführt:
-
Überprüfen Sie, ob Ihr gewählter Ansatz das gewünschte Migrationsergebnis erzielt.
-
Vergewissern Sie sich, dass der ausgewählte Instance-Typ und die Leseeinstellungsoptionen Ihren Anforderungen an die Anwendungsleistung entsprechen.
-
Überprüfen Sie das Verhalten Ihrer Anwendung während des Failovers.
Überlegungen zum Testen des Migrationsplans
Beachten Sie beim Testen Ihres Amazon DocumentDB-Migrationsplans Folgendes.
Themen
Indizes wiederherstellen
mongorestore
erstellt standardmäßig Indizes für abgerufene Sammlungen. Dies geschieht jedoch erst nach der Wiederherstellung der Daten. Insgesamt ist es schneller, Indizes in Amazon DocumentDB zu erstellen, bevor Daten im Cluster wiederhergestellt werden. Der Grund dafür ist, dass die Indizierungsoperationen während des Ladens der Daten parallelisiert werden.
Wenn Sie sich für die Vorerrichtung Ihrer Indizes entscheiden, können Sie den Schritt der Indexerstellung bei der Wiederherstellung von Daten mit mongorestore
überspringen, indem Sie die Option -–noIndexRestore
angeben.
Daten werden gelöscht
Das mongodump
-Tool ist die bevorzugte Methode, um Daten aus Ihrer MongoDB-Bereitstellung abzurufen. Abhängig von den Ressourcen, die für Ihre Migrations-Instance zur Verfügung stehen, können Sie mongodump
beschleunigen, indem Sie mit der Option –-numParallelCollections
die Anzahl der parallelen Verbindungen (Standardwert: 4) erhöhen.
Wiederherstellen von Daten
Das mongorestore
Tool ist die bevorzugte Methode für die Wiederherstellung von gedumpten Daten in Ihrer Amazon DocumentDB DocumentDB-Instance. Sie können die Wiederherstellungsleistung verbessern, indem Sie die Anzahl der Worker für jede Sammlung während der Wiederherstellung mit der Option -–numInsertionWorkersPerCollection
erhöhen. Ein Worker pro v CPU auf Ihrer primären Amazon DocumentDB-Cluster-Instance ist ein guter Anfang.
Amazon DocumentDB unterstützt die --oplogReplay
Option des mongorestore
Tools derzeit nicht.
Standardmäßig überspringt mongorestore
Einfügefehler und setzt den Wiederherstellungsprozess fort. Dies kann passieren, wenn Sie nicht unterstützte Daten auf Ihrer Amazon DocumentDB DocumentDB-Instance wiederherstellen. Es kann beispielsweise vorkommen, dass Sie ein Dokument haben, das Schlüssel oder Werte mit Null-Zeichenfolgen enthält. Wenn Sie es vorziehen, dass die Operation mongorestore
vollständig fehlschlägt, wenn ein Wiederherstellungsfehler auftritt, verwenden Sie die Option --stopOnError
.
Oplog-Größe
Das MongoDB-Operationsprotokoll (oplog
) ist eine gedeckelte Sammlung, die alle Datenänderungen an Ihrer Datenbank enthält. Sie können die Größe des Oplogs und den darin enthaltenen Zeitraum anzeigen, indem Sie die Operation db.printReplicationInfo()
für einen Replikatsatz oder ein Shard-Mitglied ausführen.
Wenn Sie die Online- oder Hybridansätze verwenden, stellen Sie sicher, dass das Oplog auf jedem Replikatsatz oder Shard groß genug ist, um alle Änderungen zu enthalten, die während der gesamten Dauer des Datenmigrationsprozesses vorgenommen wurden (unabhängig davon, ob es sich um eine Volllast mongodump
oder eine AWS DMS Aufgabe handelt), sowie einen angemessenen Puffer. Weitere Informationen finden Sie unter Überprüfen der Oplog-Größe in der MongoDB-Dokumentation. Bestimmen Sie die minimal erforderliche Oplog-Größe, indem Sie die verstrichene Zeit für den ersten Testlauf Ihres mongodump
- oder mongorestore
-Prozesses oder Ihrer AWS DMS -Aufgabe für das vollständige Laden erfassen.
AWS Database Migration Service Konfiguration
Das AWS Database Migration Service Benutzerhandbuch behandelt die Komponenten und Schritte, die für die Migration Ihrer MongoDB-Quelldaten auf Ihren Amazon DocumentDB-Cluster erforderlich sind. Im Folgenden finden Sie den grundlegenden Prozess für die Durchführung einer Online- oder Hybridmigration: AWS DMS
Um eine Migration durchzuführen mit AWS DMS
-
Erstellen Sie einen MongoDB-Quellendpunkt. Weitere Informationen finden Sie unter Verwendung von MongoDB als Quelle für AWS DMS.
-
Erstellen Sie einen Amazon DocumentDB DocumentDB-Zielendpunkt. Weitere Informationen finden Sie unter Arbeiten mit AWS DMS -Endpunkten.
Wenn Sie Ihren Zielendpunkt als Elastic Cluster konfigurieren, beachten Sie, dass Ihr vorhandenes Amazon DocumentDB SSL DocumentDB-Zertifikat nicht mit elastischen Clustern funktioniert und Sie mit den folgenden Schritten ein neues SSL Zertifikat an Ihren Endpunkt anhängen müssen:
a. Besuchen Sie https://www.amazontrust.com/repository/SFSRootCAG2.pem
und speichern Sie den Inhalt als „SFSRootCAG2.pem“ -Datei. Dies ist die Zertifikatsdatei, die Sie in den nachfolgenden Schritten importieren müssen. b. Wählen Sie bei der Erstellung des Elastic Cluster-Endpunkts unter Endpunktkonfiguration die Option Neues CA-Zertifikat hinzufügen aus.
Geben Sie für Zertifikat-ID
SFSRootCAG2.pem
ein.Wählen Sie unter Import certificate file (Zertifikatsdatei importieren) die Option Choose file (Datei auswählen) und navigieren Sie zu der
SFSRootCAG2.pem
-Datei, die Sie zuvor heruntergeladen haben. Wählen Sie die Datei aus und öffnen Sie sie. Wählen Sie Zertifikat importieren und wählen Sie dannSFSRootCAG2.pem
aus dem Drop-down-Menü Zertifikat auswählen aus.
-
Erstellen Sie mindestens eine AWS DMS Replikationsinstanz. Weitere Informationen finden Sie unter Arbeiten mit einer AWS DMS Replikationsinstanz.
-
Erstellen Sie mindestens eine AWS DMS Replikationsaufgabe. Weitere Informationen finden Sie unter Arbeiten mit AWS DMS -Aufgaben.
Für eine Onlinemigration verwendet Ihre Migrationsaufgabe den Migrationstyp Migrate existing data and replicate ongoing changes (Migrieren von bestehenden Daten und Replizieren nachfolgender Änderungen).
Für eine Hybridmigration verwendet Ihre Migrationsaufgabe den Migrationstyp Replicate data changes only (Nur Datenänderungen replizieren). Sie können die CDC Startzeit so wählen, dass sie mit der Dumpzeit Ihres
mongodump
Vorgangs übereinstimmt. Das MongoDB-Oplog ist idempotent. Um zu vermeiden, dass Änderungen verpasst werden, empfiehlt es sich, zwischen Ihrermongodump
Endzeit und Ihrer CDC Startzeit einige Minuten Zeit zu lassen.
Migration von einem Sharded-Cluster
Der Prozess für die Migration von Daten von einem MongoDB-Sharded-Cluster zu Ihrer Amazon DocumentDB DocumentDB-Instance ist im Wesentlichen der Vorgang mehrerer parallel Replikatsatzmigrationen. Ein wichtiger Aspekt beim Testen einer Migration von Sharded-Clustern ist, dass einige Shards möglicherweise stärker genutzt werden als andere. Diese Situation führt zu unterschiedlichen Laufzeiten der Datenmigration. Stellen Sie sicher, dass Sie bei der Planung und beim Testen die Anforderungen der einzelnen Shards bewerten. oplog
Im Folgenden sind einige Konfigurationsprobleme aufgeführt, die bei der Migration eines Sharded-Clusters zu berücksichtigen sind:
-
Bevor Sie
mongodump
ausführen oder eine AWS DMS -Migrationsaufgabe starten, müssen Sie den Sharded-Cluster-Balancer deaktivieren und warten, bis alle laufenden Migrationen abgeschlossen sind. Weitere Informationen finden Sie unter Balancer deaktivieren in der MongoDB-Dokumentation. -
Wenn Sie Daten AWS DMS replizieren, führen Sie den
cleanupOrphaned
Befehl auf jedem Shard aus, bevor Sie die Migrationsaufgaben ausführen. Wenn Sie diesen Befehl nicht ausführen, schlagen die Aufgaben möglicherweise fehl, weil das Dokument doppelt vorhanden ist. IDs Beachten Sie, dass dieser Befehl die Leistung beeinträchtigen kann. Weitere Informationen finden Sie cleanupOrphanedin der MongoDB-Dokumentation. -
Wenn Sie das
mongodump
-Tool zum Abrufen von Daten verwenden, sollten Sie einenmongodump
-Prozess pro Shard ausführen. Der zeiteffizienteste Ansatz erfordert möglicherweise mehrere Migrationsserver, um die Leistung Ihres Dumps zu maximieren. -
Wenn Sie Daten AWS Database Migration Service replizieren, müssen Sie für jeden Shard einen Quellendpunkt erstellen. Führen Sie außerdem mindestens eine Migrationsaufgabe für jeden Shard aus, den Sie migrieren. Der zeiteffizienteste Ansatz erfordert möglicherweise mehrere Replikations-Instances, um die Migrationsleistung zu maximieren.
Leistungstests
Nachdem Sie Ihre Daten erfolgreich in Ihren Amazon DocumentDB-Test-Cluster migriert haben, führen Sie Ihren Test-Workload für den Cluster aus. Stellen Sie anhand von CloudWatch Amazon-Metriken sicher, dass Ihre Leistung dem aktuellen Durchsatz Ihrer MongoDB-Quellbereitstellung entspricht oder diesen übersteigt.
Überprüfen Sie die folgenden wichtigen Amazon DocumentDB-Metriken:
-
Netzwerkdurchsatz
-
Schreibdurchsatz
-
Lesedurchsatz
-
Replikatverzögerung
Weitere Informationen finden Sie unter Überwachung von Amazon DocumentDB.
Failover-Tests
Stellen Sie sicher, dass das Verhalten Ihrer Anwendung während eines Amazon DocumentDB-Failover-Ereignisses Ihren Verfügbarkeitsanforderungen entspricht. Um ein manuelles Failover eines Amazon DocumentDB-Clusters auf der Konsole zu initiieren, wählen Sie auf der Cluster-Seite im Menü Aktionen die Aktion Failover aus.
Sie können einen Failover auch einleiten, indem Sie die Operation failover-db-cluster
von der AWS CLI aus ausführen. Weitere Informationen finden Sie failover-db-cluster
im Abschnitt Amazon DocumentDB der AWS CLI Referenz.
Weitere Ressourcen
Weitere Informationen finden Sie in den folgenden Themen im AWS Database Migration Service -Benutzerhandbuch: