View a markdown version of this page

Wiederherstellen einer DynamoDB-Tabelle auf einen bestimmten Zeitpunkt - Amazon DynamoDB

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.

Wiederherstellen einer DynamoDB-Tabelle auf einen bestimmten Zeitpunkt

Die zeitpunktbezogene Wiederherstellung (Point-in-time Recovery, PITR) in Amazon DynamoDB stellt fortlaufend Backups Ihrer DynamoDB-Tabellendaten bereit. Sie können eine Tabelle mit der DynamoDB-Konsole oder AWS Command Line Interface (AWS CLI) im Zustand eines bestimmten Zeitpunkts wiederherstellen. Bei der zeitpunktbezogenen Wiederherstellung wird immer eine neue Tabelle erstellt.

Da bei einer Wiederherstellung immer eine neue Tabelle erstellt wird, bleibt Ihre Quelltabelle während der Ausführung der Wiederherstellung vollständig für Lese- und Schreibvorgänge verfügbar. Die Dauer der Wiederherstellung hängt von der Datenmenge und der Anzahl der sekundären Indizes ab, die DynamoDB für die neue Tabelle neu erstellt. Größere Tabellen und mehr Indizes benötigen mehr Zeit, und es wird keine feste Abschlusszeit garantiert. Um eine Wiederherstellung zu beschleunigen, können Sie einige oder alle sekundären Indizes aus der neuen Tabelle ausschließen.

Bei einer Wiederherstellung wird anhand der Einstellungen der Quelltabelle zum Zeitpunkt des Wiederherstellungspunkts Folgendes in der neuen Tabelle neu erstellt: die Tabellendaten, globale sekundäre Indizes, lokale sekundäre Indizes, bereitgestellte Lese- und Schreibkapazität und Verschlüsselungseinstellungen. Nach Abschluss der Wiederherstellung müssen Sie die folgenden Einstellungen für die neue Tabelle selbst einrichten, da sie bei einer Wiederherstellung nicht übernommen werden: Auto Scaling-Richtlinien, AWS Identity and Access Management-Richtlinien, CloudWatch Metriken und Alarme, Tags, DynamoDB Streams-Einstellungen, Time-to-Live-Einstellungen und Point-in-Time-Wiederherstellungseinstellungen.

Wenn Sie den verwenden möchten AWS CLI, müssen Sie ihn zuerst konfigurieren. Weitere Informationen finden Sie unter Zugreifen auf DynamoDB.

Wiederherstellen einer DynamoDB-Tabelle auf einen bestimmten Zeitpunkt (Konsole)

Das folgende Beispiel zeigt, wie Sie mit der DynamoDB-Konsole eine vorhandene Tabelle namens Music im Zustand eines bestimmten Zeitpunkts wiederherstellen.

Anmerkung

Hierbei wird vorausgesetzt, dass Sie die zeitpunktbezogene Wiederherstellung aktiviert haben. Um es für die Music Tabelle zu aktivieren, wählen Sie auf der Registerkarte Backups im Abschnitt Point-in-time Wiederherstellung (PITR) die Option Bearbeiten aus und aktivieren Sie dann das Kontrollkästchen neben Point-in-Time-Recovery aktivieren.

So stellen Sie Tabelle im Zustand eines bestimmten Zeitpunkts wieder her
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/

  2. Klicken Sie im Navigationsbereich auf der linken Seite der Konsole auf Tables (Tabellen).

  3. Wählen Sie in der Tabellenliste die Tabelle Music aus.

  4. Wählen Sie auf der Registerkarte Backups der Music Tabelle im Abschnitt Point-in-time Wiederherstellung (PITR) die Option Wiederherstellen aus.

  5. Geben Sie als neuen Tabellennamen MusicMinutesAgo ein.

    Anmerkung

    Sie können die Tabelle in derselben AWS Region oder in einer anderen Region wiederherstellen, in der sich die Quelltabelle befindet. Sie können sekundäre Indizes von der Erstellung für die wiederhergestellte Tabelle ausschließen. Darüber hinaus können Sie einen anderen Verschlüsselungsmodus angeben.

  6. Um die Wiederherstellungszeit zu bestätigen, setzen Sie Datum und Uhrzeit für die Wiederherstellung auf Frühestmöglich. Wählen Sie dann Restore (Wiederherstellen) aus, um den Wiederherstellungsvorgang zu starten.

    Die Tabelle, die wiederhergestellt wird, erhält den Status Restoring. Nach Abschluss des Wiederherstellungsvorgangs ändert sich der Status der Tabelle MusicMinutesAgo in Active (Aktiv).

Wiederherstellen einer Tabelle zu einem bestimmten Zeitpunkt (AWS CLI)

Das folgende Verfahren zeigt, wie Sie den verwenden AWS CLI , um eine vorhandene Tabelle wiederherzustellenMusic, die zu einem bestimmten Zeitpunkt benannt wurde.

Anmerkung

Hierbei wird vorausgesetzt, dass Sie die zeitpunktbezogene Wiederherstellung aktiviert haben. Führen Sie den folgenden Befehl aus, um diese Funktion für die Tabelle Music zu aktivieren.

aws dynamodb update-continuous-backups \ --table-name Music \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True

