Halaman ini menjelaskan apa yang terjadi selama eksperimen dengan jenis kesalahan Fail Compute, dan tindakan yang harus diambil jika Pengujian Injeksi Kesalahan tidak dapat menghentikan eksperimen.
Cara kerja kesalahan Fail Compute
Kesalahan Fail Compute menggunakan resource tag untuk menandai VM dan kebijakan firewall dengan aturan yang menargetkan tag tersebut untuk memblokir semua traffic masuk dan keluar. Penyiapan ini membuat resource yang ditargetkan tampak seolah-olah mengalami gangguan, sekaligus memastikan resource tersebut tetap tidak rusak dan dapat dipulihkan dengan cepat.
Target untuk kesalahan ini dapat berupa:
- Instance virtual machine
- VM berdasarkan tag resource yang ditentukan
- VM dalam Grup Instance Terkelola (MIG) zona atau regional yang ditentukan
- VM non-MIG di zona dan VM di MIG zona.
- Non-MIG di region dan VM di semua MIG.
Yang terjadi selama eksekusi eksperimen
Saat eksperimen berlangsung melalui status, resource yang terlibat akan mengalami perubahan berikut.
Resource |
|
|
|
VM |
Tidak ada |
Mengikat tag resource |
Melepaskan tag resource |
MIG / RMIG |
Tidak ada |
Menonaktifkan pemulihan otomatis dan penskalaan otomatis (jika aktif) |
Memulihkan setelan pemulihan otomatis dan penskalaan otomatis |
Tag |
Membuat resource TagValue unik untuk eksperimen |
Tidak ada |
Menghapus TagValue |
Kebijakan Firewall |
Membuat resource FirewallPolicy tingkat SISTEM |
Mengisi dengan aturan DENY dan mengikat kebijakan ke VPC yang relevan |
Melepaskan dari VPC dan menghapus FirewallPolicy |
Pemulihan manual darurat
Jika terjadi kegagalan backend yang parah dan Pengujian Injeksi Kesalahan tidak dapat menghentikan eksperimen secara otomatis, Anda dapat memulihkan konektivitas ke resource VM secara manual dengan menghapus tag resource yang terikat ke VM yang terpengaruh secara manual. Kebijakan firewall sistem, yang menargetkan tag tersebut, tidak akan lagi berlaku, sehingga VM akan terlepas dari kesalahan isolasi.
Izin yang diperlukan
Anda memerlukan izin IAM berikut:
- Diperlukan untuk melihat instance VM:
compute.instances.getcompute.instances.list
- Diperlukan untuk melihat dan menghapus binding tag:
resourcemanager.tagValueBindings.listresourcemanager.tagValueBindings.delete
Pemulihan manual menggunakan UI konsol Google Cloud
Untuk melakukan pemulihan menggunakan Google Cloud konsol:
- Buka halaman Instance VM di Google Cloud konsol.
- Pilih instance VM tertentu yang terpengaruh oleh kesalahan isolasi.
- Di halaman detail instance, buka bagian yang mengelola Tag.
- Identifikasi binding tag khusus eksperimen yang terkait dengan kesalahan Fail Compute Pengujian Injeksi Kesalahan.
- Hapus binding tag dari VM.
Setelah tag dihapus, kebijakan firewall terkait tidak akan lagi menargetkan VM, dan konektivitas akan dipulihkan.
Pemulihan manual menggunakan gcloud CLI
Anda dapat menghapus binding tag eksperimen dari VM secara manual menggunakan Google Cloud CLI. Dalam perintah berikut, ganti TAG_VALUE_NAME,
PROJECT_NUMBER, ZONE, dan VM_NAME dengan nilai tertentu untuk lingkungan Anda.
Pertama, ambil nama nilai tag khusus eksperimen dengan mencantumkan binding tag saat ini untuk VM:
gcloud resource-manager tag bindings list --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME
Gunakan output perintah sebelumnya untuk menentukan TAG_VALUE_NAME yang diperlukan untuk langkah penghapusan:
gcloud resource-manager tag bindings delete --tag-value=TAG_VALUE_NAME --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME
Setelah tag dihapus, kebijakan firewall terkait tidak akan lagi menargetkan VM, dan konektivitas akan dipulihkan.