Verschieben eines Azure Cosmos DB NoSQL-Kontos in eine andere Region
Es gibt verschiedene mögliche Gründe, warum Sie Ihre vorhandenen Azure-Ressourcen aus einer Region in eine andere verschieben möchten. Möglicherweise möchten Sie Folgendes ausführen:
- Nutzen Sie die Vorteile einer neuen Azure-Region.
- Stellen Sie Features oder Dienste bereit, die nur in bestimmten Regionen verfügbar sind.
- Erfüllen Sie interne Richtlinien- und Governanceanforderungen.
- Ausrichtung an Unternehmenszusammenschlüssen und -übernahmen
- Um die Anforderungen an die Kapazitätsplanung zu erfüllen
In diesem Artikel wird die Vorgehensweise für folgende Vorgänge beschrieben:
- Verschieben eines Bereichs, in dem Daten in Azure Cosmos DB repliziert werden.
- Migrieren von Kontometadaten (Azure Resource Manager) und Daten aus einer Region in eine andere.
Voraussetzungen
Eine App-Registrierung muss mit delegierter Berechtigung für die Quell- und Zielressourcengruppeninstanz und „API-Berechtigung“ für „User.ReadBasic.All“ erstellt werden.
Die ausgewählte Cosmos DB-API muss von Quelle bis Ziel gleich bleiben. In diesem Dokument wird die SQL DB-API verwendet.
Die Länge von Kontonamen muss auf 44 Zeichen (ausschließlich Kleinbuchstaben) beschränkt sein.
Wenn Sie einem Azure Cosmos-Konto Speicherorte hinzufügen oder aus ihm entfernen, können Sie nicht gleichzeitig andere Eigenschaften ändern.
Identifizieren Sie alle von Cosmos DB abhängigen Ressourcen.
Ausfallzeit
Überlegungen für Dienstendpunkte
Die VNET-Dienstendpunkte für Azure Cosmos DB beschränken den Zugriff auf angegebene virtuelle Netzwerke. Die Endpunkte können auch den Zugriff auf eine Liste von IPv4-Adressbereichen (Internet Protocol, Version 4) beschränken. Allen Benutzern, die außerhalb dieser Quellen eine Verbindung mit Event Hubs herstellen, wird der Zugriff verweigert. Wenn Dienstendpunkte in der Quellregion für die Event Hubs-Ressource konfiguriert wurden, muss das auch im Zielwert der Fall sein.
Für eine erfolgreiche Wiederherstellung von Event Hubs in der Zielregion müssen vorher das VNet und das Subnetz erstellt werden. Wenn die Verschiebung dieser beiden Ressourcen mit dem Azure Resource Mover-Tool durchgeführt wird, werden die Dienstendpunkte nicht automatisch konfiguriert. Daher müssen sie manuell konfiguriert werden, was über das Azure-Portal, die Azure CLI oder über Azure PowerShell erfolgen kann.
Erneute Bereitstellung ohne Daten
In Fällen, in denen die Cosmos DB-Instanz ohne Konfigurations- und Kundendaten allein verschoben werden muss, kann die Instanz selbst mithilfe von Microsoft.DocumentDB databaseAccounts erstellt werden.
Erneute Bereitstellung mit Daten
Azure Cosmos DB unterstützt nativ die Datenreplikation, sodass das Verschieben von Daten aus einer Region in eine andere ein einfacher Vorgang ist. Sie können ihn über das Azure-Portal, mit Azure PowerShell oder mithilfe der Azure CLI ausführen. Dazu sind die folgenden Schritte erforderlich:
Fügen Sie dem Konto eine neue Region hinzu.
Informationen zum Hinzufügen einer neuen Region zu einem Azure Cosmos DB-Konto finden Sie unter Hinzufügen/Entfernen von Regionen zu einem Azure Cosmos DB-Konto.
Führen Sie ein manuelles Failover in die neue Region aus.
Wenn die zu entfernende Region zurzeit die Schreibregion für das Konto ist, müssen Sie ein Failover auf die neue Region starten, die im vorherigen Schritt hinzugefügt wurde. Dies ist ein Vorgang ohne Ausfallzeit. Wenn Sie eine Leseregion in ein Konto mit mehreren Regionen verschieben, können Sie diesen Schritt überspringen.
Informationen zum Starten eines Failovers finden Sie unter Ausführen eines manuellen Failovers für ein Azure Cosmos DB-Konto.
Entfernen Sie die ursprüngliche Region.
Informationen zum Entfernen einer Region aus einem Azure Cosmos DB-Konto finden Sie unter Hinzufügen/Entfernen von Regionen aus Ihrem Azure Cosmos DB-Konto.
Hinweis
Wenn Sie einen Failovervorgang ausführen oder eine neue Region hinzufügen/entfernen, während ein asynchroner Durchsatzskalierungsvorgang aktiv ist, wird der Vorgang zum horizontalen Hochskalieren des Durchsatzes angehalten. Er wird automatisch fortgesetzt, sobald der Failovervorgang oder das Hinzufügen/Entfernen der Region abgeschlossen ist.
Erneute Bereitstellung von Azure Cosmos DB-Kontometadaten
Azure Cosmos DB unterstützt das Migrieren von Kontometadaten aus einer Region in eine andere nicht nativ. Wenn Sie die Kontometadaten und die Kundendaten aus einer Region in eine andere migrieren möchten, müssen Sie ein neues Konto in der gewünschten Region erstellen und dann die Daten manuell kopieren.
Wichtig
Es ist nicht erforderlich, die Kontometadaten zu migrieren, wenn die Daten gespeichert oder in eine andere Region verschoben werden. Die Region, in der sich die Kontometadaten befinden, hat keinen Einfluss auf die Leistung, die Sicherheit oder andere betriebliche Aspekte Ihres Azure Cosmos DB-Kontos.
Bei einer Migration nahezu ohne Ausfallzeit für die API für NoSQL ist die Verwendung des Änderungsfeeds oder eines Tools erforderlich, von dem sie verwendet wird.
Die folgenden Schritte veranschaulichen, wie ein Azure Cosmos DB-Konto für die API für NoSQL und die zugehörigen Daten aus einer Region in eine andere migriert werden:
Erstellen Sie ein neues Azure Cosmos DB-Konto in der gewünschten Region.
Informationen zum Erstellen eines neuen Kontos über das Azure-Portal, PowerShell oder die Azure CLI finden Sie unter Erstellen eines Azure Cosmos DB-Kontos.
Erstellen Sie eine neue Datenbank und einen Container.
Informationen zum Erstellen einer neuen Datenbank und eines Containers finden Sie unter Erstellen eines Azure Cosmos DB-Containers.
Migrieren Sie Daten mithilfe des Beispiels für die Livemigration des Azure Cosmos DB Spark-Connectors.
Informationen zum Migrieren von Daten nahezu ohne Ausfallzeiten finden Sie unter Live Migrate Azure Cosmos DB SQL API Containers data with Spark Connector.
Aktualisieren Sie die Anwendungsverbindungszeichenfolge.
Während das Live Data Migrator-Beispiel ausgeführt wird, aktualisieren Sie die Verbindungsinformationen in der neuen Bereitstellung Ihrer Anwendung. Sie können die Endpunkte und Schlüssel für Ihre Anwendung über das Azure-Portal abrufen.
Leiten Sie Anforderungen an die neue Anwendung um.
Nachdem die neue Anwendung mit Azure Cosmos DB verbunden wurde, können Sie Clientanforderungen an Ihre neue Bereitstellung umleiten.
Löschen Sie alle Ressourcen, die Sie nicht mehr benötigen.
Da Anforderungen jetzt vollständig an die neue Instanz umgeleitet werden, können Sie das alte Azure Cosmos DB-Konto löschen und das Live Data Migrator-Beispiel beenden.
Nächste Schritte
Weitere Informationen und Beispiele zum Verwalten des Azure Cosmos DB-Kontos sowie von Datenbanken und Containern finden Sie in den folgenden Artikeln: