Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Converti il tuo S3-backed AMI Amazon in un EBS-backed AMI
Puoi convertire un'AMI Amazon S3-backed Linux di tua proprietà in un'AMI Amazon EBS-backed Linux.
Importante
Non puoi convertire un'AMI che non è di tua proprietà.
Per convertire un S3-backed AMI Amazon in un EBS-backed AMI Amazon
-
Avvia un'istanza Amazon Linux da un' EBS-backed AMI Amazon. Per ulteriori informazioni, consulta Avviare un'istanza EC2 tramite la procedura guidata di avvio dell'istanza nella console. Le istanze Amazon Linux hanno gli strumenti AWS CLI e AMI preinstallati.
-
Carica la chiave X.509 privata che hai usato per raggruppare l' S3-backed AMI Amazon nella tua istanza. Questa chiave serve a garantire l'accesso all'AMI solo da parte dell'utente e da Amazon EC2.
-
Crea una directory temporanea sulla tua istanza per la tua chiave X.509 privata come segue:
[ec2-user ~]$mkdir /tmp/cert -
Copia la chiave X.509 privata dal computer alla
/tmp/certdirectory dell'istanza, utilizzando uno strumento di copia sicuro come scp. Ilmy-private-keyparametro del comando seguente è la chiave privata che usi per connetterti alla tua istanza con SSH. Esempio:you@your_computer:~ $scp -imy-private-key.pem/path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pemec2-user@ec2-203-0-113-25.compute-1.amazonaws.com:/tmp/cert/ pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem 100% 717 0.7KB/s 00:00
-
-
Configura le tue variabili ambiente per usare la AWS CLI. Per ulteriori informazioni, consulta Variabili di ambiente.
-
(Consigliato) Imposta le variabili di ambiente per la chiave di AWS accesso, la chiave segreta e il token di sessione.
[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 Imposta le variabili di ambiente per la chiave di AWS accesso e la chiave segreta.
[ec2-user ~]$export AWS_ACCESS_KEY_ID=your_access_key_id[ec2-user ~]$export AWS_SECRET_ACCESS_KEY=your_secret_access_key
-
-
Preparare un volume Amazon Elastic Block Store (Amazon EBS) per la nuova AMI.
-
Creare un volume EBS vuoto nella stessa zona di disponibilità dell'istanza utilizzando il comando create-volume. Prendere nota dell'ID del volume nell'output del comando.
Importante
Questo volume EBS deve essere uguale o maggiore delle dimensioni del volume root instance store originale.
aws ec2 create-volume \ --size 10 \ --regionus-west-2\ --availability-zoneus-west-2b -
Collega il volume alla tua EBS-backed istanza Amazon utilizzando il comando attach-volume.
aws ec2 attach-volume \ --volume-idvol-01234567890abcdef\ --instance-idi-1234567890abcdef0\ --regionus-west-2
-
-
Creare una cartella per il bundle.
[ec2-user ~]$mkdir /tmp/bundle -
Scaricare il bundle dell'AMI basata su instance store in
/tmp/bundleutilizzando il comando ec2-download-bundle.[ec2-user ~]$ec2-download-bundle -bamzn-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 -
Ricostruire il file di immagine dal bundle utilizzando il comando ec2-unbundle.
-
Cambiare directory nella cartella del bundle.
[ec2-user ~]$cd /tmp/bundle/ -
Esegui il comando ec2-unbundle.
[ec2-user bundle]$ec2-unbundle -m image.manifest.xml --privatekey/path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
-
-
Copiare i file dall'immagine disaggregata nel nuovo volume EBS.
[ec2-user bundle]$sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M -
Esaminare il volume cercando eventuali partizioni disaggregate.
[ec2-user bundle]$sudo partprobe /dev/sdb1 -
Elencare i dispositivi a blocchi per individuare il nome del dispositivo da montare.
[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 partIn questo esempio, la partizione da montare è
/dev/sdb1, ma il nome del dispositivo probabilmente sarà diverso. Se il volume non è partizionato, il dispositivo da montare sarà simile a/dev/sdb(senza una cifra finale della partizione del dispositivo). -
Creare un punto di montaggio per il nuovo volume EBS e montare il volume.
[ec2-user bundle]$sudo mkdir /mnt/ebs [ec2-user bundle]$ sudo mount/dev/sdb1/mnt/ebs -
Aprire il file
/etc/fstabsul volume EBS con l'editor di testo preferito (ad esempio vim o nano) e rimuovere tutte le voci dei volumi instance store (temporanei). Poiché il volume EBS è montato su/mnt/ebs, il filefstabsi trova in/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 2In questo esempio, l'ultima riga deve essere rimossa.
-
Smontare il volume e distaccarlo dall'istanza.
[ec2-user bundle]$sudo umount /mnt/ebs[ec2-user bundle]$aws ec2 detach-volume --volume-idvol-01234567890abcdef--regionus-west-2 -
Creare un'AMI dal nuovo volume EBS come segue:
-
Creare uno snapshot del nuovo volume EBS.
[ec2-user bundle]$aws ec2 create-snapshot --regionus-west-2--description "your_snapshot_description" --volume-idvol-01234567890abcdef -
Controllare se la snapshot è completa.
[ec2-user bundle]$aws ec2 describe-snapshots --regionus-west-2--snapshot-idsnap-0abcdef1234567890 -
Identificare l'architettura del processore, il tipo di virtualizzazione e l'immagine del kernel (
aki) utilizzati sull'AMI originale tramite il comando describe-images. Per questo passaggio è necessario l'ID AMI dell' S3-backed AMI Amazon originale.[ec2-user bundle]$aws ec2 describe-images --regionus-west-2--image-idami-0abcdef1234567890--output text IMAGES x86_64 amazon/amzn-ami-pv-2013.09.2.x86_64-s3ami-8ef297beamazon available public machine aki-fc8f11cc instance-store paravirtual xenIn questo esempio, l'architettura è
x86_64e l'ID dell'immagine del kernel èaki-fc8f11cc. Utilizzare questi valori nella fase seguente. Se l'output del comando sopra include anche un IDari, prenderne nota. -
Registrare la nuova AMI con l'ID dello snapshot del nuovo volume EBS e i valori della fase precedente. Se nell'output del comando precedente è incluso un ID
ari, includerlo nel seguente comando con--ramdisk-id.ari_id[ec2-user bundle]$aws ec2 register-image --regionus-west-2--nameyour_new_ami_name--block-device-mappings DeviceName=device-name,Ebs={SnapshotId=snap-0abcdef1234567890} --virtualization-type paravirtual --architecture x86_64 --kernel-idaki-fc8f11cc--root-device-namedevice-name
-
-
(Facoltativo) Dopo avere verificato di poter avviare un'istanza dalla nuova AMI, è possibile eliminare il volume EBS creato per questa procedura.
aws ec2 delete-volume --volume-idvol-01234567890abcdef