Direkt zum Inhalt

Wie lösche ich Amazon EBS-Snapshots, wenn das Löschen fehlschlägt?

Lesedauer: 6 Minute
0

Ich kann meinen Amazon Elastic Block Store (Amazon EBS)-Snapshot nicht löschen.

Behebung

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.

Wähle eine Lösung basierend auf der Fehlermeldung, die du erhältst, oder dem Problem, das bei dir auftritt.

Fehler „Encoded authorization failure“

In AWS CloudTrail erhältst du die folgende Fehlermeldung:

„You are not authorized to perform this operation. Encoded authorization failure message: Bght_tAZ...“

Dieser Fehler tritt auf, weil der AWS Identity and Access Management (IAM)-Benutzer oder die IAM-Rolle keine Berechtigung hat, die API-Operation DeleteSnapshot auszuführen.

Um die Autorisierungsfehlermeldung zu dekodieren, führe den folgenden Befehl aus:

aws sts decode-authorization-message --encoded-message your_encoded_message

Hinweis: Ersetze your_encoded_message durch die kodierte Autorisierungsfehlermeldung, die du erhalten hast.

Du kannst auch den IAM-Richtliniensimulator verwenden, um den Fehler zu untersuchen. Überprüfe, ob die Richtlinie, die dem IAM-Benutzer oder der IAM-Rolle zugeordnet ist, eine Regel enthält, die die Aktion ec2:DeleteSnapshot verweigert.

Beispiel einer JSON-Richtlinie, die die Aktion ec2:DeleteSnapshot verweigert:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Deny",
      "Action": "ec2:DeleteSnapshot",
      "Resource": "*"
    }
  ]
}

Überprüfe außerdem, ob Regeln vorhanden sind, die Bedingungen enthalten, die erfüllt sein müssen, damit die Operation abgeschlossen werden kann, z. B. ec2:SnapshotID. Aktualisiere die IAM-Benutzer- oder Rollenrichtlinie, um das Löschen von Snapshots zu erlauben.

Fehler „Snapshot doesn't exist“

Du erhältst die folgende Fehlermeldung:

„The snapshot 'snap-abcdef1234567890' does not exist.“

Dieser Fehler tritt auf, weil ein anderes AWS-Konto Eigentümer des Snapshots ist und ihn mit deinem Konto teilt.

Wenn du Zugriff auf das Konto hast, das den Snapshot teilt, kannst du den Snapshot löschen. Andernfalls musst du den Eigentümer des anderen Kontos bitten, den Snapshot zu löschen.

Um den Eigentümer des Snapshots zu überprüfen, führe den folgenden AWS-CLI-Befehl describe-snapshots aus:

aws ec2 describe-snapshots --snapshot-ids snap-abcdef1234567890

Hinweis: Ersetze snap-abcdef1234567890 durch die ID deines Snapshots.

Du kannst auch die Amazon EC2-Konsole verwenden, um Informationen über den Snapshot abzurufen.

Wenn du Eigentümer des Snapshots bist und den Snapshot nicht mehr mit anderen Konten teilen möchtest, führe die folgenden Schritte aus:

  1. Öffne die Amazon-EC2-Konsole.
  2. Wähle im Navigationsbereich Snapshots.
  3. Wähle den Snapshot aus, den du geteilt hast, und wähle dann Aktionen aus.
  4. Wähle Snapshot-Einstellungen aus und wähle dann Berechtigungen ändern aus.
  5. Wähle unter Geteilte Konten die ID des Kontos aus, für das du die Snapshotfreigabe widerrufen möchtest.
  6. Wähle Auswahl entfernen aus.
  7. Wähle Änderungen speichern aus.

Fehler „Snapshot in use by AMI“

Du erhältst die folgende Fehlermeldung:

„The snapshot 'snap-abcdef1234567890' is currently in use by ami-abcdef1234567890.“

Dieser Fehler tritt auf, weil ein registriertes Amazon Machine Image (AMI) den Snapshot des EBS-Volumes des Root-Geräts verwendet.

Um dieses Problem zu beheben, deregistriere zuerst das AMI und lösche dann den Snapshot.

Wenn du die Fehlermeldung mit der AMI-ID nicht mehr anzeigen kannst, führe den folgenden AWS-CLI-Befehl describe-snapshots aus:

aws ec2 describe-snapshots --snapshot-ids snap-abcdef1234567890

Hinweis: Ersetze snap-abcdef1234567890 durch die ID deines Snapshots.

Du findest die AMI-ID im Abschnitt Description (Beschreibung) deiner JSON-Datei.

{  "Snapshots": [
    {
      "Description": "Created by CreateImage(i-abcdef1234567890) for ami-abcdef1234567890",
      "Encrypted": false,
      "OwnerId": "111122223333",
      "Progress": "100%",
      "SnapshotId": "snap-abcdef1234567890",
      "StartTime": "2022-11-12T03:15:16.272000+00:00",
      "State": "completed",
      "VolumeId": "vol-abcdef1234567890",
      "VolumeSize": 8,
      "StorageTier": "standard"
    }
  ]
}

Fehler „DeleteSnapshot operation“

Du erhältst die folgende Fehlermeldung:

