Come posso eliminare snapshot di Amazon EBS quando l'eliminazione non riesce?
Non riesco a eliminare il mio snapshot di Amazon Elastic Block Store (Amazon EBS).
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Scegli una risoluzione in base al messaggio di errore che ricevi o al problema riscontrato.
Errore di autorizzazione codificato
In AWS CloudTrail ricevi il seguente messaggio di errore:
"You are not authorized to perform this operation. Encoded authorization failure message: Bght_tAZ..."
Questo errore si verifica perché l'utente o il ruolo AWS Identity and Access Management (AWS IAM) non ha l'autorizzazione per eseguire l'operazione API DeleteSnapshot.
Per decodificare il messaggio di errore di autorizzazione, esegui questo comando:
aws sts decode-authorization-message --encoded-message your_encoded_message
Nota: sostituisci your_encoded_message con il messaggio di errore di autorizzazione codificato che hai ricevuto.
Puoi anche utilizzare il simulatore di policy IAM per risolvere l'errore. Verifica se la policy associata all'utente o al ruolo IAM ha una regola che nega l'azione ec2:DeleteSnapshot.
Esempio di policy JSON che nega l'azione ec2:DeleteSnapshot:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "ec2:DeleteSnapshot", "Resource": "*" } ] }
Inoltre, verifica le regole che negano le condizioni che devono essere soddisfatte per il completamento dell'operazione (ad esempio, ec2:SnapshotID). Aggiorna la policy dell'utente o del ruolo IAM per consentire l'eliminazione dello snapshot.
Errore di snapshot inesistente
Ricevi il seguente messaggio di errore:
"The snapshot 'snap-abcdef1234567890' does not exist."
Questo errore si verifica perché un altro account AWS è proprietario dello snapshot e lo condivide con il tuo account.
Se hai accesso all'account che condivide lo snapshot, puoi eliminarlo. Altrimenti devi chiedere al proprietario dell'altro account di farlo.
Per verificare il proprietario dello snapshot, esegui questo comando AWS CLI describe-snapshots:
aws ec2 describe-snapshots --snapshot-ids snap-abcdef1234567890
Nota: sostituisci snap-abcdef1234567890 con l'ID del tuo snapshot.
Puoi anche utilizzare la console Amazon Elastic Compute Cloud (Amazon EC2) per ottenere informazioni sullo snapshot.
Se sei proprietario dello snapshot e non desideri più condividerlo con altri account, completa i seguenti passaggi:
- Apri la console Amazon EC2.
- Nel pannello di navigazione, seleziona Snapshot.
- Seleziona lo snapshot che hai condiviso, quindi scegli Operazioni.
- Scegli Impostazioni snapshot, quindi seleziona Modifica autorizzazioni.
- In Account condivisi, seleziona l'ID dell'account da cui desideri revocare la condivisione dello snapshot.
- Scegli Rimuovi selezionato.
- Scegli Salva modifiche.
Errore di snapshot utilizzato da AMI
Ricevi il seguente messaggio di errore:
The snapshot 'snap-abcdef1234567890' is currently in use by ami-abcdef1234567890."
Questo errore si verifica perché un'Amazon Machine Image (AMI) registrata utilizza lo snapshot del dispositivo root del volume EBS.
Per risolvere il problema, annulla la registrazione dell'AMI, quindi elimina lo snapshot.
Se non riesci più a visualizzare il messaggio di errore che contiene l'ID dell'AMI, esegui questo comando AWS CLI describe-snapshots:
aws ec2 describe-snapshots --snapshot-ids snap-abcdef1234567890
Nota: sostituisci snap-abcdef1234567890 con l'ID del tuo snapshot.
Puoi trovare l'ID dell'AMI nella sezione Descrizione del file JSON:
{ "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" } ] }
Errore di operazione DeleteSnapshot
Ricevi il seguente messaggio di errore:
"An error occurred (InvalidSnapshot.NotFound) when calling the DeleteSnapshot operation. The snapshot 'snap-abcdef1234567890' does not exist."
Se utilizzi AWS CLI per eliminare uno snapshot e ricevi il messaggio di errore precedente, lo snapshot potrebbe trovarsi nel Cestino.
Non puoi eliminare uno snapshot che si trova nel Cestino. Puoi eliminarlo solo quando termina il periodo di conservazione.
Per verificare se lo snapshot è nel Cestino, esegui il comando AWS CLI list-snapshots-in-recycle-bin:
aws ec2 list-snapshots-in-recycle-bin --snapshot-id snap-abcdef1234567890 --region region
Nota: sostituisci snap-abcdef1234567890 con l'ID dello snapshot e region con la tua Regione AWS.
Esempio di output:
{ "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" } ] }
Se devi eliminare lo snapshot mentre è ancora nel Cestino, ripristinalo dal Cestino. Assicurati che l'utente o il ruolo IAM abbia le autorizzazioni corrette per visualizzare e recuperare snapshot che si trovano nel Cestino.
Quindi controlla le regole di conservazione della Regione. Per una regola di conservazione a livello di tag, modifica i tag dello snapshot in modo che non corrispondano alla regola di conservazione. Quindi utilizza AWS CLI per eliminare lo snapshot. Per una regola a livello di Regione, elimina la regola di conservazione, quindi utilizza AWS CLI per eliminare lo snapshot. Non puoi utilizzare la console AWS Backup per eliminare uno snapshot creato in AWS Backup e ripristinato dal Cestino.
Nota: quando elimini la regola di conservazione per uno snapshot, gli altri snapshot nel Cestino non sono interessati.
Errore di snapshot gestito da AWS Backup
Ricevi il seguente messaggio di errore:
"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."
Questo errore si verifica quando utilizzi la console Amazon EC2 o AWS CLI per eliminare uno snapshot creato da AWS Backup, oppure quando lo snapshot creato da AWS Backup si trova nel Cestino e tenti di ripristinarlo.
Devi utilizzare la console AWS Backup per eliminare manualmente lo snapshot.
Importante: non puoi utilizzare la console AWS Backup per eliminare uno snapshot creato da AWS Backup, inviato al Cestino e successivamente ripristinato. Devi utilizzare la console Amazon EC2 o AWS CLI per eliminarlo.
Errore di risorsa non trovata
Quando hai provato a eliminare lo snapshot, hai ricevuto l'errore "ResourceNotFound". Questo errore si verifica quando utilizzi il Sistema di gestione del ciclo di vita dei dati Amazon per creare e successivamente eliminare lo snapshot, mentre Amazon EBS lo conserva nel Cestino.
Il Sistema di gestione del ciclo di vita dei dati Amazon non gestisce gli snapshot nel Cestino creati tramite il Sistema stesso o le policy di snapshot. Devi utilizzare la console Amazon EC2 o AWS CLI per eliminarlo.
Risultati dell'API DeleteSnapshot non immediatamente visibili
Poiché le API di Amazon EC2 seguono un modello di consistenza finale, i risultati potrebbero non essere immediatamente visibili ai comandi successivi eseguiti dopo DeleteSnapshot.
Per verificare lo stato di uno snapshot eliminato di recente, esegui questo comando AWS CLI describe-snapshots:
aws ec2 describe-snapshots --region region --snapshot-ids snap-abcdef1234567890
Nota: sostituisci region con la tua Regione e snap-abcdef1234567890 con l'ID del tuo snapshot.
Se ricevi il seguente messaggio di errore, significa che lo snapshot è stato eliminato correttamente:
"An error occurred (InvalidSnapshot.NotFound) when calling the DescribeSnapshots operation: The snapshot 'snap-abcdef1234567890' does not exist."
- Argomenti
- Storage
- Lingua
- Italiano
