Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konversikan S3-backed AMI Amazon Anda menjadi EBS-backed AMI
Anda dapat mengonversi AMI Amazon S3-backed Linux yang Anda miliki ke AMI Amazon EBS-backed Linux.
penting
Anda tidak dapat mengonversi AMI yang tidak Anda miliki.
Untuk mengonversi S3-backed AMI Amazon ke Amazon EBS-backed AMI
-
Luncurkan instans Amazon Linux dari Amazon EBS-backed AMI. Untuk informasi selengkapnya, lihat Luncurkan instans EC2 menggunakan wizard instans peluncuran di konsol. Instans Amazon Linux memiliki alat AWS CLI dan AMI yang sudah diinstal sebelumnya.
-
Unggah kunci X.509 pribadi yang Anda gunakan untuk menggabungkan Amazon S3-backed AMI Anda ke instans Anda. Kami menggunakan kunci ini untuk memastikan hanya Anda dan Amazon EC2 yang dapat mengakses AMI.
-
Buat direktori sementara pada instance Anda untuk kunci X.509 pribadi Anda sebagai berikut:
[ec2-user ~]$mkdir /tmp/cert -
Salin kunci X.509 pribadi Anda dari komputer Anda ke
/tmp/certdirektori pada instance Anda, menggunakan alat salin aman seperti scp.my-private-keyParameter dalam perintah berikut adalah kunci pribadi yang Anda gunakan untuk terhubung ke instance Anda dengan SSH. Contoh: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
-
-
Konfigurasikan variabel lingkungan Anda untuk menggunakan AWS CLI. Untuk informasi selengkapnya, lihat Variabel lingkungan.
-
(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 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
-
-
Siapkan volume Amazon Elastic Block Store (Amazon EBS) untuk AMI baru Anda.
-
Buat volume EBS kosong di Zona Ketersediaan yang sama dengan instans Anda menggunakan perintah create-volume. Perhatikan ID volume di output perintah.
penting
Volume EBS ini harus berukuran sama atau lebih besar dari volume root penyimpanan instans awal.
aws ec2 create-volume \ --size 10 \ --regionus-west-2\ --availability-zoneus-west-2b -
Lampirkan volume ke EBS-backed instans Amazon Anda menggunakan perintah attach-volume.
aws ec2 attach-volume \ --volume-idvol-01234567890abcdef\ --instance-idi-1234567890abcdef0\ --regionus-west-2
-
-
Buat folder untuk paketan Anda.
[ec2-user ~]$mkdir /tmp/bundle -
Unduh paketan untuk AMI berbasis penyimpanan instans Anda ke
/tmp/bundlemenggunakan perintah 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 -
Susun kembali file gambar dari paketan menggunakan perintah ec2-unbundle.
-
Ubah direktori ke folder paketan.
[ec2-user ~]$cd /tmp/bundle/ -
Jalankan perintah ec2-unbundle.
[ec2-user bundle]$ec2-unbundle -m image.manifest.xml --privatekey/path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
-
-
Salin file dari gambar yang tidak dipaketkan ke volume EBS baru.
[ec2-user bundle]$sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M -
Periksa volume apakah ada partisi baru yang tidak dipaketkan.
[ec2-user bundle]$sudo partprobe /dev/sdb1 -
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 partDalam 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). -
Buat titik pemasangan untuk volume EBS yang baru dan pasang volume.
[ec2-user bundle]$sudo mkdir /mnt/ebs [ec2-user bundle]$ sudo mount/dev/sdb1/mnt/ebs -
Buka file
/etc/fstabpada volume EBS dengan editor teks favorit Anda (seperti vim atau nano) dan hapus entri apa pun untuk volume penyimpanan instans (ephemeral). Karena volume EBS dipasang di/mnt/ebs, filefstabberada 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 2Dalam contoh ini, baris terakhir harus dihapus.
-
Lepas volume dan pisahkan dari instans.
[ec2-user bundle]$sudo umount /mnt/ebs[ec2-user bundle]$aws ec2 detach-volume --volume-idvol-01234567890abcdef--regionus-west-2 -
Buat AMI dari volume EBS baru sebagai berikut.
-
Buat snapshot volume EBS yang baru.
[ec2-user bundle]$aws ec2 create-snapshot --regionus-west-2--description "your_snapshot_description" --volume-idvol-01234567890abcdef -
Periksa untuk memastikan kelengkapan snapshot Anda.
[ec2-user bundle]$aws ec2 describe-snapshots --regionus-west-2--snapshot-idsnap-0abcdef1234567890 -
Identifikasi arsitektur prosesor, tipe virtualisasi, dan gambar kernel (
aki) yang digunakan pada AMI asli dengan perintah describe-images. Anda memerlukan ID AMI dari Amazon S3-backed AMI asli untuk langkah ini.[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 xenDalam contoh ini, arsitekturnya adalah
x86_64dan ID gambar kernel-nya adalahaki-fc8f11cc. Gunakan nilai-nilai ini di langkah berikut. Jika output perintah di atas juga mencantumkan IDari, perhatikan juga hal tersebut. -
Daftarkan AMI baru Anda dengan ID snapshot volume EBS baru Anda dan nilai-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 --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
-
-
(Opsional) Setelah Anda menguji bahwa Anda dapat meluncurkan instans dari AMI baru, Anda dapat menghapus volume EBS yang Anda buat untuk prosedur ini.
aws ec2 delete-volume --volume-idvol-01234567890abcdef