Comment puis-je copier les données de mon instantané Amazon EBS vers Amazon S3 et créer des volumes EBS pour des données personnalisées dans S3 ?

Lecture de 4 minute(s)
0

Je souhaite copier un instantané Amazon Elastic Block Store (Amazon EBS) dans mon compartiment Amazon Simple Storage Service (Amazon S3). Je souhaite également créer des volumes Amazon EBS à partir de données stockées dans mon compartiment S3.

Brève description

Lorsque vous créez un instantané EBS, il est automatiquement stocké dans un compartiment Amazon S3 géré par AWS. Vous pouvez copier des instantanés au sein de la même région AWS ou d'une région à une autre. Toutefois, vous ne pouvez pas copier des instantanés vers les compartiments S3 que vous gérez.

Pour stocker des instantanés auxquels vous accédez rarement, pensez à utiliser l'archive d'instantanés Amazon EBS. Toutefois, si vous préférez utiliser Amazon S3 pour stocker vos instantanés, vous pouvez utiliser la solution suivante.

Résolution

Remarque : si des messages d'erreurs surviennent lors de l'exécution des commandes de l'interface de la ligne de commande AWS (AWS CLI), vérifiez que vous utilisez bien la version la plus récente de l'interface.

Pour pouvoir copier le contenu de votre instantané vers votre compartiment S3, vous devez créer un volume à partir de cet instantané. Montez le volume sur une instance Linux Amazon Elastic Compute Cloud (Amazon EC2). Utilisez ensuite l'interface de la ligne de commande AWS ou les API S3 pour copier les données vers votre compartiment S3.

Pour copier le contenu de vos instantanés EBS vers un compartiment Amazon S3, procédez comme suit :

1.    Créez un volume EBS à partir de l'instantané.

2.    Lancez une instance Linux EC2 dans la même zone de disponibilité que le volume que vous avez créé.

3.    Attachez le volume à l'instance.

4.    Connectez-vous à votre instance Linux.

5.    Installez l'AWS CLI sur votre instance Linux.

6.    Accordez à l'instance Amazon EC2 l'accès à votre compartiment Amazon S3.

7.    Exécutez la commande suivante pour monter le volume sur votre instance :

$ sudo mount /dev/xvdf /mnt

Remarque : le périphérique (/dev/xvdf dans l'exemple précédent) peut être attaché à l'instance avec un nom de périphérique différent. Utilisez la commande lsblk pour afficher vos périphériques de disque disponibles ainsi que leurs points de montage afin de déterminer les noms de périphériques corrects.

8.    Installez le package pv pour suivre la progression lors de la création de l'archive tar :

Distributions Amazon Linux et Red Hat Enterprise Linux (RHEL)

$ sudo yum install pv

Remarque : avant d'installer le package pv pour les distributions Amazon Linux et RHEL, vous devez activer le référentiel Extra Packages for Enterprise Linux (EPEL). Reportez-vous à Comment puis-je activer le référentiel EPEL pour une instance Amazon EC2 qui s'exécute sous CentOS, RHEL ou Amazon Linux ?

Distributions basées sur Ubuntu et Debian

$ sudo apt install pv

9.    Exécutez la commande suivante pour copier les données du volume EBS vers votre compartiment S3 :

$ tar c /mnt | pv -s $(($(du -sk /mnt | awk '{print $1}') \\\* 1024)) | gzip | aws s3 cp - "s3://my-bucket/backup1.tar.gz"

Remarque : remplacez my-bucket par le nom de votre compartiment S3 et backup1 par le nom de votre fichier.

La commande précédente crée un fichier compressé à partir du répertoire /mnt et charge le fichier dans le compartiment S3 nommé my-bucket.

10.   Utilisez la console Amazon S3 pour confirmer que le fichier compressé a bien été chargé dans votre compartiment S3.

11.    Exécutez la commande suivante pour démonter le volume :

$ sudo umount /mnt
  1.   Détachez le volume EBS de l'instance Linux.

  2.   Supprimez le volume et mettez fin à votre instance.

Informations connexes

Copier un instantané Amazon EBS

Comment puis-je accorder à mon instance Amazon EC2 l'accès à un compartiment Amazon S3 ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois