Freigeben über


Fortlaufende Sicherung mit der Zeitpunktwiederherstellung von Azure Cosmos DB

GILT FÜR: NoSQL MongoDB Kobold Tabelle

Das Feature „Zeitpunktwiederherstellung“ von Azure Cosmos DB unterstützt verschiedene Szenarien. Hierzu zählen beispielsweise:

  • Wiederherstellung nach einem versehentlichen Schreib- oder Löschvorgang in einem Container
  • Wiederherstellen eines gelöschten Kontos, einer Datenbank oder eines Containers.
  • Wiederherstellung in einer beliebigen Region (in der Sicherungen vorhanden waren) zum Wiederherstellungszeitpunkt

Azure Cosmos DB erstellt die Datensicherung im Hintergrund, ohne zusätzlichen bereitgestellten Durchsatz (Anforderungseinheiten, RUs) zu beanspruchen oder die Leistung und Verfügbarkeit Ihrer Datenbank zu beeinträchtigen. Fortlaufende Sicherungen werden in jeder Region durchgeführt, in der das Konto vorhanden ist. Beispielsweise kann ein Konto über eine Schreibregion in „USA, Westen“ und über Leseregionen in „USA, Osten“ und „USA, Osten 2“ verfügen. Diese Replikatregionen können dann jeweils in einem Azure Storage-Remotekonto in der entsprechenden Region gesichert werden. Standardmäßig speichert jede Region die Sicherung in lokal redundanten Speicherkonten. Wenn die Region Verfügbarkeitszonen aktiviert hat, wird die Sicherung in zonenredundanten Speicherkonten gespeichert.

Diagramm der regionsübergreifenden Sicherung eines Containers

Das für die Wiederherstellung verfügbare Zeitfenster (auch als Aufbewahrungszeitraum bezeichnet) ist der niedrigere Wert der folgenden beiden Optionen: 30 Tage und 7 Tage.

Die ausgewählte Option hängt von der ausgewählten Ebene der fortlaufenden Sicherung ab. Der Zeitpunkt für die Wiederherstellung kann ein beliebiger Zeitstempel innerhalb des Aufbewahrungszeitraums sein, aber nicht weiter zurückliegen als der Punkt, an dem die Ressource erstellt wurde. Im Modus für hohe Konsistenz sind die Sicherungen in der Schreibregion aktueller als die Leseregionen. Leseregionen können aufgrund von Netzwerk- oder anderen vorübergehenden Problemen im Rückstand sein. Bei der Wiederherstellung haben Sie die Möglichkeit zum Abrufen des letzten wiederherstellbaren Zeitstempels für eine bestimmte Ressource in einer bestimmten Region. Wenn Sie auf den neuesten wiederherstellbaren Zeitstempel verweisen, können Sie sicherstellen, dass Ressourcensicherungen bis zum angegebenen Zeitstempel vorliegen und in dieser Region wiederhergestellt werden können.

Aktuell können Sie die Inhalte eines Azure Cosmos DB-Kontos (API für NoSQL oder MongoDB, API für Table, API für Gremlin) zu einem bestimmten Zeitpunkt in einem anderen Konto wiederherstellen. Sie können diesen Wiederherstellungsvorgang über das Azure-Portal, die Azure CLI-, Azure PowerShell- oder Azure Resource Manager-Vorlagen ausführen.

Redundanz für Sicherungsspeicher

Standardmäßig speichert Azure Cosmos DB Sicherungsdaten im kontinuierlichen Modus in lokal redundanten Speicherblobs. In Regionen, in denen Zonenredundanz konfiguriert ist, wird die Sicherung in zonenredundanten Speicherblobs gespeichert. Im fortlaufenden Sicherungsmodus können Sie die Art der Sicherungsspeicherredundanz nicht ändern.

Verschiedene Möglichkeiten für die Wiederherstellung

Der fortlaufende Sicherungsmodus unterstützt zwei Möglichkeiten zum Wiederherstellen von gelöschten Containern oder Datenbanken. Sie können in einem neuen Konto oder in einem vorhandenen Konto wiederhergestellt werden. Für welche dieser beiden Modi Sie sich entscheiden, richtet sich nach den Szenarien. In den meisten Fällen wird es bevorzugt, gelöschte Container und Datenbanken in einem vorhandenen Konto wiederherzustellen. Dadurch werden die Kosten für die Datenübertragung vermieden, die beim Wiederherstellen eines neuen Kontos erforderlich sind. Bei Szenarien, in denen versehentliche Datenänderungen vorgenommen wurden, kann die Wiederherstellung in einem neuen Konto die bevorzugte Option sein.

