Untuk menguji apakah grup instance terkelola regional (MIG) Anda disediakan berlebihan dan dapat bertahan dari pemadaman layanan zona, Anda dapat menggunakan contoh berikut untuk menyimulasikan kegagalan zona.
Sebelum memulai
- Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal Google Cloud CLI.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Menggunakan skrip untuk menyimulasikan pemadaman layanan zona
Skrip ini akan menghentikan dan memulai Apache sebagai skenario default. Jika hal ini tidak berlaku untuk aplikasi Anda, ganti perintah yang menghentikan dan memulai Apache dengan skenario kegagalan dan pemulihan Anda sendiri.
Deploy dan jalankan skrip ini secara terus-menerus di setiap VM dalam grup. Anda dapat melakukannya dengan menambahkan skrip ke template instance atau dengan menyertakan skrip dalam image kustom dan menggunakan gambar di template instance.
Simulasikan kegagalan zona dengan menetapkan dua kolom metadata project ini:
failed_zone
: Menetapkan zona tempat Anda ingin melakukan simulasi pemadaman (membatasi kegagalan hanya pada satu zona).failed_instance_names
: Pilih VM yang akan dibuat offline berdasarkan nama (untuk membatasi kegagalan hanya pada nama VM yang berisi string ini).
Anda dapat menetapkan metadata ini menggunakan gcloud CLI. Misalnya, perintah berikut menetapkan pemadaman layanan zona ke zona
europe-west1-b
dan memengaruhi VM yang memiliki nama yang diawali denganbase-instance-name
:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
Setelah selesai menyimulasikan pemadaman layanan, pulihkan dari kegagalan dengan menghapus kunci metadata:
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
Berikut adalah beberapa ide untuk skenario kegagalan yang dapat Anda jalankan menggunakan skrip ini:
- Hentikan aplikasi Anda sepenuhnya untuk melihat bagaimana MIG merespons.
- Buat VM Anda menampilkan "tidak responsif" pada health check load balancing.
- Modifikasi iptable untuk memblokir sebagian traffic ke dan dari VM.
- Matikan VM. Secara default, skrip akan dibuat ulang oleh MIG regional segera setelahnya, tetapi inkarnasi baru akan segera dihentikan sendiri segera setelah skrip berjalan dan selama nilai metadata ditetapkan. Hal ini akan menghasilkan loop error.
Langkah selanjutnya
- Pelajari cara membangun aplikasi web yang skalabel dan tangguh.
- Pelajari pemulihan dari bencana di Google Cloud Platform.