Come posso avviare il ripristino per un grande volume di oggetti Amazon S3 attualmente nella classe di archiviazione S3 Glacier o Deep Archive S3 Glacier?
Ho un gran numero di oggetti nella classe di archiviazione Amazon Simple Storage Service (Amazon S3) Glacier o Deep Archive Amazon S3 Glacier. Desidero eseguire un ripristino su tutti questi oggetti mediante un'operazione su vasta scala.
Risoluzione
Per ripristinare un grande volume di oggetti della classe di storage Amazon S3 Glacier, puoi utilizzare una delle seguenti opzioni:
- Operazioni in batch di Amazon S3
- Uno script personalizzato creato utilizzando l'interfaccia della linea di comando AWS (AWS CLI)
Nota: in caso di errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS, assicurati di utilizzare la versione più recente dell'interfaccia della linea di comando AWS.
Utilizza un'operazione batch S3
Per avviare il ripristino di tutti gli oggetti, crea un processo Amazon S3 Batch Operations. Puoi eseguire S3 Initiate Restore Object su un elenco personalizzato di oggetti o su un report di inventario Amazon S3.
Nota: prima di creare un lavoro, assicurati di controllare i prezzi di Amazon S3 Batch Operations.
Prima di iniziare a creare un job S3 Batch Operations, assicurati che siano soddisfatti i seguenti requisiti:
- Hai un utente o un ruolo di AWS Identity and Access Management (IAM) che dispone delle autorizzazioni per avviare un ripristino. Inoltre, l'utente o il ruolo IAM deve disporre di una policy di affidabilità per le operazioni batch di Amazon S3.
- Hai un elenco CSV o un rapporto di inventario Amazon S3 che funge da manifesto degli oggetti che desideri ripristinare. Il file manifesto deve essere archiviato in un bucket S3. I manifesti con crittografia lato server (chiavi fornite dal cliente o chiavi AWS Key Management Service) non sono supportati. Per ulteriori informazioni sui requisiti per ogni formato, consulta Specificare un manifesto.
Per creare un processo di funzionamento in batch utilizzando la console Amazon S3 per avviare un ripristino, procedi come segue:
1. Apri la console di Amazon S3.
-
Dal riquadro di navigazione, scegli Batch operations.
-
Scegli Create job.
-
Per Region, seleziona la regione AWS in cui desideri creare il lavoro.
-
In Choose manifest, inserisci quanto segue:
Per Manifest format, seleziona S3 inventory report o CSV come formato di file.
Per Path to manifest object, inserisci il percorso S3 del file manifesto (esempio: s3://awsexamplebucket/manifest.csv). -
Scegli Avanti.
-
In Choose operation, inserisci quanto segue:
Per Operation, seleziona Restore.
Per Restore source, seleziona Glacier o Glacier Deep Archive.
In Numero di giorni in cui la copia ripristinata è disponibile, inserisci il numero di giorni per il tuo caso d'uso.
Per Restore tier, seleziona Bulk retrieval o Standard retrieval. Per ulteriori informazioni su ogni livello, consulta Opzioni di recupero dell'archivio.
Nota: le operazioni batch S3 non supportano il livello di recupero rapido.
- Scegli Avanti.
9. In Configure additional options, inserisci quanto segue:
In Description, puoi scegliere di inserire una descrizione del lavoro. In alternativa, puoi lasciare vuoto questo campo.
In Priority, inserisci un numero per indicare la priorità del lavoro.
Per Generate completion report, scegli di mantenere selezionata questa opzione.
Per Completion report scope, selezionaFailed tasks only o All tasks a seconda del caso d'uso.
For Path to completion report destination, inserisci il percorso a cui desideri che venga inviato il rapporto.
Per Permission, seleziona Scegli tra i ruoli IAM esistenti. Quindi, seleziona il ruolo IAM che dispone delle autorizzazioni per avviare un ripristino e dispone di una politica di affidabilità per le operazioni batch di S3.
-
Scegli Avanti.
-
Nella paginaReview, rivedi i dettagli del lavoro. Quindi, scegli Create job.
-
Dopo aver creato il lavoro, lo stato del lavoro cambia da New a Preparing. Quindi, lo stato cambia in Awating your confirmation. Per eseguire il processo, è necessario selezionare il processo e quindi scegliere Confirm and run. Il processo non viene eseguito finché non lo confermi.
-
(Facoltativo) Se hai selezionato Generate completion report, rivedi il rapporto dopo il completamento del lavoro. Puoi trovare il rapporto nella destinazione del rapporto Percorso di completamento che hai specificato.
Per le descrizioni di ogni stato di mansione, consulta Statuses of job.
Per ulteriori informazioni sui processi non riusciti, consulta Monitoraggio degli errori nei processi.
Usa uno script CLI AWS personalizzato
Puoi ripristinare i tuoi oggetti Amazon S3 Glacier utilizzando il comando AWS CLI restore-object. Tuttavia, il comando può ripristinare solo un oggetto S3 Glacier alla volta e non supporta l'azione di ripristino in blocco. Pertanto, utilizza la seguente soluzione personalizzata per ripristinare i dati di massa dalle classi di archiviazione S3 Glacier utilizzando le opzioni di recupero disponibili.
Nota: è necessario testare questi script personalizzati in un ambiente di test o sviluppo prima di utilizzarli nell'ambiente di produzione. I comandi personalizzati ripristinano tutti gli oggetti nelle classi di archiviazione S3 Glacier uno per uno. Se hai molti oggetti, il comando potrebbe scadere. È possibile eseguire il comando personalizzato utilizzando il parametro Prefix per definire il numero di oggetti.
Per un sistema basato su Linux o Unix, esegui il seguente comando per ripristinare in modo ricorsivo tutti gli oggetti S3 Glacier nel bucket:
aws s3api list-objects --bucket <bucket-name> --prefix <prefix> --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text | xargs -I {} sh -c "aws s3api restore-object --bucket <bucket-name> --key \"{}\" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"
Assicurati di fare quanto segue:
- Sostituisci <bucket-name> con il nome del bucket S3.
- Sostituisci <prefix> con il percorso della cartella S3.
Per un sistema basato su Windows, effettuate le seguenti operazioni:
- Esegui il seguente comando per elencare tutti gli oggetti S3 Glacier nel bucket:
aws s3api list-objects --bucket <bucket-name> --prefix <prefix> --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt
Quando si esegue questo comando, l'elenco degli oggetti viene salvato in un file denominato list.txt.
- Esegui il seguente comando per ripristinare gli oggetti S3 Glacier:
for /F "tokens=*" %i in (list.txt) do @aws s3api restore-object --bucket <bucket-name> --key "%i" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"
Nota: il precedente script CLI personalizzato di AWS prevede costi aggiuntivi per la LISTA e le richieste di recupero dei dati. Poiché list-objects-v2 è un'operazione impaginata, è possibile che vengano emesse più chiamate API per recuperare l'intero set di dati di risultati. Per ulteriori informazioni, consulta il tariffario di Amazon S3.
Informazioni correlate
Creazione di un processo S3 Batch Operations
Esecuzione di operazioni in batch su larga scala su oggetti Amazon S3
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa