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

Amazon DynamoDB point-in-time Recovery (PITR) bietet kontinuierliche Backups Ihrer DynamoDB-Tabellendaten. Sie können eine Tabelle mit der DynamoDB-Konsole oder AWS Command Line Interface (AWS CLI) im Zustand eines bestimmten Zeitpunkts wiederherstellen. Der point-in-time Wiederherstellungsprozess wird in einer neuen Tabelle wiederhergestellt.

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

Bei diesem Verfahren wird davon ausgegangen, dass Sie die point-in-time Wiederherstellung aktiviert haben. Um es für die Music Tabelle zu aktivieren, wählen Sie auf der Registerkarte Backups im Abschnitt Point-in-time Recovery (PITR) die Option Bearbeiten aus und aktivieren Sie dann das Kontrollkästchen neben Aktivieren point-in-time-recovery.

So stellen Sie Tabelle im Zustand eines bestimmten Zeitpunkts wieder her
  1. Melden Sie sich bei der an AWS Management Console 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 Bereich Point-in-time Recovery (PITR) die Option Restore 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 auf einen bestimmten Zeitpunkt (AWS CLI)

Das folgende Verfahren zeigt, wie Sie mit dem AWS CLI eine vorhandene Tabelle wiederherstellen können, die Music nach einem bestimmten Zeitpunkt benannt ist.

Anmerkung

Bei diesem Verfahren wird davon ausgegangen, dass Sie die point-in-time 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. Vergewissern Sie sich mithilfe des describe-continuous-backups Befehls, dass die point-in-time Wiederherstellung für die Music Tabelle aktiviert ist.

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

    Kontinuierliche Backups (automatisch bei der Tabellenerstellung aktiviert) und point-in-time Recovery 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 der vergangenen 35 Tage angeben. 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, als 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 die AWS Standardregion auf 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 der Wiederherstellung nicht die Richtlinien AWS Identity and Access Management (IAM), 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. IAMRichtlinien, die Quell-IP-Beschränkungen für den Zugriff auf die Zielwiederherstellungstabelle beinhalten, können ebenfalls Probleme verursachen.

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