Convertissez votre instance sauvegardée par le stockage en une instance sauvegardée par -backed AMI EBS AMI - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Convertissez votre instance sauvegardée par le stockage en une instance sauvegardée par -backed AMI EBS AMI

Vous pouvez convertir un système Linux basé sur un stockage d'instance AMI que vous possédez en un système Linux soutenu par AmazonEBS. AMI

Important

Vous ne pouvez pas convertir une AMI personne que vous ne possédez pas.

Pour convertir une instance sauvegardée en stockage en instance soutenue par AMI Amazon EBS AMI
  1. Lancez une instance Amazon Linux à partir d'une instance EBS soutenue par AMI Amazon. Pour de plus amples informations, veuillez consulter Lancer une EC2 instance à l'aide de l'assistant de lancement d'instance de la console. Les AMI outils AWS CLI et sont préinstallés sur les instances Amazon Linux.

  2. Téléchargez la clé privée X.509 que vous avez utilisée pour regrouper votre instance sauvegardée en magasin AMI dans votre instance. Nous utilisons cette clé pour garantir que vous et Amazon êtes les seuls à EC2 pouvoir accéder à votreAMI.

    1. Créez un répertoire temporaire sur votre instance pour votre clé privée X.509 en suivant ce qui suit :

      [ec2-user ~]$ mkdir /tmp/cert
    2. Copiez votre clé privée X.509 depuis votre ordinateur vers le répertoire /tmp/cert de votre instance en utilisant un outil de copie sécurisé comme scp. Le my-private-key Le paramètre de la commande suivante est la clé privée que vous utilisez pour vous connecter à votre instanceSSH. Par exemple :

      you@your_computer:~ $ scp -i my-private-key.pem /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem ec2-user@ec2-203-0-113-25.compute-1.amazonaws.com:/tmp/cert/ pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem 100% 717 0.7KB/s 00:00
  3. Configurez vos variables d’environnement pour utiliser l’ AWS CLI. Pour plus d'informations, consultez la section Variables d'environnement.

    1. (Recommandé) Définissez des variables d'environnement pour votre clé AWS d'accès, votre clé secrète et votre jeton de session.

      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key [ec2-user ~]$ export AWS_SESSION_TOKEN=your_session_token
    2. Définissez des variables d'environnement pour votre clé AWS d'accès et votre clé secrète.

      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
  4. Préparez un volume Amazon Elastic Block Store (AmazonEBS) pour votre nouveauAMI.

    1. Créez un EBS volume vide dans la même zone de disponibilité que votre instance à l'aide de la commande create-volume. Notez l’ID du volume dans la sortie de la commande.

      Important

      Ce EBS volume doit être de taille identique ou supérieure à celle du volume racine de stockage de l'instance d'origine.

      [ec2-user ~]$ aws ec2 create-volume --size 10 --region us-west-2 --availability-zone us-west-2b
    2. Attachez le volume à votre instance basée sur Amazon EBS à l'aide de la commande attach-volume.

      [ec2-user ~]$ aws ec2 attach-volume --volume-id volume_id --instance-id instance_id --device /dev/sdb --region us-west-2
  5. Créez un dossier pour votre groupe.

    [ec2-user ~]$ mkdir /tmp/bundle
  6. Téléchargez le bundle pour votre instance basée sur le magasin AMI à /tmp/bundle l'aide de la ec2-download-bundle commande.

    [ec2-user ~]$ ec2-download-bundle -b amzn-s3-demo-bucket/bundle_folder/bundle_name -m image.manifest.xml -a $AWS_ACCESS_KEY_ID -s $AWS_SECRET_ACCESS_KEY --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -d /tmp/bundle
  7. Reconstituez le fichier image à partir du groupe en utilisant la commande ec2-unbundle.

    1. Déplacez les répertoires vers le dossier du groupe.

      [ec2-user ~]$ cd /tmp/bundle/
    2. Exécutez la commande ec2-unbundle.

      [ec2-user bundle]$ ec2-unbundle -m image.manifest.xml --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
  8. Copiez les fichiers de l'image dégroupée vers le nouveau EBS volume.

    [ec2-user bundle]$ sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M
  9. Examinez le volume pour voir si de nouvelles partitions ont été dégroupées.

    [ec2-user bundle]$ sudo partprobe /dev/sdb1
  10. Affichez les périphériques de stockage en mode bloc pour trouver le nom du périphérique à monter.

    [ec2-user bundle]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda 202:0 0 8G 0 disk └─/dev/sda1 202:1 0 8G 0 part / /dev/sdb 202:80 0 10G 0 disk └─/dev/sdb1 202:81 0 10G 0 part

    Dans cet exemple, la partition à monter est /dev/sdb1, mais le nom de votre périphérique sera probablement différent. Si votre volume n’est pas partitionné, l’appareil à monter sera similaire à /dev/sdb (sans chiffre de fin de partition de périphérique).

  11. Créez un point de montage pour le nouveau EBS volume et montez le volume.

    [ec2-user bundle]$ sudo mkdir /mnt/ebs [ec2-user bundle]$ sudo mount /dev/sdb1 /mnt/ebs
  12. Ouvrez le /etc/fstab fichier sur le EBS volume avec votre éditeur de texte préféré (tel que vim ounano) et supprimez toutes les entrées, par exemple stocker des volumes (éphémères). Le EBS volume étant monté dessus/mnt/ebs, le fstab fichier se trouve à l'emplacement/mnt/ebs/etc/fstab.

    [ec2-user bundle]$ sudo nano /mnt/ebs/etc/fstab # LABEL=/ / ext4 defaults,noatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb /media/ephemeral0 auto defaults,comment=cloudconfig 0 2

    Dans cet exemple, la dernière ligne devrait être supprimée.

  13. Démontez le volume et détachez-le de l’instance.

    [ec2-user bundle]$ sudo umount /mnt/ebs [ec2-user bundle]$ aws ec2 detach-volume --volume-id volume_id --region us-west-2
  14. Créez et AMI à partir du nouveau EBS volume comme suit.

    1. Créez un instantané du nouveau EBS volume.

      [ec2-user bundle]$ aws ec2 create-snapshot --region us-west-2 --description "your_snapshot_description" --volume-id volume_id
    2. Vérifiez si votre instantané est terminé.

      [ec2-user bundle]$ aws ec2 describe-snapshots --region us-west-2 --snapshot-id snapshot_id
    3. Identifiez l'architecture du processeur, le type de virtualisation et l'image du noyau (aki) utilisés sur l'original à l'AMIaide de la describe-images commande. Pour cette étape, vous avez besoin de l'AMIID de l'instance d'origine sauvegardée AMI en magasin.

      [ec2-user bundle]$ aws ec2 describe-images --region us-west-2 --image-id ami-id --output text IMAGES x86_64 amazon/amzn-ami-pv-2013.09.2.x86_64-s3 ami-8ef297be amazon available public machine aki-fc8f11cc instance-store paravirtual xen

      Dans cet exemple, l’architecture est x86_64 et l’ID de l’image noyau est aki-fc8f11cc. Utilisez ces valeurs dans l’étape suivante. Si le résultat de la commande ci-dessus liste aussi un ID ari, prenez également note de cela.

    4. Enregistrez votre nouveau volume AMI avec l'ID instantané de votre nouveau EBS volume et les valeurs de l'étape précédente. Si la sortie de la commande précédente a répertorié un ID ari, incluez-le dans la commande suivante avec --ramdisk-id ari_id.

      [ec2-user bundle]$ aws ec2 register-image --region us-west-2 --name your_new_ami_name --block-device-mappings DeviceName=device-name,Ebs={SnapshotId=snapshot_id} --virtualization-type paravirtual --architecture x86_64 --kernel-id aki-fc8f11cc --root-device-name device-name
  15. (Facultatif) Après avoir vérifié que vous pouvez lancer une instance à partir de votre nouvelle instanceAMI, vous pouvez supprimer le EBS volume que vous avez créé pour cette procédure.

    aws ec2 delete-volume --volume-id volume_id