Wiederherstellen einer DB-instance zu einer bestimmten Zeit - Amazon Relational Database Service

Wiederherstellen einer DB-instance zu einer bestimmten Zeit

Sie können eine DB-Instance zu einem bestimmten Zeitpunkt wiederherstellen, indem Sie eine neue DB-Instance erstellen.

Wenn Sie einen DB-Instance- zu einem bestimmten Zeitpunkt verwenden, können Sie die standardmäßige VPC-Sicherheitsgruppe auswählen oder eine benutzerdefinierte VPC-Sicherheitsgruppe auf Ihre DB-Instance anwenden.

Wiederhergestellte DB-Instances werden automatisch dem Standard-DB-Parameter und Optionsgruppen zugeordnet. Sie können jedoch eine benutzerdefinierte Parametergruppe und eine Optionsgruppe anwenden, indem Sie diese während einer Wiederherstellung angeben.

RDS lädt Transaktionsprotokolle für DB-Instances alle 5 Minuten nach Amazon S3 hoch. Um die neueste wiederherstellbare Zeit für eine DB-Instance anzuzeigen, verwenden Sie den Befehl AWS CLIdescribe-db-instances und sehen Sie sich den Wert an, der im LatestRestorableTime Feld für die DB-Instance zurückgegeben wird. Um die neueste Wiederherstellungszeit für jede DB-Instance in der Amazon RDS-Konsole anzuzeigen, wählen Sie Automatische Backups.

Sie können die Wiederherstellung auf jeden beliebigen Zeitpunkt innerhalb des Aufbewahrungszeitraums für Backups vornehmen. Um den frühesten wiederherstellbaren Zeitpunkt für jede DB-Instance anzuzeigen, wählen Sie Automatische Backups in der Amazon RDS-Konsole aus.


            Automatische Backups
Anmerkung

Es wird empfohlen, die gleiche oder eine ähnliche DB-Instance-Größe — und IOPS wiederherzustellen, wenn Speicher mit bereitgestellten IOPS verwendet wird — wie bei der Quell-DB-Instance verwendet wird. Möglicherweise wird ein Fehler angezeigt, wenn Sie beispielsweise eine DB-Instance-Größe mit einem inkompatiblen IOPS-Wert auswählen.

Einige der von Amazon RDS verwendeten Datenbank-Engines haben besondere Berücksichtigung bei der Wiederherstellung ab einem bestimmten Zeitpunkt:

  • Wenn Sie eine Oracle DB-Instance zu einem bestimmten Zeitpunkt wiederherstellen, können Sie eine andere Oracle DB-Engine, ein anderes Lizenzmodell und einen anderen DBNamen (SID) angeben, die von der neuen DB-Instance verwendet werden sollen.

  • Wenn Sie eine SQL Server DB-Instance zu einem Zeitpunkt wiederherstellen, wird jede Datenbank innerhalb dieser Instance zu einem Zeitpunkt innerhalb von 1 Sekunde von jeder anderen Datenbank innerhalb der Instance wiederhergestellt. Transaktionen, die sich über mehrere Datenbanken innerhalb der Instance erstrecken, können inkonsistent wiederhergestellt werden.

  • Für eine SQL Server-DB-Instance werden die Modi OFFLINE, EMERGENCY und SINGLE_USER nicht unterstützt. Wenn Sie eine Datenbank in einen dieser Modi schalten, wird die letzte wiederherstellbare Zeit für die gesamte Instance nicht mehr fortgesetzt.

  • Einige Aktionen, wie z. B. das Ändern des Wiederherstellungsmodells einer SQL Server-Datenbank, können die Abfolge der Protokolle unterbrechen, die für die zeitpunktbezogene Wiederherstellung verwendet werden. In einigen Fällen kann Amazon RDS dieses Problem erkennen und die letzte wiederherstellbare Zeit wird an der Fortsetzung gehindert. In anderen Fällen, z. B. wenn eine SQL Server-Datenbank das Wiederherstellungsmodell BULK_LOGGED verwendet, wird die Unterbrechung der Protokollsequenz nicht erkannt. Es ist unter Umständen nicht möglich, eine SQL Server DB-Instance zu einem bestimmten Zeitpunkt wiederherzustellen, wenn die Protokollsequenz unterbrochen wurde. Aus diesen Gründen unterstützt Amazon RDS keine Änderung des Wiederherstellungsmodells von SQL Server-Datenbanken.

Anmerkung

Sie können AWS Backup auch verwenden, um Backups von Amazon-RDS-DB-Instances zu verwalten. Wenn Ihre DB-Instance mit einem Backup-Plan in AWS Backup verbunden ist, wird dieser Backup-Plan für zeitpunktbezogene Wiederherstellung verwendet. Backups, die mit AWS Backup erstellt wurden, haben Namen, die auf awsbackup:AWS-Backup-job-number enden. Informationen zu AWS Backup finden Sie im AWS Backup-Developer-Handbuch.

Sie können eine DB-Instance mit der AWS Management Console, der AWS CLI oder der RDS-API auf einen bestimmten Zeitpunkt wiederherstellen.

Wiederherstellen einer DB-instance zu einer bestimmten Zeit

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Automated backups (Automatisierte Backups) aus.

  3. Wählen Sie den aus, den Sie wiederherstellen möchten.

  4. Wählen Sie unter Aktionen die Option Restore to point in time (Zu einem bestimmten Zeitpunkt wiederherstellen) aus.

    Anschließend wird das Fenster Restore to point in time (Zu einem bestimmten Zeitpunkt wiederherstellen) angezeigt.

  5. Wählen Sie Späteste Wiederherstellungszeit, um auf den spätesten möglichen Zeitpunkt wiederherzustellen oder wählen Sie Benutzerdefiniert, um eine Zeit auszuwählen.

    Geben Sie bei der Auswahl von Benutzerdefiniert das Datum und die Uhrzeit ein, zu der Sie den wiederherstellen möchten.

    Anmerkung

    Zeiten werden in Ihrer lokalen Zeitzone angezeigt, die durch einen Offset von Coordinated Universal Time (UTC) angezeigt wird. Beispiel: UTC-5 ist Ost Standardzeit/Zentral Sommerzeit.

  6. Geben Sie für DB-Instance-Kennung den Namen des wiederhergestellten ein. Der Name muss eindeutig sein.

  7. Wählen Sie nach Bedarf andere Optionen wie die DB-Instance-Klasse und Speicher aus, sowie ob Sie Speicher-Autoscaling verwenden möchten.

  8. Wählen Sie Restore to point in time (Zu einem bestimmten Zeitpunkt wiederherstellen) aus.

Um eine DB-Instance zu einer bestimmten Zeit wiederherzustellen, verwenden Sie den AWS CLI-Befehl restore-db-instance-to-point-in-time, um eine neue DB-Instance zu erstellen. In diesem Beispiel wird auch das Autoscaling von Speicher aktiviert.

Für Linux, macOS oder Unix:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier mysourcedbinstance \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2017-10-14T23:45:00.000Z \ --max-allocated-storage 1000

Für Windows:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier mysourcedbinstance ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2017-10-14T23:45:00.000Z ^ --max-allocated-storage 1000

Zum Wiederherstellen einer DB-Instance zu einer bestimmten Zeit rufen Sie die Amazon RDS-API-Operation RestoreDBInstanceToPointInTime mit den folgenden Parametern auf:

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime