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.

Wenn Sie die AWS CLI verwenden möchten, müssen Sie sie zunächst 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ähren Sie auf der Registerkarte Backups, im Abschnitt Zeitpunktbezogene Wiederherstellung (PITR) Bearbeiten aus und aktivieren Sie dann das Kontrollkästchen neben Aktivieren der zeitpunktbezogenen Wiederherstellung.

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

Das folgende Beispiel zeigt, wie Sie mithilfe der AWS CLI die vorhandene Tabelle Music im Zustand eines bestimmten Zeitpunkts wiederherstellen.

Anmerkung

Hierbei wird vorausgesetzt, dass Sie die zeitpunktbezogene Wiederherstellung aktiviert haben. Führen Sie den folgenden Befehl aus, um die 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 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 als der 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 über die Befehlszeile ausführen, müssen Sie die Standard-AWS-Region auf die gewünschte Zielregion einstellen. 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

Modifizieren oder löschen Sie während der Wiederherstellung nicht die AWS Identity and Access Management (IAM)-Richtlinien, die der IAM-Entität (z. B. Benutzer, Gruppe oder Rolle) die Berechtigung zum Ausführen der Wiederherstellung verleihen. 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.