Wie behebe ich Probleme mit der Snapshot-Wiederherstellung von meinem DB-Cluster von Aurora PostgreSQL-Compatible?
Ich möchte Fehler bei der Snapshot-Wiederherstellung beheben, wenn ich aus meinem Datenbank (DB)-Cluster-Snapshot der Amazon Aurora PostgreSQL-Compatible Edition eine Wiederherstellung durchführe.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Bevor du Fehler bei der Snapshot-Wiederherstellung behebst, stelle sicher, dass der Snapshot mit der Zielkonfiguration kompatibel ist und dass du über die erforderlichen Berechtigungen verfügst.
Überprüfen der Snapshot-Kompatibilität vor der Wiederherstellung
Bevor du einen Snapshot wiederherstellst, überprüfe die Versionskompatibilität, um Fehler zu vermeiden.
Überprüfen des Snapshot-Status und der Engine-Version
Du kannst die Konsole oder die AWS CLI verwenden, um die Versionskompatibilität zu überprüfen, bevor du einen Snapshot wiederherstellst.
Gehe wie folgt vor, um die Konsole zu verwenden:
- Öffne die Amazon Relational Database Service (Amazon RDS)-Konsole.
- Wähle Snapshots.
- Wähle deinen Snapshot aus.
- Wähle die Registerkarte Details aus und stelle dann die folgenden Konfigurationen sicher:<br id=hardline_break/> Stelle sicher, dass der Engine-Parameter aurora-postgresql lautet.<br id=hardline_break/> Vergewissere dich, dass die Engine-Version mit der Zielversion kompatibel ist.<br id=hardline_break/> Vergewissere dich, dass der Status auf Verfügbar gesetzt ist.
Um mithilfe der AWS CLI alle verfügbaren Versionen von Aurora PostgreSQL-Compatible aufzulisten, führe den folgenden Befehl describe-db-engine-versions aus:
aws rds describe-db-engine-versions \ --engine aurora-postgresql \ --query "DBEngineVersions[?EngineVersion=='your-snapshot-version'].ValidUpgradeTarget[*].EngineVersion" \ --region your-region
Hinweis: Ersetzeyour-snapshot-version durch die Engine-Version aus deinem Snapshot und your-region durch deine AWS-Region.
IAM-Berechtigungen überprüfen
Stelle sicher, dass der/die AWS Identity and Access Management (IAM)-Benutzer:in oder die IAM-Rolle über die erforderlichen Berechtigungen zum Wiederherstellen eines Snapshots verfügt.
Führe den folgenden AWS-CLI-Befehl get-user aus, um die aktuellen Berechtigungen zu überprüfen:
aws iam get-user --region your-region
Hinweis: Ersetze your-region durch deine AWS-Region.
Beispiel für eine IAM-Richtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBInstance", "rds:DescribeDBSnapshots", "rds:DescribeDBClusters", "rds:DescribeDBInstances" ], "Resource": "*" } ] }
Fehler mit IAM-Berechtigungen lösen
Wenn dir die erforderlichen Amazon-RDS-Berechtigungen fehlen, erhältst du die folgende Fehlermeldung:
„User is not authorized to perform: rds:RestoreDBClusterFromSnapshot“
Um diesen Fehler zu beheben, füge der IAM-Richtlinie die erforderlichen Amazon-RDS-Berechtigungen hinzu. Gehe wie folgt vor:
-
Öffne die IAM-Konsole.
-
Wähle dann im Navigationsbereich Benutzer oder Rollen aus.
-
Wähle deinen Benutzer- oder Rollennamen aus.
-
Wähle Berechtigungen hinzufügen aus.
-
Wähle Inline-Richtlinie erstellen aus oder bearbeite eine Richtlinie, die bereits an die IAM-Entität angefügt ist.
-
Wähle die Registerkarte JSON.
-
Gib die Richtlinie ein, die die für die Snapshot-Wiederherstellung erforderlichen Berechtigungen enthält:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBInstance", "rds:DescribeDBSnapshots", "rds:DescribeDBClusterSnapshots", "rds:DescribeDBClusters", "rds:DescribeDBInstances" ], "Resource": "*" } ] } -
Wähle Weiter aus.
-
Gib einen Richtliniennamen ein. Gib beispielsweise RDSSnapshotRestorePolicy ein.
-
Wähle Richtlinie erstellen aus.
Fehler bei AWS-KMS-Verschlüsselungsberechtigungen beheben
Wenn du versuchst, einen verschlüsselten Snapshot ohne die richtigen AWS Key Management Service (AWS KMS)-Berechtigungen wiederherzustellen, erhältst du eine der folgenden Fehlermeldungen:
„Unable to restore from encrypted snapshot“
„KMS key access denied“
Um den Fehler zu beheben, überprüfe den AWS-KMS-Schlüssel, den der Snapshot verwendet, und füge dann die erforderlichen AWS-KMS-Berechtigungen zur IAM-Richtlinie hinzu.
Um den AWS-KMS-Schlüssel zu überprüfen, den der Snapshot verwendet, führe den folgenden Befehl describe-db-cluster-snapshots aus:
aws rds describe-db-cluster-snapshots \ --db-cluster-snapshot-identifier your-snapshot-id \ --region your-region
Hinweis: Ersetze your-snapshot-id durch deine Snapshot-ID und your-region durch deine AWS-Region.
Füge dann die AWS-KMS-Berechtigungen zur IAM-Richtlinie hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:CreateGrant", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }
Hinweis: Ersetze region durch deine AWS-Region, account-id durch deine AWS-Konto-ID und key-id durch deine AWS-KMS-Schlüssel-ID.
Fehler aufgrund von nicht gefundenem Snapshot beheben
Wenn du versuchst, einen Snapshot wiederherzustellen, der nicht existiert oder auf den du nicht zugreifen kannst, wird die folgende Fehlermeldung angezeigt:
„DBClusterSnapshotNotFoundFault: DBClusterSnapshot snapshot-id not found“
Um diesen Fehler zu beheben, stelle sicher, dass der Snapshot vorhanden ist und du über Zugriffsberechtigungen verfügst.
Führe den folgenden Befehl describe-db-cluster-snapshots aus, um die verfügbaren Snapshots in deinem Konto aufzulisten:
aws rds describe-db-cluster-snapshots \ --region your-region
Hinweis: Ersetze your-region durch deine AWS-Region.
Wenn der Snapshot von einem anderen AWS-Konto aus geteilt wird, stelle sicher, dass er mit deinem Konto geteilt wurde und dass du die Freigabe akzeptiert hast.
Fehler wegen ungültiger Parameter beheben
Wenn du bei der Wiederherstellung eine inkompatible Instance-Klasse angibst, erhältst du die folgende Fehlermeldung:
„InvalidParameterValue: Invalid DB Instance class“
Um diesen Fehler zu beheben, wähle eine kompatible Instance-Klasse für die Aurora PostgreSQL-Compatible Edition.
Führe den folgenden Befehl describe-orderable-db-instance-options aus, um gültige Instance-Klassen für die Ziel-Engine-Version aufzulisten:
aws rds describe-orderable-db-instance-options \ --engine aurora-postgresql \ --engine-version your-version \ --region your-region
Hinweis: Ersetze your-version durch deine PostgreSQL-Version, zum Beispiel 15.4. Ersetze your-region durch deine AWS-Region.
Überprüfe die Ausgabe und wähle eine Instance-Klasse aus, die deine Ziel-Engine-Version und die erforderlichen Funktionen unterstützt.
Subnetzgruppenfehler beheben
Wenn du bei der Wiederherstellung ein ungültiges Subnetz angibst, wird die folgende Fehlermeldung angezeigt:
„InvalidSubnet: The requested subnet is not valid“
Um diesen Fehler zu beheben, stelle sicher, dass die DB-Subnetzgruppe Subnetze in mehreren Availability Zones hat.
Führe den folgenden Befehl describe-db-subnet-groups aus, um deine Subnetzgruppenkonfiguration zu überprüfen:
aws rds describe-db-subnet-groups \ --db-subnet-group-name your-subnet-group \ --region your-region
Hinweis: Ersetze your-subnet-group durch deinen DB-Subnetzgruppennamen und your-region durch deine AWS-Region.
Stelle sicher, dass die Subnetzgruppe Subnetze in mindestens zwei Availability Zones enthält. Wenn die Subnetzgruppe keine Subnetze in mehreren Availability Zones hat, kannst du die Subnetzgruppe ändern, um Subnetze in zusätzlichen Availability Zones hinzuzufügen.
Kontoübergreifende Fehler beim Zugriff auf AWS-KMS-Schlüssel beheben
Wenn du versuchst, einen verschlüsselten Snapshot wiederherzustellen, der von einem anderen AWS-Konto ohne die richtigen AWS-KMS-Berechtigungen geteilt wurde, erhältst du die folgende Fehlermeldung:
„AccessDenied: Cross-account pass role is not allowed“
Um diesen Fehler zu beheben, stelle sicher, dass die AWS-KMS-Schlüsselrichtlinie den kontoübergreifenden Zugriff zulässt und deine IAM-Rolle über die erforderlichen Berechtigungen verfügt.
Führe den folgenden Befehl get-key-policy aus, um die AWS-KMS-Schlüsselrichtlinie zu überprüfen:
aws kms get-key-policy \ --key-id your-key-id \ --policy-name default \ --region your-region
Hinweis: Ersetze your-key-id durch deine AWS-KMS-Schlüssel-ID und your-region durch deine AWS-Region.
Stelle sicher, dass die Schlüsselrichtlinie eine Anweisung enthält, die dem AWS-Konto Zugriff zum Entschlüsseln und Erstellen von Gewährungen erteilt. Wenn du die AWS-KMS-Schlüsselrichtlinie nicht aktualisieren kannst, wende dich an den Snapshot-Besitzer, um die AWS-KMS-Schlüsselrichtlinie zu aktualisieren.
Kontoübergreifende verschlüsselte Snapshots können nicht direkt aus dem gemeinsam genutzten Snapshot wiederhergestellt werden. Verwende stattdessen deinen eigenen AWS-KMS-Schlüssel, um den gemeinsam genutzten Snapshot auf das Konto zu kopieren und ihn dann aus der Kopie wiederherzustellen. Weitere Informationen findest du unter Verschlüsselte Schnappschüsse teilen.
Kompatibilitätsprobleme mit der Engine-Version beheben
Wenn du versuchst, eine inkompatible Engine-Version wiederherzustellen, wird während des Wiederherstellungsvorgangs möglicherweise eine Fehlermeldung angezeigt.
Um das Problem zu beheben, stelle sicher, dass die Zielversion der PostgreSQL-Version des Snapshots entspricht oder höher ist. Du kannst keine Wiederherstellung auf eine niedrigere Version vornehmen.
Führe den folgenden Befehl describe-db-engine-versions aus, um die verfügbaren Versionen von Aurora PostgreSQL-Compatible zu überprüfen:
aws rds describe-db-engine-versions \ --engine aurora-postgresql \ --region your-region
Hinweis: Ersetze your-region durch deine AWS-Region.
Überprüfe die Ausgabe, um kompatible Engine-Versionen für das Wiederherstellungsziel zu identifizieren.
Kompatibilitätsprobleme mit Instance-Klassen beheben
Wenn du eine Instance-Klasse auswählst, die deine Ziel-Engine-Version oder die erforderlichen Funktionen nicht unterstützt, schlägt die Wiederherstellung möglicherweise fehl.
Um dieses Problem zu beheben, wähle eine Instance-Klasse aus, die über den erforderlichen Speicher und Arbeitsspeicher für deine Workload verfügt. Stelle sicher, dass die Instance-Klasse die Version von Aurora PostgreSQL-Compatible unterstützt, die du wiederherstellst, und dass sie bestimmte Funktionen wie Performance Insights unterstützt.
Um die Kompatibilität der Instance-Klassen zu überprüfen, führe den Befehl describe-orderable-db-instance-options aus:
aws rds describe-orderable-db-instance-options \ --engine aurora-postgresql \ --engine-version your-version \ --region your-region
Hinweis: Ersetze your-version durch deine PostgreSQL-Version, zum Beispiel 15.4. Ersetze your-region durch deine AWS-Region.
Ähnliche Informationen
Wiederherstellung aus einem DB-Cluster-Snapshot
Einen DB-Cluster-Snapshot teilen
- Themen
- Database
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 5 Monaten