Managed instance group (MIG) GCP Compute Engine mendukung konfigurasi VM apa pun yang Anda perlukan, sekaligus membantu mengelola VM. Misalnya, ketika VM tiba-tiba berhenti berjalan, maka MIG GCP akan membuat ulang VM sesuai konfigurasi yang Anda tetapkan. Anda juga dapat menyiapkan health check berbasis aplikasi untuk memastikan aplikasi memberi respons seperti yang diharapkan.
Jika Anda baru mulai bekerja dengan GCP dan ingin melakukan deploy aplikasi stateful, maka sangat disarankan untuk menggunakan konfigurasi MIG stateful. MIG stateful memungkinkan Anda untuk mempertahankan status unik setiap instances pada VM restart, recreation, auto-healing, maupun update.
Artikel kali ini ditujukan kepada mereka yang sudah memiliki aplikasi stateful yang berjalan pada instance Compute Engine mandiri (tidak terkelola) dan ingin memigrasikannya secara otomatis ke MIG stateful menggunakan skrip Python. Kode skrip dan petunjuk terperinci untuk penggunaan dan pemasangannya bisa Anda simak di sini.
Persyaratan skrip
Photo Credit: Rawpixel
- Sebelum menjalankan skrip, pastikan instance Anda yang ada memenuhi kriteria berikut:
- Semua instances sumber harus memiliki konfigurasi yang sama.
- Boot disk harus stateless. Jika ingin mempertahankan status, Anda masih dapat membuat MIG stateful, namun sistem operasi atau software tidak dapat diperbarui dengan meluncurkan pembaruan boot image.
- Skrip akan menghentikan instance VM sumber Anda. Skrip membiarkan semua VM sumber berhenti agar mudah dikembalikan jika MIG tidak berfungsi seperti yang diharapkan.
Baca juga: API Management yang Lebih Efisien dengan Apigee dari GCP
Langkah-langkah skrip
Photo Credit: Rawpixel
- Hentikan semua instance
- Jika perlu, buat boot disk image
- Buat template instance berdasarkan properti instance yang dipilih, abaikan disk data yang dilampirkan dan buat MIG kosong.
- Untuk setiap instance dalam grup asli, lakukan langkah-langkah berikut:
- Kloning semua instance disks kecuali boot disk.
- Buat instances di MIG berdasarkan instance template dan sertakan disk kloning dari instances sumber.
- Cetak perintah untuk membersihkan instances sumber setelah Anda memverifikasi bahwa MIG stateful telah memenuhi kebutuhan.
Baca juga: Mulai Mendesain Website yang Skalabel dengan GCP
Contoh penggunaan
Sekarang coba bayangkan beberapa konfigurasi instance dan tunjukkan bagaimana skrip berjalan. Katakanlah Anda memiliki tiga instance mandiri dengan nama “alpha“, “beta“, dan “gamma” di zona us-central1-a yang ingin dimigrasikan ke MIG dengan nama “greek“.
Instance “alpha” memiliki dua disk tambahan: “alpha-disk-1” dan “alpha-disk-2“, instance “beta” memiliki satu disk tambahan “beta-disk-1“, dan “gamma” memiliki nol disk tambahan. Pada saat yang sama kami ingin membuat image disk untuk image boot.
Jalankan perintah berikut:
$ python3 migrate_script.py -s alpha beta gamma -z us-central1-a -m greek –image_for_boot_disk
Berikut output untuk tiap langkah:
- Semua instance dihentikan di awal.
Instance alpha is not stopped. Stopping …
Instance alpha stopped
==========
Instance beta is not stopped. Stopping …
Instance beta stopped
==========
Instance gamma is not stopped. Stopping …
Instance gamma stopped
==========
- Setelan flag “image_for_boot_disk”, secara otomatis membuat sebuah image untuk boot disk.
Creating disk image for boot image alpha …
Disk image alpha-image-ed0d24 created
==========
- Secara default, “alpha” dipilih untuk menentukan konfigurasi mesin di instance template.
Creating base instance template …
Instance template alpha-template-004cb8 created
==========
- Sebuah MIG “gamma” kosong dibuat.
Creating empty MIG gamma…
MIG gamma created
==========
- Untuk setiap instance individu, buatlah salinan pada semua disknya (agar tidak merusak data instance sumber) dan melampirkannya ke VM di MIG.
Creating disk alpha-disk-1-bb2a30 from disk alpha-disk-1
==========
Creating disk alpha-disk-2-f7344b from disk alpha-disk-2
==========
Adding instance alpha-b7273d to greek MIG
==========
Creating disk beta-disk-1–7498a2 from disk beta-disk-1
==========
Adding instance beta-6475c6 to greek MIG
==========
Adding instance gamma-17d7c7 to greek MIG
==========
Migration successfully finished. Time spent: 457 seconds.
Baca juga: Menghemat Biaya Workload Proyek GCP dengan Dukungan VM Spot
Prosedur migrasi instances di atas dapat dijalankan cukup dengan menggunakan managed instance group (MIG) dari GCP Compute Engine. Anda tak perlu berpindah ke aplikasi lain dan tersedia opsi untuk menggunakan bahasa pemrograman Python.
GCP atau Google Cloud Platform menyediakan berbagai aplikasi, layanan, dan juga kapabilitas yang akan memudahkan Anda dalam mengelola VM (virtual machine). Dapatkan solusi komputasi awan dari Google ini hanya di EIKON Technology, authorized reseller untuk produk-produk Google di Indonesia. Untuk informasi selengkapnya, silakan klik di sini!