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
-
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.
-
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.
-
Buat direktori sementara pada instans Anda untuk kunci privat X.509 sebagai berikut:
[ec2-user ~]$
mkdir /tmp/cert
-
Salin kunci privat X.509 dari komputer ke direktori
/tmp/cert
pada instans Anda dengan alat penyalin aman, seperti scp. Bagianmy-private-key
parameter dalam perintah berikut adalah kunci pribadi yang Anda gunakan untuk terhubung ke instance AndaSSH. Sebagai contoh:you@your_computer:~ $
scp -i
pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem 100% 717 0.7KB/s 00:00my-private-key
.pem/path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
ec2-user@ec2-203-0-113-25.compute-1.amazonaws.com
:/tmp/cert/
-
-
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 (AmazonEBS) untuk volume baru AndaAMI.
-
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-zoneus-west-2b
-
Lampirkan volume ke instans yang EBS didukung Amazon menggunakan perintah attach-volume.
[ec2-user ~]$
aws ec2 attach-volume --volume-id
volume_id
--instance-idinstance_id
--device /dev/sdb --regionus-west-2
-
-
Buat folder untuk paketan Anda.
[ec2-user ~]$
mkdir /tmp/bundle
-
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 -
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 dibundel ke volume baruEBS.
[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 EBS volume baru dan pasang volume.
[ec2-user bundle]$
sudo mkdir /mnt/ebs
[ec2-user bundle]$sudo mount
/dev/sdb1
/mnt/ebs -
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.
-
Lepas volume dan pisahkan dari instans.
[ec2-user bundle]$
sudo umount /mnt/ebs
[ec2-user bundle]$
aws ec2 detach-volume --volume-id
volume_id
--regionus-west-2
-
Buat AMI dari EBS volume baru sebagai berikut.
-
Buat snapshot dari EBS volume baru.
[ec2-user bundle]$
aws ec2 create-snapshot --region
us-west-2
--description "your_snapshot_description
" --volume-idvolume_id
-
Periksa untuk memastikan kelengkapan snapshot Anda.
[ec2-user bundle]$
aws ec2 describe-snapshots --region
us-west-2
--snapshot-idsnapshot_id
-
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
IMAGES x86_64 amazon/amzn-ami-pv-2013.09.2.x86_64-s3
--image-idus-west-2
ami-id
--output textami-8ef297be
amazon available public machine aki-fc8f11cc instance-store paravirtual xenDalam contoh ini, arsitekturnya adalah
x86_64
dan 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 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
--nameyour_new_ami_name
--block-device-mappings DeviceName=device-name
,Ebs={SnapshotId=snapshot_id
} --virtualization-type paravirtual --architecture x86_64 --kernel-idaki-fc8f11cc
--root-device-namedevice-name
-
-
(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