Amazon-Redshift-Snapshots und -Sicherungen - Amazon Redshift

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.

Amazon-Redshift-Snapshots und -Sicherungen

Übersicht über Snapshots

Snapshots sind point-in-time Backups eines Clusters. Es gibt zwei Arten von Snapshots: automatisierte und manuelle. Amazon Redshift speichert diese Snapshots intern in Amazon S3 unter Verwendung einer verschlüsselten Secure Sockets Layer (SSL)-Verbindung.

Amazon Redshift erstellt in regelmäßigen Abständen inkrementelle Snapshots und verfolgt so Änderungen am Cluster seit dem letzten automatisierten Snapshot nach. Automatisierte Snapshots speichern alle Daten, die erforderlich sind, um einen Cluster anhand eines Snapshots wiederherzustellen. Sie können mit einem Snapshot-Zeitplan steuern, wann automatisierte Snapshots erzeugt werden, oder jederzeit einen manuellen Snapshot erstellen.

Wenn Sie anhand eines Snapshots eine Wiederherstellung durchführen, erstellt Amazon Redshift einen neuen Cluster und stellt diesen bereit, bevor alle Daten geladen werden, sodass Sie umgehend mit dem Abfragen des neuen Clusters beginnen können. Der Cluster streamt auf Anfrage Daten vom Snapshot als Reaktion auf aktive Abfragen und lädt danach die restlichen Daten im Hintergrund.

Wenn Sie einen Cluster starten, können Sie den Aufbewahrungszeitraum für automatische und manuelle Snapshots festlegen. Sie können den standardmäßigen Aufbewahrungszeitraum für automatisierte und manuelle Snapshots ändern, indem Sie den Cluster modifizieren. Sie können den Aufbewahrungszeitraum für manuelle Snapshots festlegen, wenn Sie den Snapshot erstellen, und ihn ändern, indem Sie den Snapshot modifizieren.

Sie können den Fortschritt von Snapshots überwachen AWS Management Console, indem Sie die Snapshot-Details in der anzeigen oder die CLI- oder DescribeClusterSnapshotsAPI-Aktion aufrufen describe-cluster-snapshots. Für einen Snapshot in Bearbeitung werden Informationen wie die Größe des schrittweisen Snapshot, die Übertragungsrate, die verstrichene Zeit und die geschätzte Restzeit angezeigt.

Amazon Redshift speichert Snapshots in einem intern verwalteten Amazon-S3-Bucket, der von Amazon Redshift verwaltet wird, um sicherzustellen, dass Ihre Backups dem Cluster immer zur Verfügung stehen. Um die Speichergebühren zu verwalten, schätzen Sie ab, wie viele Tage Sie automatisierte Snapshots behalten müssen, und konfigurieren Sie dann den Aufbewahrungszeitraum entsprechend. Löschen Sie manuelle Snapshots, die nicht mehr benötigt werden. Weitere Informationen zu den Kosten von Backup-Speicher finden Sie auf der Seite Amazon Redshift – Preise.

Arbeiten mit Snapshots und Backups in Amazon Redshift Serverless

Amazon Redshift Serverless ermöglicht es Ihnen, wie ein bereitgestellter Cluster, ein Backup als point-in-time Repräsentation der Objekte und Daten im Namespace zu erstellen. In Amazon Redshift Serverless gibt es zwei Arten von Backups: Snapshots, die manuell erstellt werden, und Wiederherstellungspunkte, die Amazon Redshift Serverless automatisch erstellt. Weitere Informationen zum Arbeiten mit Snapshots für Amazon Redshift Serverless finden Sie unter Arbeiten mit Snapshots und Wiederherstellungspunkten.

Sie können auch einen Snapshot aus einem bereitgestellten Cluster in einem serverlosen Namespace wiederherstellen. Weitere Informationen finden Sie unter Einen serverlosen Namespace aus einem Snapshot wiederherstellen.

Automatisierte Snapshots

Wenn automatisierte Snapshots für einen Cluster aktiviert sind, erstellt Amazon Redshift in regelmäßigen Abständen Snapshots dieses Clusters. Standardmäßig erzeugt Amazon Redshift ungefähr alle acht Stunden oder nach 5 GB geänderten Daten pro Knoten einen Snapshot, je nachdem, was zuerst auftritt. Wenn Ihre Daten größer als 5 GB * der Anzahl der Knoten sind, beträgt die kürzeste Zeitspanne zwischen der Erstellung von automatisierten Snapshots 15 Minuten. Sie können alternativ mit einem Snapshot-Zeitplan steuern, wann automatisierte Snapshots erzeugt werden. Wenn Sie benutzerdefinierte Zeitpläne verwenden, beträgt die Mindestzeit zwischen automatisierten Snapshots eine Stunde. Automatisierte Snapshots werden standardmäßig aktiviert, wenn Sie einen Cluster erstellen.