„An error occurred (InvalidSnapshot.NotFound) when calling the DeleteSnapshot operation. The snapshot 'snap-abcdef1234567890' does not exist.“

Wenn du die AWS CLI verwendest, um einen Snapshot zu löschen, und die vorherige Fehlermeldung erhältst, befindet sich der Snapshot möglicherweise im Papierkorb.

Du kannst keinen Snapshot löschen, der sich im Papierkorb befindet. Du kannst den Snapshot erst löschen, wenn die Aufbewahrungsdauer abgelaufen ist.

Um zu überprüfen, ob sich der Snapshot im Papierkorb befindet, führe den folgenden AWS CLI-Befehl list-snapshots-in-recycle-bin aus:

aws ec2 list-snapshots-in-recycle-bin --snapshot-id snap-abcdef1234567890 --region region

Hinweis: Ersetze snap-abcdef1234567890 durch die ID deines Snapshots und region durch deine AWS-Region.

Beispielausgabe:

{  "Snapshots": [
    {
      "SnapshotId": "snap-0460a240fc523552e",
      "RecycleBinEnterTime": "2022-11-13T16:33:54.707000+00:00",
      "RecycleBinExitTime": "2022-11-14T16:33:54.707000+00:00",
      "Description": "",
      "VolumeId": "vol-08d1428974b817a18"
    }
  ]
}

Wenn du den Snapshot löschen musst, während er sich noch im Papierkorb befindet, stelle den Snapshot zuerst aus dem Papierkorb wieder her. Stelle sicher, dass dein IAM-Benutzer oder deine IAM-Rolle über die richtigen Berechtigungen verfügt, um Snapshots im Papierkorb anzuzeigen und wiederherzustellen.

Überprüfe anschließend die Aufbewahrungsregeln deiner Region. Für eine Aufbewahrungsregel auf Tag-Ebene ändere die Snapshot-Tags so, dass sie nicht mehr mit der Aufbewahrungsregel übereinstimmen. Verwende anschließend die AWS CLI, um den Snapshot zu löschen. Für eine Aufbewahrungsregel auf Regionsebene lösche zuerst die Aufbewahrungsregel und verwende dann die AWS CLII, um den Snapshot zu löschen. Du kannst die AWS Backup-Konsole nicht verwenden, um einen Snapshot zu löschen, den du in AWS Backup erstellt und anschließend aus dem Papierkorb wiederhergestellt hast.

Hinweis: Wenn du die Aufbewahrungsregel für einen Snapshot löschst, sind andere Snapshots im Papierkorb davon nicht betroffen.

Fehler „Snapshot managed by AWS Backup“

Du erhältst die folgende Fehlermeldung:

„snap-abcdef1234567890 This snapshot is managed by AWS Backup service and cannot be deleted via EC2 APIs. If you wish to delete this snapshot, please do so via the Backup console.“

Dieser Fehler tritt auf, wenn du die Amazon EC2-Konsole oder die AWS CLI verwendest, um einen Snapshot zu löschen, den AWS Backup erstellt hat. Oder der Snapshot, den AWS Backup erstellt hat, befindet sich im Papierkorb und du versuchst, ihn wiederherzustellen.

Du musst die AWS Backup-Konsole verwenden, um den Snapshot manuell zu löschen.

Wichtig: Du kannst die AWS Backup-Konsole nicht verwenden, um einen Snapshot zu löschen, den AWS Backup erstellt, in den Papierkorb verschoben und anschließend wiederhergestellt hat. Du musst die Amazon EC2-Konsole oder die AWS CLI verwenden, um den Snapshot zu löschen.

Fehler „ResourceNotFound“

Als du versucht hast, den Snapshot zu löschen, hast du den Fehler ResourceNotFound erhalten. Dieser Fehler tritt auf, wenn du Amazon Data Lifecycle Manager verwendest, um den Snapshot zu erstellen und anschließend zu löschen, während Amazon EBS ihn im Papierkorb beibehält.

Amazon Data Lifecycle Manager verwaltet keine Snapshots im Papierkorb, die du über Amazon Data Lifecycle Manager oder Snapshot-Richtlinien erstellt hast. Du musst die Amazon EC2-Konsole oder die AWS CLI verwenden, um den Snapshot zu löschen.

DeleteSnapshot-API-Ergebnisse nicht sofort sichtbar

Da Amazon EC2-APIs einem Modell der Eventual Consistency folgen, sind die Ergebnisse möglicherweise nicht sofort für nachfolgende Befehle sichtbar, die du nach DeleteSnapshot ausführst.

Um den Status eines kürzlich gelöschten Snapshots zu überprüfen, führe den folgenden AWS-CLI-Befehl describe-snapshots aus:

aws ec2 describe-snapshots --region region --snapshot-ids snap-abcdef1234567890

Hinweis: Ersetze region durch deine Region und snap-abcdef1234567890 durch die ID deines Snapshots.

Wenn du die folgende Fehlermeldung erhältst, hast du den Snapshot erfolgreich gelöscht:

„An error occurred (InvalidSnapshot.NotFound) when calling the DescribeSnapshots operation: The snapshot 'snap-abcdef1234567890' does not exist.“

AWS OFFICIALAktualisiert vor 6 Monaten