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
1 2
aws ec2 create-volume --size 10 --region us-west-2 \ --availability-zone us-west-2b
- Attach volume ke instance
1 2
aws ec2 attach-volume --volume-id volume_id --instance-id instance_id \ --device /dev/sdb --region us-west-2
- Download Image Almalinux
1
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
1
qemu-img convert -f qcow2 -O raw AlmaLinux-8-GenericCloud-latest.x86_64.qcow2 image.raw
- Copy file image ke volume yang baru
1
dd if=image.raw of=/dev/sdb bs=1M status=progress
- Cek block device. Seharusnya akan muncul partisi baru di Volume sdb
1
lsblk
- Detach volume
1
aws ec2 detach-volume --volume-id volume_id --region us-west-2
- Buat snapshot pada volume yang berisi Almalinux
1
aws ec2 create-snapshot --region us-west-2 --volume-id volume_id
- Buat AMI menggunakan
register-image1 2 3 4
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.
1
aws ec2 delete-volume --volume-id volume_id