Tutorial kali ini akan menjelaskan cara membuat AMI dari Disk Image. Jika Anda menjalankan virtual machine di lokal entah itu menggunakan vbox, qemu, vmware, dan lainnya Option disk yang kerap kali digunakan adalah disk image.
Disk image ini berupa file yang ada di folder tertentu dengan nama beragam. Seperti contoh
|——-|——–| QCOW2 (KVM, Xen) | qcow2 raw | raw VDI (VirtualBox) | vdi VMDK (VMware) | vmdk
Hal ini cukup membantu apabila Anda ingin meluncurkan instance dengan image yang tidak disediakan oleh AWS.
Cara membuat AMI menggunakan Almalinux Cloud Image
- Luncurkan Instance. Anda dapat menggunakan image apapun
- Buat volume
aws ec2 create-volume --size 10 --region us-west-2 \
--availability-zone us-west-2b
- Attach volume ke instance
aws ec2 attach-volume --volume-id volume_id --instance-id instance_id \
--device /dev/sdb --region us-west-2
- Download Image Almalinux
wget https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2
- Convert menjadi raw image dengan qemu-img
qemu-img convert -f qcow2 -O raw AlmaLinux-8-GenericCloud-latest.x86_64.qcow2 image.raw
- Copy file image ke volume yang baru
dd if=image.raw of=/dev/sdb bs=1M status=progress
- Cek block device. Seharusnya akan muncul partisi baru di Volume sdb
lsblk
- Detach volume
aws ec2 detach-volume --volume-id volume_id --region us-west-2
- Buat snapshot pada volume yang berisi Almalinux
aws ec2 create-snapshot --region us-west-2 --volume-id volume_id
- Buat AMI menggunakan
register-image
aws ec2 register-image \
--name my-image \
--root-device-name /dev/xvda \
--block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0db2cf683925d191f}
- Terakhir delete volume.
aws ec2 delete-volume --volume-id volume_id