Was wird in einem neuen Konto wiederhergestellt?

Im stabilen Zustand werden alle Mutationsvorgänge, die für das Quellkonto durchgeführt werden (dies umfasst Datenbanken, Container und Elemente), innerhalb von 100 Sekunden asynchron gesichert. Falls das Azure Storage-Sicherungsmedium nicht aktiv oder verfügbar ist, werden die Mutationsvorgänge lokal gespeichert, bis das Medium wieder verfügbar ist. Anschließend werden die Mutationsvorgänge aus dem Speicher entfernt, um Genauigkeitseinbußen bei den Vorgängen zu verhindern, die wiederhergestellt werden können.

Sie können auswählen, ob eine beliebige Kombination von Containern für bereitgestellten Durchsatz, eine Datenbank mit gemeinsam genutztem Durchsatz oder das gesamte Konto wiederhergestellt werden soll. Bei Verwendung der Wiederherstellungsaktion werden alle Daten und die zugehörigen Indexeigenschaften unter einem neuen Konto wiederhergestellt. Mit dem Wiederherstellungsprozess wird sichergestellt, dass Daten, die für ein Konto, eine Datenbank oder einen Container wiederhergestellt werden, bis zum angegebenen Wiederherstellungszeitpunkt konsistent sind. Die Dauer der Wiederherstellung hängt von der Datenmenge ab, die wiederhergestellt werden muss. Die Konsistenzeinstellung des neu wiederhergestellten Datenbankkontos entspricht den Konsistenzeinstellungen des Quelldatenbankkontos.

Hinweis

Im fortlaufenden Sicherungsmodus werden die Sicherungen in jeder Region durchgeführt, in der Ihr Azure Cosmos DB-Konto verfügbar ist. Sicherungen, die für jedes Regionskonto erstellt werden, sind standardmäßig lokal redundant und zoneredundant, wenn Ihr Konto die Verfügbarkeitszonenfunktion für diese Region aktiviert hat. Mit der Wiederherstellungsaktion werden Daten immer in einem neuen Konto wiederhergestellt.

Was wird nicht wiederhergestellt?

Nach der Zeitpunktwiederherstellung werden die folgenden Konfigurationen nicht wiederhergestellt:

  • Eine Teilmenge von Containern unter einer Datenbank mit gemeinsamem Durchsatz kann nicht wiederhergestellt werden. Die gesamte Datenbank kann als Ganzes wiederhergestellt werden.
  • Firewall,virtuelles Netzwerk, rollenbasierte Zugriffssteuerung für Datenebene oder einstellungen für private Endpunkte.
  • Alle Regionen aus dem Quellkonto.
  • Gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen
  • Zuweisungen der rollenbasierten Zugriffssteuerung.

Sie können diese Konfigurationen dem wiederhergestellten Konto hinzufügen, nachdem der Wiederherstellungsvorgang abgeschlossen ist.

Wiederherstellbarer Zeitstempel für Live-Konten

Für die Wiederherstellung nicht gelöschter Azure Cosmos DB-Livekonten empfiehlt es sich, immer den letzten wiederherstellbaren Zeitstempel für den Container zu ermitteln. Sie können dann diesen Zeitstempel verwenden, um die aktuelle Version des Kontos wiederherzustellen.

Wiederherstellungsszenarien

Die Point-in-Time-Wiederherstellungsfunktion unterstützt die folgenden Szenarien. Szenarien 1 bis 3 veranschaulichen, wie eine Wiederherstellung ausgelöst wird, wenn der Wiederherstellungszeitstempel vorher bekannt ist. Es kann jedoch Szenarien geben, in denen der genaue Zeitpunkt der versehentlichen Löschung oder Beschädigung nicht bekannt ist. Szenarien 4 und 5 veranschaulichen, wie Sie den Zeitstempel der Wiederherstellung mithilfe der neuen Ereignisfeed-APIs für die wiederherstellbare Datenbank oder Container ermitteln .

