Passer au contenu

Comment restaurer un volume important d'objets Amazon S3 appartenant à la classe de stockage S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive ?

Lecture de 6 minute(s)
0

Je souhaite restaurer un grand nombre d'objets Amazon Simple Storage Service (Amazon S3). Les objets Amazon S3 appartiennent à la classe de stockage Glacier Flexible Retrieval ou Amazon S3 Glacier Deep Archive.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Pour restaurer un volume important d'objets de classe de stockage Amazon S3 Glacier, utilisez Amazon S3 Batch Operations ou une commande personnalisée de l'AWS CLI.

Utiliser S3 Batch Operations

Créez une tâche S3 Batch Operations pour restaurer tous les objets. Vous pouvez exécuter une tâche de restauration sur une liste personnalisée d'objets ou un rapport d'inventaire Amazon S3.

Prérequis

Vérifiez les points suivants :

Pour utiliser la console Amazon S3 afin de créer une tâche d'opération par lots et de lancer une restauration, procédez comme suit :

  1. Ouvrez la console Amazon S3.
  2. Dans le volet de navigation, sélectionnez Opérations par lots.
  3. Choisissez Créer une tâche.
  4. Dans Région, sélectionnez la région AWS dans laquelle vous souhaitez créer la tâche.
  5. Sous Choisir le manifeste, saisissez ce qui suit :
    Dans Format manifeste, sélectionnez Rapport d’inventaire S3 ou CSV comme format de fichier.
    Dans Chemin d’accès à l’objet manifeste, saisissez le chemin de dossier du fichier manifeste dans le compartiment S3, par exemple s3://awsexamplebucket/manifest.csv.
  6. Sélectionnez Suivant.
  7. Sous Choisir l’opération, saisissez les informations suivantes :
    Dans Opération, choisissez Restaurer.
    Dans Restaurer la source, choisissez Glacier Flexible Retrieval ou Glacier Deep Archive.
    Dans Nombre de jours pendant lesquels la copie restaurée est disponible, entrez le nombre de jours.
    Dans Niveau de restauration, choisissez Récupération en bloc ou Récupération standard.
    Remarque : les opérations par lots S3 ne prennent pas en charge le niveau d’extraction Accélérée.
  8. Sélectionnez Suivant.
  9. Sous Configurer les options supplémentaires, saisissez les informations suivantes :
    (Facultatif) Pour Description, saisissez une description.
    Pour Priorité, saisissez un chiffre pour la priorité de la tâche.
    Pour Générer le rapport d’achèvement, maintenez cette option sélectionnée.
    Pour Portée du rapport d'achèvement, choisissez Uniquement les tâches qui ont échoué ou Toutes les tâches.
    Pour Chemin d'accès à la destination du rapport d'achèvement, entrez le chemin vers lequel vous souhaitez envoyer le rapport.
    Pour Autorisation, choisissez Sélectionner parmi les rôles IAM existants, puis sélectionnez le rôle IAM qui dispose des autorisations requises.
  10. Sélectionnez Suivant.
  11. Sur la page Vérification, examinez les détails de la tâche, puis choisissez Créer une tâche.
  12. Sélectionnez la tâche, puis cliquez sur Confirmer et exécuter.
  13. (Facultatif) Si vous avez sélectionné Générer le rapport d'achèvement, examinez le rapport une fois la tâche terminée. Vous pouvez trouver le rapport dans le chemin d’accès à la destination du rapport d’achèvement que vous avez spécifié.

Pour une description de chaque statut de tâche, consultez Statuts de tâche.

Important : la tâche Restaurer lance uniquement la demande de restauration des objets. Une fois que vous avez lancé la requête, S3 Batch Operations indique que la tâche est terminée pour l'objet. Une fois que la tâche d'opération par lots a restauré les objets, Amazon S3 ne met pas à jour la tâche et ne vous en informe pas. Cependant, vous pouvez utiliser Notifications d'événements Amazon S3 pour recevoir des notifications lorsque les objets sont disponibles dans Amazon S3.

Pour plus d’informations sur les tâches ayant échoué, consultez la section Suivi de l’échec de tâche.

Utiliser une commande AWS CLI personnalisée

Pour restaurer des données en bloc à partir des classes de stockage S3 Glacier, utilisez la commande personnalisée suivante qui correspond à votre système d'exploitation (OS).

Remarque : il est recommandé de tester les scripts personnalisés dans un environnement hors production avant de les utiliser dans votre environnement de production. Si vous disposez d’un trop grand nombre d'objets, il se peut que la commande expire. Utilisez le paramètre Préfixe de la commande pour réduire le nombre d'objets.

Pour un système basé sur Linux ou Unix

Vous pouvez exécuter la commande restore-object de l’AWS CLI pour restaurer vos objets Amazon S3 Glacier. Toutefois, la commande restore-object ne peut restaurer qu’un seul objet S3 Glacier à la fois et ne prend pas en charge l’action de restauration en bloc.

Exécutez la commande list-objects-v2 suivante pour répertorier tous les objets S3 Glacier du compartiment :

`` aws s3api list-objects-v2 --bucket bucket-name --prefix your-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"``

Remarque : remplacez bucket-name par le nom de votre compartiment S3, your-prefix par le chemin de votre dossier Amazon S3 et la valeur de StorageClass par GLACIER ou DEEP_ARCHIVE.

Pour un système basé sur Windows

Les commandes AWS CLI personnalisées suivantes entraîne des frais supplémentaires pour la liste et les requêtes d’extraction de données. L'appel d’API list-objects-v2 étant une opération paginée, plusieurs appels d'API permettent d’extraire le jeu de données de résultats complet.

Procédez comme suit :

  1. Exécutez la commande list-objects-v2 suivante pour répertorier tous les objets S3 Glacier du compartiment :

    `` aws s3api list-objects-v2 --bucket bucket-name --prefix your-prefix --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt``
  2. Exécutez la commande restore-object pour restaurer les objets 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"`

    Remarque : vous pouvez exécuter la commande restore-object de l’AWS CLI pour restaurer vos objets Amazon S3 Glacier. Toutefois, la commande restore-object ne peut restaurer qu’un seul objet S3 Glacier à la fois et ne prend pas en charge l’action de restauration en bloc.

Informations connexes

Comprendre les options d’extraction d’archives

Exécution d'opérations sur les objets en bloc avec Batch Operations

Gestion des tâches Opérations par lots S3

AWS OFFICIELA mis à jour il y a 7 mois