Automatisierte Snapshots werden nach Ablauf eines Aufbewahrungszeitraums gelöscht. Der Standard-Aufbewahrungszeitraum beträgt einen Tag. Sie können ihn jedoch mit der Amazon-Redshift-Konsole oder programmgesteuert mit der Amazon Redshift API oder CLI ändern.

Zum Deaktivieren von automatischen Snapshots setzen Sie den Wert für den Aufbewahrungszeitraum auf null. Wenn Sie automatisierte Snapshots deaktivieren, erstellt Amazon Redshift keine Snapshots mehr und löscht alle vorhandenen automatisierten Snapshots für den Cluster. Sie können automatische Snapshots für RA3-Knotentypen nicht deaktivieren. Sie können einen automatisierten Aufbewahrungszeitraum für den RA3-Knotentyp zwischen 1 und 35 Tagen festlegen.

Nur Amazon Redshift kann einen automatisierten Snapshot löschen. Sie können ihn manuell nicht löschen. Amazon Redshift löscht automatisierte Snapshots nach Ablauf ihres Aufbewahrungszeitraums, wenn Sie automatisierte Snapshots für den Cluster deaktivieren oder wenn Sie den Cluster löschen. Amazon Redshift behält den neuesten automatisierten Snapshot, bis Sie automatisierte Snapshots deaktivieren oder den Cluster löschen.

Wenn Sie einen automatisierten Snapshot für einen längeren Zeitraum behalten möchten, können Sie eine Kopie hiervon als einen manuellen Snapshot erstellen. Der automatisierte Snapshot wird bis zum Ende des Aufbewahrungszeitraums aufbewahrt, aber der entsprechende manuelle Snapshot wird aufbewahrt, bis Sie ihn manuell löschen oder das Ende des Aufbewahrungszeitraums erreicht ist.

Zeitpläne für automatisierte Snapshots

Erstellen Sie einen Snapshot-Zeitplan und fügen ihn an einen oder mehrere Cluster an, um präzise zu steuern, wann Snapshots erzeugt werden. Wenn Sie einen Snapshot-Zeitplan ändern, wird der Zeitplan für alle verknüpften Cluster angepasst. Ein Cluster ohne angefügten Snapshot-Zeitplan verwendet den standardmäßigen Zeitplan für automatisierte Snapshots.

Ein Snapshot-Zeitplan besteht aus einer Reihe von Zeitplanregeln. Sie können einen einfachen Zeitplan definieren, indem Sie Abstände festlegen, beispielsweise alle 8 oder 12 Stunden. Sie können auch Regeln hinzufügen, damit an bestimmten Wochentagen, zu festgelegten Zeiten oder während bestimmter Zeiträume Snapshots erstellt werden. Die Regeln können auch mithilfe von Unix-ähnlichen Cron-Ausdrücken definiert werden.

Format von Snapshot-Zeitplänen

Sie können in der Amazon-Redshift-Konsole einen Snapshot-Zeitplan erstellen. Fügen Sie einem Cluster einen Zeitplan an, um die Erstellung eines System-Snapshots auszulösen. Ein Zeitplan kann mehreren Clustern angefügt werden. Außerdem kann ein Zeitplan mehrere Cron-Definitionen zum Auslösen von Snapshots enthalten.

Sie können einen Plan für Snapshots mit einer Cron-Syntax definieren. Die Definition dieser Zeitpläne nutzt eine modifizierte, Unix-ähnliche cron-Syntax. Verwenden Sie die UTC-Zeitzone (Coordinated Universal Time), um die Zeit anzugeben. Zeitpläne können mit einer maximalen Häufigkeit von einer Stunde und einer Mindestgenauigkeit von einer Minute erstellt werden.

Modifizierte cron-Ausdrücke für Amazon Redshift haben 3 Pflichtfelder, die durch Leerzeichen voneinander getrennt sind.

Syntax

cron(Minutes Hours Day-of-month Month Day-of-week Year)
Felder Werte Platzhalter

Minuten

0-59

, - * /

Stunden

0–23

, - * /

D ay-of-month

1-31

, - * ? / L W

Monat

1-12 oder JAN-DEZ

, - * /

D ay-of-week

1-7 oder SUN-SAT

, - * ? / L #

Jahr

1970-2199

, - * /