Diagramm, das Lebenszyklusereignisse mit Zeitstempeln für ein wiederherstellbares Konto zeigt.

  • Szenario 1 : Wiederherstellen eines gelöschten Kontos: Alle gelöschten Konten, die Sie wiederherstellen können, sind im Bereich "Wiederherstellen " sichtbar. Angenommen, Konto A wird bei Zeitstempel T3 gelöscht. In diesem Fall reichen der Zeitstempel direkt vor T3, Ort, Zielkontoname und Ressourcengruppe aus, um die Wiederherstellung über das Azure-Portal, PowerShell oder die CLI durchzuführen.

    Lebenszyklusereignisse mit Zeitstempeln für eine wiederherstellbare Datenbank und einen Container.

  • Szenario 2 : Wiederherstellen von Daten eines Kontos in einer bestimmten Region: Wenn " Konto A " beispielsweise in zwei Regionen ost-US und west-US zum Zeitstempel T3 vorhanden ist. Wenn Sie eine Kopie des Kontos A in West US benötigen, können Sie eine Wiederherstellung zu einem bestimmten Zeitpunkt über das Azure-Portal, PowerShell oder CLI durchführen und West US als Zielspeicherort festlegen.

  • Szenario 3 – Wiederherstellen eines versehentlichen Schreib- oder Löschvorgangs innerhalb eines Containers mit einem bekannten Wiederherstellungszeitstempel: Wenn Sie beispielsweise wissen, dass der Inhalt von Container 1 innerhalb von Datenbank 1 versehentlich beim Zeitstempel T3 geändert wurde. Sie können eine Wiederherstellung zu einem bestimmten Zeitpunkt über das Azure-Portal, PowerShell oder CLI in ein anderes Konto zum Zeitpunkt T3 durchführen, um den gewünschten Zustand des Containers wiederherzustellen.

  • Szenario 4 : Wiederherstellen eines Kontos zu einem früheren Zeitpunkt vor dem versehentlichen Löschen der Datenbank: Im Azure-Portal können Sie den Ereignisfeedbereich verwenden, um zu bestimmen, wann eine Datenbank gelöscht wurde, und die Wiederherstellungszeit zu finden. Ebenso können Sie mithilfe der Azure CLI und PowerShell das Datenbanklöschungsereignis ermitteln, indem Sie den Ereignisfeed der Datenbank auflisten und dann den Wiederherstellungsbefehl mit den erforderlichen Parametern auslösen.

  • Szenario 5 : Wiederherstellen eines Kontos zu einem früheren Zeitpunkt vor dem versehentlichen Löschen oder Ändern der Containereigenschaften: Im Azure-Portal können Sie den Ereignisfeedbereich verwenden, um zu bestimmen, wann ein Container erstellt, geändert oder gelöscht wurde, um die Wiederherstellungszeit zu finden. Ebenso können Sie mithilfe der Azure CLI und PowerShell alle Containerereignisse ermitteln, indem Sie den Ereignisfeed des Containers auflisten und dann den Wiederherstellungsbefehl mit den erforderlichen Parametern auslösen.

Berechtigungen

Mit Azure Cosmos DB können Sie die Wiederherstellungsberechtigungen für ein Konto für die fortlaufende Sicherung auf eine bestimmte Rolle oder einen Prinzipal isolieren und einschränken. Weitere Informationen finden Sie unter Verwalten von Berechtigungen zum Wiederherstellen eines Azure Cosmos DB-Kontos.

Grundlegendes zur Wiederherstellung von Konten mit mehreren Schreibregionen

Schreibvorgänge, die in der Hubregion ausgeführt werden, werden sofort bestätigt und innerhalb von 100 Sekunden asynchron gesichert. Bei Konten mit mehreren Schreibregionen werden alle Änderungen in der Satellitenregion zur Bestätigung an die Hubregion gesendet. Die Hubregion überprüft, ob eine Konfliktlösung erforderlich ist, weist nach der Auflösung der Konflikte einen Zeitstempel für die Konfliktlösung zu und sendet das Dokument an die Satellitenregion zurück. Die Satellitenregion sichert nur die Dokumente, nachdem die Bestätigung vom Hub empfangen wurde. Kurz gesagt, der Wiederherstellungsprozess stellt nur die Dokumente wieder her, die von der Hub-Region bis zum Wiederherstellungszeitpunkt bestätigt wurden.

Was geschieht bei der Wiederherstellung für ein Konto mit mehreren Schreibregionen?

  • Die Mutationen, die noch nicht durch den Wiederherstellungszeitstempel bestätigt wurden, werden nicht wiederhergestellt.
  • Die Sammlungen mit benutzerdefinierten Konfliktlösungsrichtlinien werden anhand des Zeitstempels auf den letzten Schreiber zurückgesetzt.

Hinweis

