Hai!

Pada jurnal ini saya akan membahas tentang fitur snapshot di Google Compute Engine. Snapshot berfungsi untuk mem-backup data terbaru dan terkini. Mengapa disebut terbaru, karena ia memiliki kelebihan dimana snapshot bisa dibuat walau instance masih berjalan alias tidak perlu dimatikan dulu.

Selain snapshot digunakan untuk pembuatan instance baru, snapshot bisa digunakan untuk membuat custom image. Penjelasan lengkap bisa dibaca disini ya https://cloud.google.com/compute/docs/disks/create-snapshots dan https://cloud.google.com/sdk/gcloud/reference/compute/disks/snapshot.

Disini kita akan coba membuat sebuah skenario untuk snapshot. Pertama, saya sudah terlebih dahulu membuat instance dengan firewall Allow-HTTP nya dicentang dan dalam instance sudah diinstall pake nginx.

Saya coba ubah file index.html menjadi seperti berikut ini:

Lalu coba masuk ke menu Snapshots. Disini saya belum memiliki snapshot satupun, jadi masih kosong. Untuk membuat snapshot, klik Create Snapshot.

Definisikan nama snapshot, misal backup-instance-1 dan pastikan source-disk nya mengarah ke disk instance-1 ya. Untuk lokasi bisa pilih multi-regional atau regional. Jika sudah, klik Create.

Jika berhasil, hasilnya akan seperti berikut ini. Terlihat snapshot nya ada dengan ukuran yang kecil karena ini menyesuaikan isi data dari instance.

Lalu, di instance-1 saya coba ubah lagi file index.html menjadi seperti berikut ini.

Untuk snapshot kedua, saya coba buat lewat cli.

gcloud compute disks snapshot instance-1 --snapshot-name=backup-instance-1-v2 --zone=asia-southeast2-a --storage-location=asia

Lalu verifikasi snapshot nya.

gcloud compute snapshots list

Dan bisa dilihat detail dari snapshot menggunakan perintah:

gcloud compute snapshots describe backup-instance-1-v2

Selanjutnya kita akan lakukan pengujian dengan membuat instance baru dimana disk nya adalah snapshot yang dibuat tadi.

Pengujian pertama melalui console untuk snapshot pertama yang dibuat di awal. Masuk ke menu VM Instances, klik Create Instance.

Hal yang perlu diperhatikan adalah pastikan region dan zone nya sama dengan tempat dimana snapshot berada.

Centang allow http traffic dan pada boot disk klik Change.

Masuk ke tab Snapshot, dan pilih snapshot yang dibuat pertama. Lalu klik select.

Lalu klik create instance dan hasilnya seperti berikut ini:

Saat diakses, maka akan muncul tampilan sesuai sesaat sebelum snapshot pertama dibuat.

Pengujian kedua melalui cli menggunakan snapshot kedua. Disini alurnya sedikit berbeda, dimana snapshot harus dibuat disk terlebih dahulu:

gcloud compute disks create restore-instance-1-v2 --size=10 --zone=asia-southeast2-a --source-snapshot=backup-instance-1-v2

Lalu verifikasi disk:

gcloud compute disks list

Dan buat instance menggunakan disk yang dibuat dari snapshot sebelumnya:

gcloud compute instances create restore-instance-1-v2 --zone=asia-southeast2-a --subnet=asia-southeast-2 --service-account=sa-frontend@steady-syntax-305116.iam.gserviceaccount.com --tags=http-server --disk=name=restore-instance-1-v2,device-name=restore-instance-1-v2,mode=rw,boot=yes,auto-delete=yes

Verifikasi:

gcloud compute instances list

Saat diakses, maka akan muncul tampilan sesuai sesaat sebelum snapshot kedua dibuat seperti berikut ini.

Selamat mencoba dan sekian!