Buat Custom Image AlibabaCloud Menggunakan Packer (IaC)
Engineer, Jakarta
Hi gaes, kali ini admin ingin share tentang bagaimana buat custom image untuk ECS Alibabacloud. Pembuatanya ini menggunakan tools Packer. Jadi, pembuatanya melalui kode (code) dan langkah-langkahnya cukup mudah.
Langkah-langkah
-
Download dan Install Packer, bisa merujuk ke dokumentasi resmi disini.
-
Pastikan command
packersudah bisa dipakai, bisa verifikasi dengan cara ketikapacker -v. -
Buat file dengan nama :
contoh.pkr.hcldan silahkan isi dengan kode dibawah. -
Silahkan lakukan
inituntuk download plugin packer alicloud, command:packer init. -
Terakhir, silahkan build custom image. Command:
packer build contoh.pkr.hcl
Admin membuat studi kasus pembuatan custom image Web Server. Berikut isi file contoh.pkr.hcl : nya:
packer {
required_plugins {
alicloud = {
source = "github.com/hashicorp/alicloud"
version = "~> 1"
}
}
}
source "alicloud-ecs" "autogenerated_1" {
associate_public_ip_address = true
image_name = "apache2_php72"
instance_type = "ecs.g6.large"
internet_charge_type = "PayByTraffic"
io_optimized = true
region = "ap-southeast-5"
skip_image_validation = true
source_image = "ubuntu_20_04_x64_20G_alibase_20230815.vhd"
ssh_username = "root"
}
build {
sources = ["source.alicloud-ecs.autogenerated_1"]
provisioner "shell" {
inline = [
"sudo apt update",
"sudo apt install git apache2 php php-cgi libapache2-mod-php php-common php-pear php-mbstring php-gd php-mysql php-sqlite3 php-zip php-xml php-json php-mail php-curl -y",
"echo '<?php phpinfo(); ?>' > /var/www/html/info.php",
"ls -l /var/www/html/",
"php /var/www/html/info.php",
]
}
}
Contoh output jika sukses:
