Konversikan instans Anda yang didukung toko AMI menjadi -backed EBS AMI - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konversikan instans Anda yang didukung toko AMI menjadi -backed EBS AMI

Anda dapat mengonversi Linux yang didukung toko instans AMI yang Anda miliki ke Linux yang EBS didukung Amazon. AMI

penting

Anda tidak dapat mengubah AMI yang tidak Anda miliki.

Untuk mengonversi instans yang didukung toko AMI menjadi didukung Amazon EBS AMI
  1. Luncurkan instans Amazon Linux dari Amazon yang EBS didukungAMI. Untuk informasi selengkapnya, lihat Luncurkan EC2 instance menggunakan wizard instance peluncuran di konsol. Instans Amazon Linux memiliki AWS CLI dan AMI alat yang sudah diinstal sebelumnya.

  2. Unggah kunci pribadi X.509 yang Anda gunakan untuk menggabungkan instans yang didukung toko AMI ke instans Anda. Kami menggunakan kunci ini untuk memastikan bahwa hanya Anda dan Amazon yang EC2 dapat mengakses AndaAMI.

    1. Buat direktori sementara pada instans Anda untuk kunci privat X.509 sebagai berikut:

      [ec2-user ~]$ mkdir /tmp/cert
    2. Salin kunci privat X.509 dari komputer ke direktori /tmp/cert pada instans Anda dengan alat penyalin aman, seperti scp. Bagian my-private-key parameter dalam perintah berikut adalah kunci pribadi yang Anda gunakan untuk terhubung ke instance AndaSSH. Sebagai contoh:

      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. Konfigurasikan variabel lingkungan Anda untuk menggunakan AWS CLI. Untuk informasi selengkapnya, lihat Variabel lingkungan.

    1. (Disarankan) Tetapkan variabel lingkungan untuk kunci AWS akses, kunci rahasia, dan token sesi Anda.

      [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. Tetapkan variabel lingkungan untuk kunci AWS akses Anda, dan kunci rahasia.

      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
  4. Siapkan volume Amazon Elastic Block Store (AmazonEBS) untuk volume baru AndaAMI.

    1. Buat EBS volume kosong di Availability Zone yang sama dengan instance Anda menggunakan perintah create-volume. Perhatikan ID volume di output perintah.

      penting

      EBSVolume ini harus berukuran sama atau lebih besar dari volume root penyimpanan instance asli.

      [ec2-user ~]$ aws ec2 create-volume --size 10 --region us-west-2 --availability-zone us-west-2b
    2. Lampirkan volume ke instans yang EBS didukung Amazon menggunakan perintah attach-volume.

      [ec2-user ~]$ aws ec2 attach-volume --volume-id volume_id --instance-id instance_id --device /dev/sdb --region us-west-2
  5. Buat folder untuk paketan Anda.

    [ec2-user ~]$ mkdir /tmp/bundle
  6. Unduh bundel untuk instance berbasis toko Anda AMI untuk /tmp/bundle menggunakan perintah. ec2-download-bundle

    [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. Susun kembali file gambar dari paketan menggunakan perintah ec2-unbundle.

    1. Ubah direktori ke folder paketan.

      [ec2-user ~]$ cd /tmp/bundle/
    2. Jalankan perintah ec2-unbundle.

      [ec2-user bundle]$ ec2-unbundle -m image.manifest.xml --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
  8. Salin file dari gambar yang tidak dibundel ke volume baruEBS.

    [ec2-user bundle]$ sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M
  9. Periksa volume apakah ada partisi baru yang tidak dipaketkan.

    [ec2-user bundle]$ sudo partprobe /dev/sdb1
  10. Buat daftar perangkat blok untuk mencari nama perangkat yang akan dipasang.

    [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

    Dalam contoh ini, partisi yang akan dipasang adalah /dev/sdb1, tetapi nama perangkat Anda mungkin akan berbeda. Jika volume Anda tidak dipartisi, perangkat yang akan dipasang akan serupa dengan /dev/sdb (tanpa digit di bagian akhir partisi perangkat).

  11. Buat titik pemasangan untuk EBS volume baru dan pasang volume.

    [ec2-user bundle]$ sudo mkdir /mnt/ebs [ec2-user bundle]$ sudo mount /dev/sdb1 /mnt/ebs
  12. Buka /etc/fstab file pada EBS volume dengan editor teks favorit Anda (seperti vim ataunano) dan hapus entri apa pun misalnya menyimpan (sementara) volume. Karena EBS volume sudah terpasang/mnt/ebs, fstab file tersebut berada di/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

    Dalam contoh ini, baris terakhir harus dihapus.

  13. Lepas volume dan pisahkan dari instans.

    [ec2-user bundle]$ sudo umount /mnt/ebs [ec2-user bundle]$ aws ec2 detach-volume --volume-id volume_id --region us-west-2
  14. Buat AMI dari EBS volume baru sebagai berikut.

    1. Buat snapshot dari EBS volume baru.

      [ec2-user bundle]$ aws ec2 create-snapshot --region us-west-2 --description "your_snapshot_description" --volume-id volume_id
    2. Periksa untuk memastikan kelengkapan snapshot Anda.

      [ec2-user bundle]$ aws ec2 describe-snapshots --region us-west-2 --snapshot-id snapshot_id
    3. Identifikasi arsitektur prosesor, jenis virtualisasi, dan image kernel (aki) yang digunakan pada aslinya AMI dengan describe-images perintah. Anda memerlukan AMI ID dari instans asli yang didukung toko AMI untuk langkah ini.

      [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

      Dalam contoh ini, arsitekturnya adalah x86_64 dan ID gambar kernel-nya adalah aki-fc8f11cc. Gunakan nilai-nilai ini di langkah berikut. Jika output perintah di atas juga mencantumkan ID ari, perhatikan juga hal tersebut.

    4. Daftarkan baru Anda AMI dengan ID snapshot EBS volume baru Anda dan nilai dari langkah sebelumnya. Jika output perintah sebelumnya mencantumkan ID ari, sertakan ID tersebut dalam perintah berikut ini dengan --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. (Opsional) Setelah Anda menguji bahwa Anda dapat meluncurkan instance dari yang baruAMI, Anda dapat menghapus EBS volume yang Anda buat untuk prosedur ini.

    aws ec2 delete-volume --volume-id volume_id