Home Buat AMI Linux dari Disk Image
Post
Cancel

Buat AMI Linux dari Disk Image

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

  1. Luncurkan Instance. Anda dapat menggunakan image apapun
  2. Buat volume
    1
    2
    
    aws ec2 create-volume --size 10 --region us-west-2 \
    --availability-zone us-west-2b
    
  3. 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
    
  4. Download Image Almalinux
    1
    
    wget https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2
    
  5. Convert menjadi raw image dengan qemu-img
    1
    
    qemu-img convert -f qcow2 -O raw AlmaLinux-8-GenericCloud-latest.x86_64.qcow2 image.raw
    
  6. Copy file image ke volume yang baru
    1
    
    dd if=image.raw of=/dev/sdb bs=1M status=progress
    
  7. Cek block device. Seharusnya akan muncul partisi baru di Volume sdb
    1
    
    lsblk
    
  8. Detach volume
    1
    
    aws ec2 detach-volume --volume-id volume_id --region us-west-2
    
  9. Buat snapshot pada volume yang berisi Almalinux
    1
    
    aws ec2 create-snapshot --region us-west-2 --volume-id volume_id
    
  10. Buat AMI menggunakan register-image
    1
    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}
    
  11. Terakhir delete volume.
    1
    
    aws ec2 delete-volume --volume-id volume_id
    
This post is licensed under CC BY 4.0 by the author.