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 eine DB-Instance zu einem bestimmten Zeitpunkt wiederherstellen, können Sie die Standard-VPC-Sicherheitsgruppe (Virtual Private Cloud) auswählen. Oder Sie können 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.

Wenn die Quell-DB-Instance über Ressourcen-Tags verfügt, fügt RDS der wiederhergestellten DB-Instance die neuesten Tags hinzu.

RDS lädt Transaktionsprotokolle für DB-Instances alle fünf 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 Backup 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 Microsoft 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.

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 Backup 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.

Anmerkung

Informationen in diesem Thema gelten für Amazon RDS. Weitere Informationen zum Wiederherstellen eines Amazon-Aurora-DB-Clusters finden Sie unter Wiederherstellen eines DB-Clusters zu einer bestimmten Zeit.

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

Anmerkung

Sie können den Speicherplatz nicht reduzieren, wenn Sie eine DB-Instance wiederherstellen. Wenn Sie den zugewiesenen Speicherplatz erhöhen, muss er um mindestens 10 Prozent erhöht werden. Wenn Sie versuchen, den Wert um weniger als 10 Prozent zu erhöhen, erhalten Sie einen Fehler. Sie können den zugewiesenen Speicher bei der Wiederherstellung von DB-Instances von RDS für SQL Server nicht erhöhen.

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.

    Die automatisierten Backups werden auf der Registerkarte Current Region (Aktuelle Region) angezeigt.

  3. Wählen Sie die DB-Instance aus, die 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 Custom das Datum und die Uhrzeit ein, zu der Sie den Instance-Cluster 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 der wiederhergestellten DB-Ziel-Instance 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.

    Weitere Informationen zu den einzelnen Einstellungen finden Sie unter Einstellungen für DB-Instances.

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

Wenn Sie eine DB-Instance zu einem angegebenen Zeitpunkt wieder herstellen möchten, verwenden Sie den AWS CLI-Befehl restore-db-instance-to-point-in-time, um eine neue DB-Instance zu erstellen. In diesem Beispiel wird außerdem die Größe des zugewiesenen Speichers festgelegt und die automatische Speicherskalierung aktiviert.

Das Tagging von Ressourcen wird für diesen Vorgang unterstützt. Wenn Sie die Option --tags verwenden, werden die Tags der Quell-DB-Instance ignoriert und die bereitgestellten Tags verwendet. Andernfalls werden die neuesten Tags aus der Quell-Instance verwendet.

Sie können andere Einstellungen festlegen. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter Einstellungen für DB-Instances.

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 \ --allocated-storage 100 \ --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 ^ --allocated-storage 100 ^ --max-allocated-storage 1000

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

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime