Comment puis-je lancer des restaurations pour un volume important d’objets Amazon S3 qui se trouvent actuellement dans la classe de stockage S3 Glacier ou S3 Glacier Deep Archive ?

Lecture de 7 minute(s)
0

J’ai un grand nombre d’objets dans la classe de stockage Amazon Simple Storage Service (Amazon S3) Glacier ou Amazon S3 Glacier Deep Archive. Je souhaite lancer une restauration de tous ces objets dans le cadre d’une opération à grande échelle.

Résolution

Pour restaurer un volume important d’objets de classe de stockage Amazon S3 Glacier, vous pouvez utiliser l’une des options suivantes :

  • Opérations par lots sur Amazon S3
  • Un script personnalisé que vous avez créé à l’aide de l’interface de la ligne de commande AWS (AWS CLI)

Remarque : Si des erreurs surviennent lors de l’exécution des commandes de l’AWS CLI, vérifiez que vous utilisez la version la plus récente de l’AWS CLI.

Utiliser une opération par lot S3

Créez une tâche Opérations par lot Amazon S3 pour lancer la restauration de tous les objets. Vous pouvez exécuter une tâche S3 Lancer une restauration d’objet sur une liste personnalisée d’objets ou sur un rapport d’inventaire Amazon S3.

Remarque : Avant de créer une tâche, n’oubliez pas de consulter la tarification des Opérations par lot Amazon S3.

Avant de commencer à créer une tâche Opérations par lot S3, assurez-vous que les conditions suivantes sont remplies :

  • Vous disposez d’un utilisateur ou d’un rôle AWS Identity and Access Management (IAM) autorisé à initier une restauration. En outre, l’utilisateur ou le rôle IAM doit disposer d’une politique de confiance avec les opérations par lot Amazon S3.
  • Vous disposez d’une liste CSV ou d’un rapport d’inventaire Amazon S3 qui sert de manifeste des objets que vous souhaitez restaurer. Le fichier manifeste doit être stocké dans un compartiment S3. Les manifestes avec chiffrement côté serveur (clés fournies par le client ou clés AWS Key Management Service) ne sont pas pris en charge. Pour plus d’informations sur les exigences de chaque format, consultez la section Spécification d’un manifeste.

Pour créer une tâche d’opération par lots à l’aide de la console Amazon S3 afin 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 lot.

3.    Choisissez Create job (Créer une tâche).

4.    Dans Region (Région), sélectionnez la région AWS dans laquelle vous souhaitez créer la tâche.

5.    Sous Choose manifest (Choisir le manifeste), saisissez ce qui suit :
Pour le Manifest format (format Manifeste), sélectionnez le S3 inventory report (rapport d’inventaire S3) ou CSV comme format de fichier.
Pour Path to manifest object (Chemin d’accès à l’objet manifeste), entrez le chemin S3 du fichier manifeste (Exemple : s3://awsexamplebucket/manifest.csv).

6.    Choisissez Next (Suivant).

7.    Sous Choose operation (Choisir l’opération), saisissez les informations suivantes :
Pour Operation (Opération), sélectionnez Restore (Restaurer).
Pour Restore source (Restaurer la source), sélectionnez Glacier ou Glacier Deep Archive.
Pour Number of days that the restored copy is available (Nombre de jours pendant lesquels la copie restaurée est disponible), entrez le nombre de jours correspondant à votre cas d’utilisation.
Pour Restore tier (Niveau de restauration), sélectionnez Bulk retrieval (Extraction en masse) ou Standard retrieval (Extraction standard). Pour en savoir plus sur chaque niveau, consultez Archive retrieval options (Options d’extraction d’archives).

Remarque : Les opérations par lot S3 ne prennent pas en charge le niveau d’extraction Expedited (Accélérée).

8.    Choisissez Next (Suivant).

9.    Sous Configure additional options (Configurer les options supplémentaires), saisissez les informations suivantes :
Pour Description, vous pouvez choisir de saisir une description du poste. Vous pouvez également laisser ce champ vide.
Pour Priority (Priorité), entrez un chiffre pour indiquer la priorité de la tâche.
Pour Generate completion report (Générer le rapport de fin), choisissez de conserver cette option sélectionnée.
Pour Completion report scope (Portée du rapport de fin), sélectionnez Failed tasks only (Tâches ayant échoué uniquement) ou All tasks (Toutes les tâches) en fonction de votre cas d’utilisation.
Dans Path to completion report destination (Chemin d’accès à la destination du rapport de fin), entrez le chemin auquel vous souhaitez que le rapport soit envoyé.
Pour Permission (Autorisation), sélectionnez Choose from existing IAM roles (Choisir parmi les rôles IAM existants). Sélectionnez ensuite le rôle IAM autorisé à lancer une restauration et doté d’une politique de confiance avec les opérations par lot S3.

10.    Choisissez Next (Suivant).

11.    Sur la page Review (Révision), passez en revue les détails de la tâche. Choisissez ensuite Create job (Créer une tâche).

12.    Une fois que vous avez créé le travail, son statut passe de New (Nouveau) à Preparing (Préparation en cours). Le statut passe ensuite à Awaiting your confirmation (En attente de votre confirmation). Pour exécuter la tâche, vous devez sélectionner la tâche, puis choisir Confirm and run (Confirmer et exécuter). La tâche ne s’exécute pas tant que vous ne l’avez pas confirmée.

13.    (Facultatif) Si vous avez sélectionné Generate completion report (Générer le rapport de fin), passez en revue le rapport une fois la tâche terminée. Vous pouvez trouver le Path to completion report destination (Chemin d’accès à la destination du rapport de fin) que vous avez spécifiée.

Pour une description de chaque statut de tâche, voir Job statuses (Statuts de tâche).

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

Utiliser un script d’AWS CLI personnalisé

Vous pouvez restaurer vos objets Amazon S3 Glacier à l’aide de la commande restore-object de l’AWS CLI. Toutefois, la commande ne peut restaurer qu’un seul objet S3 Glacier à la fois et ne prend pas en charge l’action de restauration en bloc. Par conséquent, utilisez la solution personnalisée suivante pour restaurer des données en bloc à partir des classes de stockage S3 Glacier à l’aide des available retrieval options (options d’extraction disponibles).

Remarque : Vous devez tester ces scripts personnalisés dans un environnement de test ou de développement avant de les utiliser dans votre environnement de production. Les commandes personnalisées restaurent tous les objets des classes de stockage S3 Glacier un par un. Si vous avez un très grand nombre d’objets, la commande risque d’expirer. Vous pouvez exécuter la commande personnalisée à l’aide du paramètre Prefix (Préfixe) pour réduire le nombre d’objets.

Pour un système Linux ou Unix, exécutez la commande suivante pour restaurer de manière récursive tous les objets S3 Glacier du compartiment :

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"

Veillez à effectuer les opérations suivantes :

  • Remplacez <bucket-name> avec le nom du compartiment S3.
  • Remplacez <prefix> avec le chemin du dossier S3.

Pour un système Windows, procédez comme suit :

  1. Exécutez la commande suivante pour répertorier tous les objets S3 Glacier du compartiment :
aws s3api list-objects --bucket <bucket-name> --prefix <prefix> --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt

Lorsque vous exécutez cette commande, la liste des objets est enregistrée dans un fichier nommé list.txt.

  1. Exécutez la commande suivante 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 : Le script personnalisé de l’interface de ligne de commande AWS précédent entraîne des frais supplémentaires pour la LISTE et les demandes d’extraction de données. Comme list-objects-v2 est une opération paginée, plusieurs appels d’API peuvent être émis pour récupérer l’ensemble de données complet des résultats. Pour en savoir plus, consultez la rubrique consacrée à la Amazon S3 pricing (tarification Amazon S3).

Informations connexes

Création d’une tâche Opérations par lot S3

Réalisation d’opérations par lots à grande échelle sur des objets Amazon S3

Gestion des tâches Opérations par lot S3

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an