Platzhalter
  • Das Platzhalterzeichen , (Komma) schließt zusätzliche Werte ein. Im Feld Day-of-week würde MON,WED,FRI Montag, Mittwoch und Freitag abdecken. Die Gesamtwerte sind auf 24 pro Feld begrenzt.

  • Das Platzhalterzeichen - (Bindestrich) gibt einen Bereich an. Im Feld Hour steht 1–15 für die Stunden 1 bis 15 des angegebenen Tags.

  • Das Platzhalterzeichen * (Sternchen) steht für alle Werte im Feld. Im Feld Hours steht * für alle Stunden.

  • Das Platzhalterzeichen / (Schrägstrich) steht für schrittweise Steigerungen. Im Feld Hours können Sie 1/10 eingeben, um jede 10. Stunde anzugeben, beginnend mit der ersten Stunde des Tages (z. B. 01:00, 11:00 und 21:00).

  • Das Platzhalterzeichen ? (Fragezeichen) steht für einen Wert. In das Day-of-month Feld könntest du 7 eingeben, und wenn es dir egal wäre, welcher Wochentag der siebte war, könntest du eingeben? im ay-of-week D-Feld.

  • Das Platzhalterzeichen L in den Feldern für Day-of-month oder Day-of-week gibt den letzten Tag des Monats oder der Woche an.

  • Das Platzhalterzeichen W im Feld Day-of-month gibt einen Wochentag an. Im Feld Day-of-month gibt den 3W den Tag an, der dem dritten Tag des Monats am nächsten ist.

  • Der Platzhalter # im ay-of-week Feld D gibt eine bestimmte Instanz des angegebenen Wochentags innerhalb eines Monats an. Beispiel: 3#2 steht für den zweiten Dienstag des Monats: Die 3 bezieht sich auf Dienstag, da dies der dritte Tag jeder Woche ist, und die 2 bezieht sich auf den zweiten Tag dieses Typs innerhalb des Monats.

    Anmerkung

    Wenn Sie das Zeichen '#' verwenden, können Sie nur einen Ausdruck in dem day-of-week Feld definieren. Beispielsweise ist "3#1,6#3" ungültig, da dies als zwei Ausdrücke interpretiert wird.

Einschränkungen
  • Es ist nicht möglich, die Felder Day-of-month und Day-of-week im gleichen Cron-Ausdruck anzugeben. Wenn Sie einen Wert in einem der Felder angeben, müssen Sie in dem anderen Feld ein ? (Fragezeichen) eingeben.

  • Snapshot-Zeitpläne unterstützen folgende Häufigkeiten nicht:

    • Häufiger als einmal pro Stunde geplante Snapshots.

    • Seltener als einmal pro Tag (24 Stunden) geplante Snapshots.

    Wenn Zeitpläne sich so überschneiden, dass Snapshots innerhalb eines Fensters von 1 Stunde geplant werden, wird ein Validierungsfehler erzeugt.

Wenn Sie einen Zeitplan erstellen, können Sie die folgenden Beispiel-Cron-Strings verwenden.

Minuten Stunden Wochentag Bedeutung

0

14-20/1

TUE

Jede Stunde zwischen 14:00 und 20:00 Uhr am Dienstag.

0

21

MO-FR

Von Montag bis Freitag jeden Abend um 21.00 Uhr.

30

0/6

SAT-SUN

Inkrementell alle 6 Stunden am Samstag und Sonntag, beginnend 30 Minuten nach Mitternacht (00:30) an diesem Tag. Das Ergebnis ist ein Snapshot um [00:30, 06:30, 12:30 und 18:30] Uhr am jeweiligen Tag.

30

12/4

*

Inkrementell alle 4 Stunden jeden Tag, beginnend um 12:30 Uhr. Das ergibt [12:30, 16:30, 20:30] Uhr.

Beispiel: Sie möchten einen Zeitplan jeden Tag beginnend um 15:15 Uhr inkrementell alle 2 Stunden ausführen. Das ergibt [15:15, 17:15, 19:15, 21:15, 23:15] Uhr. Geben Sie dafür Folgendes an:

cron(15 15/2 *)

Sie können einem Zeitplan mehrere Cron-Zeitplandefinitionen hinzufügen. Der folgende AWS CLI Befehl enthält beispielsweise zwei Cron-Zeitpläne in einem Zeitplan.

create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"

Manuelle Snapshots

Sie können jederzeit einen manuellen Snapshot erstellen. Manuelle Snapshots werden standardmäßig sogar nach dem Löschen Ihres Clusters beliebig lange aufbewahrt. Sie können den Aufbewahrungszeitraum für manuelle Snapshots festlegen, wenn Sie den Snapshot erstellen, und ihn ändern, indem Sie den Snapshot modifizieren. Weitere Informationen zum Ändern des Aufbewahrungszeitraums finden Sie unter Ändern des Aufbewahrungszeitraums für manuelle Snapshots.

Nachdem Sie einen Snapshot gelöscht haben, können Sie keine neuen Operationen starten, die auf diesen Snapshot verweisen. Wenn jedoch ein Wiederherstellungsvorgang läuft, wird dieser Wiederherstellungsvorgang vollständig abgeschlossen.

Amazon Redshift hat ein Kontingent, das die Gesamtzahl der manuellen Snapshots begrenzt, die Sie erstellen können. Dieses Kontingent gilt pro AWS AWS Konto und Region. Das Standardkontingent ist unter Kontingente und Limits in Amazon Redshift aufgeführt.

Verwalten der Snapshot-Speicherung

Da für Snapshots Speicherkosten anfallen, ist es wichtig, sie zu löschen, wenn Sie sie nicht mehr benötigen. Amazon Redshift löscht automatisierte und manuelle Snapshots nach Ablauf ihres jeweiligen Aufbewahrungszeitraums. Sie können manuelle Snapshots auch mit dem AWS Management Console oder mit dem batch-delete-cluster-snapshotsCLI-Befehl löschen.

Sie können den Aufbewahrungszeitraum für einen manuellen Snapshots ändern, indem Sie die Einstellungen für manuelle Snapshots anpassen.

Informationen zu dem von Ihren Snapshots belegten Speicher erhalten Sie über die Amazon-Redshift-Konsole oder über den CLI-Befehl describe-storage.

Ausschluss von Tabellen von Snapshots

Standardgemäß sind alle benutzerdefinierten, dauerhaften Tabellen in Snapshots enthalten. Wenn eine Tabelle wie die Staging-Tabelle nicht gesichert werden muss, können Sie die Zeit, die zum Erstellen von Snapshots und zum Wiederherstellen aus Snapshots erforderlich ist, beträchtlich reduzieren. Sie können auch den Speicherplatz auf Amazon S3 reduzieren, indem Sie keine Sicherungstabelle verwenden. Zum Erstellen einer Tabelle ohne Sicherung berücksichtigen Sie den BACKUP NO-Parameter beim Erstellen der Tabelle. Weitere Informationen finden Sie unter CREATE TABLE und CREATE TABLE AS im Datenbankentwicklerhandbuch zu Amazon Redshift.

Kopieren von Snapshots in eine andere AWS -Region

Sie können Amazon Redshift so konfigurieren, dass Snapshots (automatisiert oder manuell) für einen Cluster automatisch in eine andere AWS Region kopiert werden. Wenn ein Snapshot in der primären AWS Region des Clusters erstellt wird, wird er in eine sekundäre AWS Region kopiert. Die beiden AWS Regionen werden jeweils als AWS Quellregion und AWS Zielregion bezeichnet. Wenn Sie eine Kopie Ihrer Snapshots in einer anderen AWS Region speichern, können Sie Ihren Cluster aus aktuellen Daten wiederherstellen, falls sich etwas auf die primäre AWS Region auswirkt. Sie können Ihren Cluster so konfigurieren, dass Snapshots jeweils nur in eine AWS Zielregion kopiert werden. Die Liste der Amazon-Redshift-Regionen finden Sie unter Regionen und Endpunkte in der Allgemeine Amazon Web Services-Referenz.

Wenn Sie Amazon Redshift aktivieren, um Snapshots automatisch in eine andere AWS Region zu kopieren, geben Sie die AWS Zielregion an, in die die Snapshots kopiert werden sollen. Für automatisierte Snapshots können Sie auch den Aufbewahrungszeitraum angeben, in dem sie in der Zielregion aufbewahrt werden sollen. AWS Nachdem ein automatisierter Snapshot in die AWS Zielregion kopiert wurde und dort den Aufbewahrungszeitraum erreicht hat, wird er aus der AWS Zielregion gelöscht. Dadurch bleibt Ihre Snapshot-Nutzung gering. Um die automatisierten Snapshots für einen kürzeren oder längeren Zeitraum in der AWS Zielregion aufzubewahren, ändern Sie diesen Aufbewahrungszeitraum.

Die Aufbewahrungsdauer, die Sie für automatische Snapshots festlegen, die in die AWS Zielregion kopiert werden, unterscheidet sich von der Aufbewahrungsdauer für automatische Snapshots in der Quellregion. AWS Der Standardaufbewahrungszeitraum für kopierte Snapshots beträgt sieben Tage. Dieser Zeitraum von sieben Tagen gilt nur für automatisierte Snapshots. Sowohl in der Quell- als auch in der Ziel- AWS -Region werden manuelle Snapshots nach Ablauf des Snapshot-Aufbewahrungszeitraums gelöscht bzw. dann, wenn Sie sie manuell löschen.

Sie können die automatische Snapshot-Kopie für einen Cluster jederzeit deaktivieren. Wenn Sie diese Funktion deaktivieren, werden Snapshots nicht mehr von der AWS Quellregion in die Zielregion kopiert. AWS Alle automatisierten Snapshots, die in die AWS Zielregion kopiert wurden, werden gelöscht, sobald sie die Aufbewahrungsfrist erreicht haben, es sei denn, Sie erstellen manuelle Snapshot-Kopien von ihnen. Diese manuellen Snapshots und alle manuellen Snapshots, die aus der AWS Zielregion kopiert wurden, werden in der AWS Zielregion aufbewahrt, bis Sie sie manuell löschen.

Um die AWS Zielregion zu ändern, in die Sie Snapshots kopieren, deaktivieren Sie zunächst die automatische Kopierfunktion. Aktivieren Sie sie dann wieder unter Angabe der neuen AWS -Zielregion.

Nachdem ein Snapshot in die AWS Zielregion kopiert wurde, wird er aktiv und steht für Wiederherstellungszwecke zur Verfügung.

Um Snapshots für AWS KMS—verschlüsselte Cluster in eine andere AWS Region zu kopieren, gewähren Sie Amazon Redshift die Nutzung eines vom Kunden verwalteten Schlüssels in der Zielregion. AWS Wählen Sie dann diesen Zuschuss aus, wenn Sie das Kopieren von Snapshots in der Quellregion aktivieren. AWS Weitere Informationen zur Konfiguration von Erteilungen von Snapshots-Kopien finden Sie unter Kopieren von —verschlüsselten Snapshots in eine andere Region AWS KMSAWS.

Wiederherstellen eines Clusters aus einem Snapshot

Ein Snapshot enthält Daten aus Datenbanken, die auf Ihrem Cluster ausgeführt werden. Dazu enthält er Informationen zu Ihrem Cluster, darunter die Anzahl der Knoten, den Knotentyp und den Admin-Benutzernamen. Wenn Sie einen Cluster aus einem Snapshot wiederherstellen, verwendet Amazon Redshift die Cluster-Informationen zur Erstellung eines neuen Clusters. Dann werden alle Datenbanken aus den Snapshot-Daten wiederhergestellt.

Für den aus dem ursprünglichen Snapshot wiederhergestellten neuen Cluster können Sie die Konfiguration auswählen, etwa den Knotentyp und die Anzahl der Knoten. Der Cluster wird in derselben AWS -Region und in einer zufällig vom System ausgewählten Availability Zone wiederhergestellt, es sei denn, Sie geben in Ihrer Anforderung eine andere Availability Zone an. Wenn Sie einen Cluster anhand eines Snapshots wiederherstellen, können Sie optional eine kompatible Wartungsspur für den neuen Cluster auswählen.

Anmerkung

Wenn Sie einen Snapshot zu einem Cluster mit einer anderen Konfiguration wiederherstellen, muss der Snapshot auf einem Cluster mit Clusterversion 1.0.10013 oder höher erstellt worden sein.

Während eine Wiederherstellung ausgeführt wird, werden Ereignisse in der Regel in der folgenden Reihenfolge ausgegeben:

  1. RESTORE_STARTED – REDSHIFT-EVENT-2008 wird gesendet, wenn der Wiederherstellungsprozess beginnt.

  2. RESTORE_SUCCEEDED – REDSHIFT-EVENT-3003 wird gesendet, wenn der neue Cluster erstellt wurde.

    Der Cluster ist für Abfragen verfügbar.

  3. DATA_TRANSFER_COMPLETED — REDSHIFT-EVENT-3537 wird gesendet, wenn die Datenübertragung abgeschlossen ist.

Anmerkung

RA3-Cluster geben nur RESTORE_STARTED- und RESTORE_SUCCEEDED-Ereignisse aus. Es gibt keine explizite Datenübertragung, die erfolgen muss, nachdem ein RESTORE erfolgreich war, da RA3-Knotentypen Daten in von Amazon Redshift verwaltetem Speicher speichern. Bei RA3-Knoten werden Daten im Rahmen der normalen Abfrageverarbeitung kontinuierlich zwischen RA3-Knoten und dem von Amazon Redshift verwalteten Speicher übertragen. RA3-Knoten speichern aktive Daten lokal und weniger häufig abgefragte Blöcke automatisch in von Amazon Redshift verwaltetem Speicher.

Sie können den Fortschritt einer Wiederherstellung überwachen, indem Sie entweder den DescribeClustersAPI-Vorgang aufrufen oder die Clusterdetails in der AWS Management Console anzeigen. Für eine Wiederherstellung in Bearbeitung werden Informationen wie die Größe der Snapshot-Daten, die Übertragungsrate, die verstrichene Zeit und die geschätzte Restzeit angezeigt. Eine Beschreibung dieser Metriken finden Sie unter RestoreStatus.

Sie können einen Snapshot nicht zum Wiederherstellen eines aktiven Clusters in einen vorherigen Status verwenden.

Anmerkung

Wenn Sie einen Snapshot in einen neuen Cluster wiederherstellen, werden die Standardsicherheitsgruppe und -parametergruppe verwendet, sofern Sie keine anderen Werte angeben.

Möglicherweise möchten Sie aus den folgenden Gründen einen Snapshot zu einem Cluster mit einer anderen Konfiguration wiederherstellen:

  • Wenn ein Cluster aus kleineren Knotentypen besteht und Sie ihn zu einem größeren Knotentyp mit weniger Knoten konsolidieren möchten.

  • Wenn Sie Ihre Workloads beobachtet haben und feststellen, dass Sie einen Knotentyp mit mehr CPU-Leistung und Speicherplatz benötigen.

  • Wenn Sie die Leistung von Test-Workloads mit anderen Knotentypen messen möchten.

Für die Wiederherstellung gelten die folgenden Einschränkungen:

  • Die neue Knotenkonfiguration muss über genügend Speicherplatz für vorhandene Daten verfügen. Auch wenn Sie Knoten hinzufügen, verfügt Ihre neue Konfiguration möglicherweise aufgrund der Verteilung der Daten nicht über ausreichend Speicherplatz.

  • Der Wiederherstellungsvorgang überprüft, ob der Snapshot auf einer Cluster-Version erstellt wurde, die mit der Cluster-Version des neuen Clusters kompatibel ist. Wenn die Versionsebene des neuen Clusters zu früh ist, schlägt der Wiederherstellungsvorgang fehl und weitere Informationen werden in einer Fehlermeldung ausgegeben.

  • Welche möglichen Konfigurationen (Knotenanzahl und Knotentyp) Sie wiederherstellen können, ist von der Anzahl der Knoten im ursprünglichen Cluster und dem Zielknotentyp des neuen Clusters abhängig. Um die möglichen verfügbaren Konfigurationen zu ermitteln, können Sie die Amazon Redshift Redshift-Konsole oder den describe-node-configuration-options AWS CLI Befehl mit action-type restore-cluster verwenden. Weitere Informationen zur Wiederherstellung mithilfe der Amazon-Redshift-Konsole finden Sie unter Wiederherstellen eines Clusters aus einem Snapshot.

Die folgenden Schritte basieren auf einem Cluster mit zahlreichen Knoten und konsolidieren diesen zu einem größeren Knotentyp mit einer geringeren Zahl von Knoten mit AWS CLI. Für dieses Beispiel beginnen wir mit einem Quell-Cluster mit 24 ds2.xlarge-Knoten. Für diesen Fall nehmen wir an, dass wir bereits einen Snapshot dieses Clusters erstellt haben und diesen jetzt zu einem größeren Knotentyp wiederherstellen möpchten.

  1. Führen Sie den folgenden Befehl aus, um die Details zu unserem 24-Knoten-ds2.xlarge-Cluster abzurufen.

    aws redshift describe-clusters --region eu-west-1 --cluster-identifier mycluster-123456789012
  2. Führen Sie den folgenden Befehl aus, um die Details des Snapshots abzurufen.

    aws redshift describe-cluster-snapshots --region eu-west-1 --snapshot-identifier mycluster-snapshot
  3. Führen Sie den folgenden Befehl aus, um die für diesen Snapshot verfügbaren Optionen zu beschreiben.

    aws redshift describe-node-configuration-options --snapshot-identifier mycluster-snapshot --region eu-west-1 --action-type restore-cluster

    Dieser Befehl gibt eine Optionenliste mit empfohlenen Knotentypen, der Knotenanzahl und der Festplattennutzung für jede Option aus. Bei diesem Beispiel listet der obige Befehl die folgenden möglichen Knotenkonfigurationen auf. Wir entscheiden uns für die Wiederherstellung zu einem ds2.8xlarge-Cluster mit drei Knoten.

    { "NodeConfigurationOptionList": [ { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "ds2.xlarge", "NumberOfNodes": 24 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "ds2.xlarge", "NumberOfNodes": 48 }, { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "ds2.8xlarge", "NumberOfNodes": 3 }, { "EstimatedDiskUtilizationPercent": 48.94601106643677, "NodeType": "ds2.8xlarge", "NumberOfNodes": 4 }, { "EstimatedDiskUtilizationPercent": 39.156808853149414, "NodeType": "ds2.8xlarge", "NumberOfNodes": 5 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "ds2.8xlarge", "NumberOfNodes": 6 } ] }
  4. Führen Sie den folgenden Befehl aus, um den Snapshot zu der von uns gewählten Clusterkonfiguration wiederherzustellen. Nach der Wiederherstellung dieses Clusters haben wir denselben Inhalt wie der Quell-Cluster, wobei die Daten aber in drei ds2.8xlarge-Knoten konsolidiert wurden.

    aws redshift restore-from-cluster-snapshot --region eu-west-1 --snapshot-identifier mycluster-snapshot --cluster-identifier mycluster-123456789012-x --node-type ds2.8xlarge --number-of-nodes 3

Wenn Sie reservierte Knoten haben, zum Beispiel reservierte DS2- oder DC2-Knoten, können Sie auf reservierte RA3-Knoten aktualisieren. Sie können dies tun, wenn Sie eine Wiederherstellung von einem Snapshot oder eine elastische Größenänderung durchführen. Sie können die Konsole verwenden, um sich durch den Prozess führen zu lassen. Weitere Informationen zum Aktualisieren auf RA3-Knoten finden Sie unter Migration zu RA3-Knotentypen.

Wiederherstellen einer Tabelle aus einem Snapshot

Sie können eine einzelne Tabelle aus einem Snapshot anstellen eines gesamten Clusters wiederherstellen. Wenn Sie eine einzelne Tabelle aus eine Snapshot wiederherstellen, geben Sie Quell-Snapshot, -Datenbank, -Schema und -Tabellennamen sowie Ziel-Datenbank und -Schema und einen neuen Tabellennamen für die wiederhergestellte Tabelle an.

Der neue Tabellenname kann nicht identisch sein mit dem Namen einer bestehenden Tabelle. Um eine bestehende Tabelle durch eine wiederhergestellte Tabelle aus einem Snapshot zu ersetzen, sollten Sie die Tabelle umbenennen oder die bestehende Tabelle ablegen, bevor Sie die Tabelle aus dem Snapshot wiederherstellen.