So stellen Sie Tabelle im Zustand eines bestimmten Zeitpunkts wieder her
  1. Verwenden Sie den Befehl Music, um zu überprüfen, ob die zeitpunktbezogene Wiederherstellung für die Tabelle describe-continuous-backups aktiviert ist.

    aws dynamodb describe-continuous-backups \ --table-name Music

    Fortlaufende Backups (beim Erstellen der Tabelle automatisch aktiviert) und zeitpunktbezogene Wiederherstellung sind aktiviert.

    { "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
  2. Stellen Sie die Tabelle auf einen bestimmten Zeitpunkt wieder her. In diesem Fall wird die Tabelle Music in der LatestRestorableDateTime (vor ~5 Minuten) in derselben AWS -Region wiederhergestellt.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time
    Anmerkung

    Sie können auch auf einen bestimmten Zeitpunkt wiederherstellen. Führen Sie dazu den Befehl mit dem Argument --restore-date-time aus und geben Sie einen Zeitstempel an. Sie können einen beliebigen Zeitpunkt innerhalb des konfigurierten Wiederherstellungszeitraums angeben, der auf einen beliebigen Wert zwischen 1 und 35 Tagen festgelegt werden kann. Beispielsweise wird mit dem folgendem Befehl die Tabelle auf den Zeitpunkt EarliestRestorableDateTime widerhergestellt.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicEarliestRestorableDateTime \ --no-use-latest-restorable-time \ --restore-date-time 1519257118.0

    Für die Wiederherstellung auf einen bestimmten Zeitpunkt ist die Angabe des Arguments --no-use-latest-restorable-time optional.

  3. Stellen Sie die Tabelle mit benutzerdefinierten Tabelleneinstellungen zu einem bestimmten Zeitpunkt wieder her. In diesem Fall wird die Tabelle Music auf den Zeitpunkt LatestRestorableDateTime (etwa vor 5 Minuten) wiederhergestellt.

    Sie können wie folgt einen anderen Verschlüsselungsmodus für die wiederhergestellte Tabelle angeben.

    Anmerkung

    Der Parameter sse-specification-override verwendet dieselben Werte wie der im Befehl CreateTable verwendete Parameter sse-specification-override. Weitere Informationen hierzu finden Sie unter Verwalten von verschlüsselten Tabellen in DynamoDB.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    Sie können die Tabelle in einer anderen AWS Region wiederherstellen, in der sich die Quelltabelle befindet.

    Anmerkung
    • Der Parameter sse-specification-override ist für bereichsübergreifende Wiederherstellungen obligatorisch, für Wiederherstellungen in derselben Region wie die Quelltabelle aber optional.

    • Der Parameter source-table-arn muss für regionsübergreifende Wiederherstellungen bereitgestellt werden.

    • Wenn Sie eine regionsübergreifende Wiederherstellung von der Befehlszeile aus durchführen, müssen Sie als AWS Standardregion die gewünschte Zielregion festlegen. Weitere Informationen finden Sie unter Befehlszeilenoptionen im AWS Command Line Interface -Benutzerhandbuch.

    aws dynamodb restore-table-to-point-in-time \ --source-table-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    Sie können den Abrechnungsmodus und den bereitgestellten Durchsatz für die wiederhergestellte Tabelle überschreiben.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --billing-mode-override PAY_PER_REQUEST

    Sie können einige oder alle sekundären Indizes von der Erstellung für die neu wiederhergestellte Tabelle ausschließen.

    Anmerkung

    Wiederherstellungen können schneller und kosteneffizienter sei, wenn Sie die Erstellung einiger oder aller sekundärer Indizes für die neu wiederhergestellte Tabelle ausschließen.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --global-secondary-index-override '[]'

    Sie können eine Kombination verschiedener Überschreibungen verwenden. Sie können beispielsweise einen einzelnen globalen sekundären Index verwenden und gleichzeitig den bereitgestellten Durchsatz wie folgt ändern.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=50,WriteCapacityUnits=50}" \ --sse-specification-override Enabled=true,SSEType=KMS \ --use-latest-restorable-time

Verwenden Sie zum Überprüfen der Wiederherstellung den Befehl describe-table, um die Tabelle MusicEarliestRestorableDateTime zu beschreiben.

aws dynamodb describe-table --table-name MusicEarliestRestorableDateTime

Die Tabelle, die wiederhergestellt wird, erhält den Status Creating und für die laufende Wiederherstellung den Wert true. Nach Abschluss des Wiederherstellungsvorgangs ändert sich der Status der Tabelle MusicEarliestRestorableDateTime in Active (Aktiv).

Wichtig

Ändern oder löschen Sie während einer Wiederherstellung nicht die AWS Identity and Access Management (IAM-) Richtlinien, die der IAM-Entität (z. B. Benutzer, Gruppe oder Rolle) die Berechtigung zur Durchführung der Wiederherstellung gewähren. Dies könnte andernfalls zu unerwartetem Verhalten führen. Angenommen, Sie haben die Schreibberechtigungen für eine Tabelle entfernt, während diese Tabelle wiederhergestellt wurde. In diesem Fall kann die zugrunde liegende RestoreTableToPointInTime-Operation keine wiederhergestellten Daten in die Tabelle schreiben. Beachten Sie, dass IAM-Richtlinien, die Quell-IP-Beschränkungen für den Zugriff auf die Zielwiederherstellungstabelle vorsehen, ebenfalls Probleme verursachen können.

Sie können Berechtigungen erst modifizieren oder löschen, wenn die Wiederherstellung abgeschlossen ist.