Die Wiederherstellung aus der Satellitenregion ist im Vergleich zur Wiederherstellung in der Hubregion für ein Konto mit mehreren Schreibregionen langsamer, da lokale Schreibvorgänge mit Vorbehalt wie bestätigt aufgelöst oder eine Aktion für deren Rollback ausgeführt werden muss.

Weitere Informationen zum Verständnis von Zeitstempeln in einem mehrschreibfähigen Konto finden Sie unter "Grundlegendes zu Zeitstempeln".

Beispielszenario: Betrachtet man ein Konto mit mehreren Schreibregionen, das die Regionen Ost-USA und West-USA umfasst, wobei Ost-USA die Hubregion ist, betrachten Sie die folgende Ereignisabfolge:

  • T1: Der Kunde schreibt ein Dokument Doc1 in ost-US (Da Ost-USA die Hubregion ist, wird der Schreibvorgang sofort bestätigt)

  • T2: Der Client schreibt ein Dokument Doc2 in USA, Westen.

  • T3: West-USA sendet Doc2 zur Bestätigung an ost-US

  • T4: Ost-USA erhielt Doc2, bestätigt das Dokument und sendet Doc2 zurück nach West-USA

  • T5: USA, Westen erhält das bestätigte Doc2.

Wenn der in diesem Szenario angegebene Wiederherstellungszeitstempel T3 für die Hubregion als Quelle ist, wird nur Doc1 wiederhergestellt. Doc2 wurde zum Zeitpunkt T3 noch nicht durch die Hubregion bestätigt. Nur wenn der Wiederherstellungszeitstempel größer als T4 ist, wird doc2 wiederhergestellt, da die Wiederherstellung bei T4 in der Satellitenregion nur doc1 enthält, da doc2 noch nicht bestätigt wurde.

Preise

Für Azure Cosmos DB-Konten mit fortlaufender 30-Tage-Sicherung fällt eine monatliche Zusatzgebühr für das Speichern der Sicherung an. Gebühren für das Wiederherstellen Ihrer Daten fallen sowohl bei der fortlaufenden 30-Tage-Sicherung als auch bei der fortlaufenden 7-Tage-Sicherung an. Die Wiederherstellungskosten werden bei jedem Initiieren des Wiederherstellungsvorgangs hinzugefügt. Wenn Sie ein Konto mit fortlaufender Sicherung konfigurieren, die Daten aber nicht wiederherstellen, sind in Ihrer Rechnung nur Kosten für den Sicherungsspeicher enthalten.

Das folgende Beispiel basiert auf dem Preis für ein Azure Cosmos DB-Konto, das in der Region „USA, Westen“ bereitgestellt wird. Die Preise und die Berechnung können je nach verwendeter Region variieren. Aktuelle Preisinformationen finden Sie auf der Seite Azure Cosmos DB – Preise.

  • Bei allen Konten mit aktivierter Richtlinie für die fortlaufende Sicherung mit 30 Tagen fallen monatliche Zusatzgebühren für den Sicherungsspeicher an. Diese werden wie folgt berechnet:

    0,20 USD/GB * Datengröße in GB im Konto * Anzahl der Regionen

  • Jeder Wiederherstellungs-API-Aufruf verursacht eine einmalige Belastung. Die Belastung ist eine Funktion der wiederhergestellten Datenmenge:

    $0,15/GB * Datengröße in GB

Wenn Sie beispielsweise 1 TB Daten in zwei Regionen haben:

  • Die Kosten für den Sicherungsspeicher werden als 1000 * 0,20 * 2 = 400 $ pro Monat berechnet.

  • Wiederherstellungskosten werden als 1000 * 0,15 $ = 150 $ pro Wiederherstellung berechnet.

Tipp

Weitere Informationen zum Messen der aktuellen Datennutzung Ihres Azure Cosmos DB-Kontos finden Sie unter Informationen zu Azure Cosmos DB-Erkenntnissen von Azure Monitor. Die fortlaufende 7-Tage-Stufe verursacht keine Gebühren für die Sicherung der Daten.

Fortlaufende 30-Tage-Stufe im Vergleich zur 7-Tage-Stufe

  • Der Aufbewahrungszeitraum für eine Ebene beträgt 30 Tage im Vergleich zu 7 Tagen für eine andere Ebene.
  • Die Aufbewahrungsstufe von 30 Tagen wird für den Sicherungsspeicher in Rechnung gestellt. Die Aufbewahrungsdauer von 7 Tagen wird nicht in Rechnung gestellt.
  • Die Wiederherstellung wird in beiden Ebenen immer berechnet.

Gültigkeitsdauer

  • Der Standardmäßige Wiederherstellungsvorgang stellt alle Eigenschaften eines Containers einschließlich der TTL-Konfiguration wieder her. Dies kann dazu führen, dass Daten gelöscht werden, wenn die Wiederherstellung erfolgt, ohne die TTL zu deaktivieren. Um das Löschen zu verhindern, übergeben Sie einen Parameter, um TTL in PowerShell (-DisableTtl $true) oder cli (--disable-ttl True) zu deaktivieren, während Sie die Wiederherstellung ausführen.

Vom Kunden verwaltete Schlüssel

Unter Wie wirken sich kundenseitig verwaltete Schlüssel auf die fortlaufende Sicherung aus? erfahren Sie Folgendes:

  • Konfigurieren Ihres Azure Cosmos DB-Kontos bei Verwendung von kundenseitig verwalteten Schlüsseln mit fortlaufender Sicherung
  • Auswirkung von kundenseitig verwalteten Schlüsseln auf die Wiederherstellung

Aktuelle Einschränkungen

** Derzeit hat die Funktionalität für die zeitpunktbezogene Wiederherstellung die folgenden Einschränkungen:

  • Azure Cosmos DB-APIs für SQL, MongoDB, Gremlin und Table werden für die fortlaufende Sicherung unterstützt. Die API für Cassandra wird jetzt nicht unterstützt.

  • Azure Synapse Link für Datenbankkonten mit fortlaufendem Sicherungsmodus ist allgemein verfügbar. Die entgegengesetzte Situation, der fortlaufende Sicherungsmodus für Synapse Link-fähige Konten, befindet sich in der öffentlichen Vorschau. Derzeit können Kunden, die Synapse Link von Containern deaktiviert haben, nicht zu einer fortlaufenden Sicherung migrieren. Und analytischer Speicher ist nicht in Sicherungen enthalten. Weitere Informationen finden Sie unter analytische Speicherungssicherung.

  • Das wiederhergestellte Konto wird in derselben Region erstellt, in der sich Ihr Quellkonto befindet. Sie können kein Konto in einer Region wiederherstellen, in der das Quellkonto nicht vorhanden war.

  • Das Wiederherstellungsfenster beträgt nur 30 Tage für den fortlaufenden 30-Tage-Tarif und sieben Tage für den fortlaufenden 7-Tage-Tarif. Diese Tarife können gewechselt werden, aber die tatsächlichen Mengen (7 oder 30) können nicht geändert werden. Wenn Sie vom 30-Tage-Tarif auf den 7-Tage-Tarif umstellen, besteht außerdem eine Möglichkeit für Datenverluste an Tagen, die über den siebten hinaus hinausgehen.

  • Die Sicherungen sind nicht automatisch georedundant. Eine andere Region sollte explizit zur Resilienz des Kontos und der Sicherung hinzugefügt werden.

  • Während einer Wiederherstellung dürfen die IAM-Richtlinien (Identity & Access Management) nicht geändert oder gelöscht werden. Diese Richtlinien gewähren dem Konto die Berechtigung, jede virtuelle Netzwerk- und Firewallkonfiguration zu ändern.

  • Azure Cosmos DB für MongoDB-Konten mit fortlaufender Sicherung unterstützen das Erstellen eines eindeutigen Indexes für eine vorhandene Sammlung nicht. Für ein solches Konto müssen eindeutige Indizes zusammen mit ihrer Sammlungserstellung erstellt werden. Dies muss und kann nur mithilfe der Erweiterungsbefehle zum Erstellen von Sammlungen erfolgen.

  • Nach der Wiederherstellung ist es möglich, dass für bestimmte Auflistungen der konsistente Index neu erstellt werden kann. Sie können den Status des Vorgangs für die Neuerstellung über die Eigenschaft IndexTransformationProgress verfolgen.

  • Eindeutige Indizes können in der API für MongoDB nicht hinzugefügt, aktualisiert oder gelöscht werden, wenn Sie ein Konto im fortlaufenden Sicherungsmodus erstellen. Sie können auch nicht geändert werden, wenn Sie ein Konto vom periodischen zum fortlaufenden Modus migrieren.

  • Die fortlaufende Moduswiederherstellung stellt möglicherweise nicht die Durchsatzeinstellung wieder her, die zum Zeitpunkt des Wiederherstellungspunkts gültig war.

Nächste Schritte