Die Zieltabelle wird mithilfe der Spaltendefinitionen, Tabellenattribute und Spaltenattribute der Quelltabelle erstellt. Eine Ausnahme gilt für Fremdschlüssel. Um Konflikte aufgrund von Abhängigkeiten zu vermeiden, übernimmt die Zieltabelle keine Fremdschlüssel von der Quelltabelle. Alle Abhängigkeiten, wie z. B. Ansichten oder Berechtigungen, die für die Quelltabelle gewährt wurden, gelten nicht für die Zieltabelle.

Wenn der Eigentümer der Quelltabelle existiert, dann ist der Datenbankbenutzer der Eigentümer der wiederhergestellten Tabelle, vorausgesetzt, dieser Benutzer verfügt über ausreichend Berechtigungen, um der Eigentümer einer Beziehung in der angegebenen Datenbank und dem Schema zu sein. Anderenfalls ist die wiederhergestellte Tabelle Besitz des Adminbenutzers, der beim Starten des Clusters angelegt wurde.

Die wiederhergestellte Tabelle wird wieder in den Status zurückgesetzt, in dem sie sich zum Zeitpunkt der Sicherung befunden hat. Dazu gehören Sichtbarkeitsregeln für die Transaktion, die durch die Einhaltung der serialisierbaren Isolation durch Amazon Redshift definiert sind. Das heißt, dass Daten für derzeit übertragene Transaktionen, die nach dem Backup gestartet wurden, sofort sichtbar sind.

Die Wiederherstellung einer Tabelle aus einem Snapshot unterliegt folgenden Beschränkungen:

  • Sie können eine Tabelle aus dem aktuellen, aktiv laufenden Cluster und aus einem Snapshot wiederherstellen, der aus diesem Cluster erstellt wurde.

  • Sie können jeweils nur eine Tabelle wiederherstellen.

  • Sie können keine Tabelle aus einem Cluster-Snapshot wiederherstellen, der erstellt wurde, bevor die Größe des Clusters verändert wurde. Eine Ausnahme ist jedoch, dass Sie eine Tabelle nach einer elastischen Größenänderung wiederherstellen können, wenn sich der Knotentyp nicht geändert hat.

  • Alle Abhängigkeiten, wie z. B. Ansichten oder Berechtigungen, die für die Quelltabelle gewährt wurden, gelten nicht für die Zieltabelle.

  • Wenn die Sicherheit auf Zeilenebene für die Wiederherstellung einer Tabelle aktiviert ist, stellt Amazon Redshift die Tabelle wieder her, wobei die Sicherheit auf Zeilenebene aktiviert ist.

So stellen Sie eine Tabelle aus einem Snapshot wieder her:
  1. Melden Sie sich bei der Amazon Redshift Redshift-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/redshiftv2/.

  2. Wählen Sie im Navigationsmenü Clusters (Cluster) und dann den Cluster aus, den Sie zur Wiederherstellung einer Tabelle verwenden möchten.

  3. Wählen Sie für Actions (Aktionen) Restore table (Tabelle wiederherstellen) aus, um die Seite Restore table (Tabelle wiederherstellen) anzuzeigen.

  4. Geben Sie die Informationen darüber ein, welchen Snapshot, welche Quelltabelle und welche Zieltabelle Sie verwenden möchten. Wählen Sie dann Restore table (Tabelle wiederherstellen) aus.

Beispiel: Wiederherstellen einer Tabelle aus einem Snapshot mithilfe des AWS CLI

Im folgenden Beispiel wird der restore-table-from-cluster-snapshot AWS CLI Befehl verwendet, um die my-source-table Tabelle aus dem sample-database Schema in der wiederherzustellenmy-snapshot-id. Sie können den AWS CLI Befehl verwendendescribe-table-restore-status, um den Status Ihres Wiederherstellungsvorgangs zu überprüfen. Bei diesem Beispiel wird der Snapshot in das Cluster mycluster-example mit einem neuen Tabellennamen my-new-table wiederhergestellt.

aws redshift restore-table-from-cluster-snapshot --cluster-identifier mycluster-example --new-table-name my-new-table --snapshot-identifier my-snapshot-id --source-database-name sample-database --source-table-name my-source-table

Freigeben eines Snapshots

Sie können einen vorhandenen manuellen Snapshot mit anderen AWS Kundenkonten teilen, indem Sie den Zugriff auf den Snapshot autorisieren. Sie können bis zu 20 für jeden Snapshot und 100 für jeden AWS Key Management Service (AWS KMS) Schlüssel autorisieren. Das heißt, wenn Sie über 10 Snapshots verfügen, die mit einem einzigen KMS-Schlüssel verschlüsselt sind, können Sie 10 AWS Konten für die Wiederherstellung jedes Snapshots autorisieren oder andere Kombinationen, die bis zu 100 Konten hinzufügen und 20 Konten pro Snapshot nicht überschreiten. Eine Person, die als ein Benutzer in einem der genehmigten Konten angemeldet ist, kann dann den Snapshot beschreiben oder ihn wiederherstellen, um einen neuen Amazon-Redshift-Cluster unter ihrem Konto zu erstellen. Wenn Sie beispielsweise separate AWS Kundenkonten für Produktion und Test verwenden, kann sich ein Benutzer mit dem Produktionskonto anmelden und einen Snapshot mit Benutzern im Testkonto teilen. Jemand, der sich als Testkonto-Benutzer angemeldet hat, kann dann den Snapshot wiederherstellen, um einen neuen Cluster für Test- oder Diagnosearbeiten zu erstellen, der Eigentum des Testkontos ist.

Ein manueller Snapshot gehört dauerhaft dem AWS Kundenkonto, unter dem er erstellt wurde. Nur Benutzer im Konto, dem der Snapshot gehört, könnten anderen Konten die Berechtigung zum Zugriff auf den Snapshot gewähren oder solche Berechtigung wieder entziehen. Benutzer in den genehmigten Konten können nur einen Snapshot beschreiben oder wiederherstellen, der für sie freigegeben wurde; sie können keine Snapshots kopieren oder löschen, die für sie freigegeben wurden. Eine Berechtigung bleibt gültig, bis der Eigentümer des Snapshot sie widerruft. Wird eine Berechtigung widerrufen, verliert der zuvor autorisierte Benutzer die Sichtbarkeit für den Snapshot und kann keine neuen Aktionen starten, die auf den Snapshot verweisen. Wenn das Konto dabei ist, den Snapshot wiederherzustellen, wenn der Zugriff widerrufen wird, wird die Wiederherstellung vollständig abgeschlossen. Sie können keinen Snapshot löschen, während aktive Berechtigungen vorliegen; Sie müssen zuerst alle Berechtigungen widerrufen.

AWS Kundenkonten sind immer berechtigt, auf Snapshots zuzugreifen, die dem Konto gehören. Bei Versuchen, den Zugriff zum Eigentümerkonto zu genehmigen oder zu widerrufen, erscheint eine Fehlermeldung. Sie können einen Snapshot, der einem inaktiven AWS Kundenkonto gehört, nicht wiederherstellen oder beschreiben.

Nachdem Sie den Zugriff auf ein AWS Kundenkonto autorisiert haben, können Benutzer dieses Kontos keine Aktionen an dem Snapshot ausführen, es sei denn, sie übernehmen eine Rolle mit Richtlinien, die ihnen dies ermöglichen.

  • Benutzer im Snapshot-Besitzerkonto können nur dann den Zugriff auf einen Snapshot genehmigen oder widerrufen, wenn sie eine Rolle mit einer IAM-Richtlinie übernehmen, die ihnen die Durchführung solcher Aktionen mit einer Ressourcenspezifikation erlauben, die den Snapshot beinhaltet. Die folgende Richtlinie ermöglicht es beispielsweise einem Benutzer oder einer Rolle in einem AWS Konto, anderen Konten 012345678912 den Zugriff auf einen Snapshot mit dem Namen my-snapshot20130829 zu autorisieren:

    { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:AuthorizeSnapshotAccess", "redshift:RevokeSnapshotAccess" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829" ] } ] }
  • Benutzer in einem AWS Konto, mit dem ein Snapshot geteilt wurde, können keine Aktionen für diesen Snapshot ausführen, es sei denn, sie verfügen über die entsprechenden Berechtigungen. Weisen Sie dazu die Richtlinie einer Rolle zu und übernehmen Sie die Rolle.

    • Um einen Snapshot aufzulisten oder zu beschreiben, muss eine IAM-Richtlinie vorliegen, die die DescribeClusterSnapshots-Aktion erlaubt. Der folgende Code zeigt ein Beispiel dafür:

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusterSnapshots" ], "Resource":[ "*" ] } ] }
    • Um einen Snapshot wiederherzustellen, muss ein Benutzer eine Rolle mit einer IAM-Richtlinie übernehmen, die die Aktion RestoreFromClusterSnapshot erlaubt, und über ein Ressourcenelement verfügen, das sowohl den Cluster, den er versucht zu erstellen, als auch den Snapshot abdeckt. Wenn beispielsweise ein Benutzer in einem Konto 012345678912 den Snapshot my-snapshot20130829 für Konto 219876543210 freigegeben hat, um durch Wiederherstellen des Snapshot einen Cluster zu erstellen, muss ein Benutzer im Konto 219876543210 eine Rolle mit einer Richtlinie wie die folgende übernehmen:

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:RestoreFromClusterSnapshot" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829", "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account" ] } ] }
    • Nachdem einem AWS Konto der Zugriff auf einen Snapshot entzogen wurde, können keine Benutzer in diesem Konto auf den Snapshot zugreifen. Dies ist auch der Fall, wenn diese Konten über IAM-Richtlinien verfügen, die Aktionen für die zuvor freigegebene Snapshot-Ressource zulassen.