Dokumen ini menjelaskan penyebab umum shutdown dan reboot tidak terduga pada instance Compute Engine dan cara mencegahnya.
Shutdown dan reboot instance dapat disebabkan oleh peristiwa sistem atau aktivitas admin. Shutdown dan reboot karena peristiwa sistem dihasilkan oleh sistem Google atau sistem operasi instance Anda. Shutdown dan reboot karena aktivitas admin dihasilkan oleh panggilan API yang dibuat oleh pengguna atau akun layanan. Semua shutdown dan reboot dicatat dalam log, kecuali untuk reboot yang dimulai dari dalam instance.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Di Konsol Google Cloud, buka halaman Logs Explorer.
Di kolom Query, masukkan kueri berikut:
resource.type="gce_instance" "VM_NAME" logName:("logs/cloudaudit.googleapis.com%2Fsystem_event" OR "logs/cloudaudit.googleapis.com%2Factivity")
Ganti
VM_NAME
dengan nama VM yang di-shutdown atau di-reboot.Jika peristiwa yang Anda cari terjadi lebih dari satu jam sebelumnya, tetapkan jangka waktu kustom dengan mengklik simbol jam dan memasukkan rentang kustom.
Klik Jalankan kueri. Hasilnya ditampilkan di bagian Query results.
Klik panah peluas
di samping setiap hasil untuk menampilkan informasi mendetail.Lihat Meninjau Cloud Audit Logs untuk mempelajari lebih lanjut kolom
method
danprincipalEmail
yang terkait dengan shutdown dan reboot, dan tindakan yang dapat Anda lakukan untuk mencegahnya.Lihat Cloud Audit Logs menggunakan perintah
gcloud logging read
:gcloud logging read --freshness=TIME 'resource.type="gce_instance" "VM_NAME" logName:("logs/cloudaudit.googleapis.com%2Fsystem_event" OR "logs/cloudaudit.googleapis.com%2Factivity")'
Ganti kode berikut:
TIME
: lamanya waktu yang Anda ingin kueri. Misalnya,1h
mengkueri entri log dalam satu jam terakhir. Untuk informasi tentang format tanggal dan waktu, lihat gcloud topic datetimes.VM_NAME
: nama VM yang di-shutdown atau di-reboot.
Hasil akan ditampilkan.
Lihat Meninjau Cloud Audit Logs untuk mempelajari lebih lanjut kolom
method
danprincipalEmail
yang terkait dengan shutdown dan reboot, dan tindakan yang dapat Anda lakukan untuk mencegahnya.Tinjau kolom
method
di Cloud Audit Logs dan bandingkan dengan metode yang tercantum dalam tabel berikut.Metode Jenis shutdown Deskripsi compute.instances.repair.recreateInstance
Peristiwa sistem Jika VM Anda termasuk dalam grup instance terkelola (MIG), MIG akan membuat ulang VM jika status VM berubah dari
RUNNING
dan MIG tidak memulai perubahan itu.Perubahan status instance yang tidak dimulai oleh MIG meliputi:
- Kegagalan hardware.
- Menghentikan preemptible instance.
- Peristiwa pemeliharaan infrastruktur saat instance VM tidak ditetapkan ke live migrate.
- Menghapus instance MIG menggunakan salah satu metode berikut:
- Metode API
instances.delete
- Perintah
gcloud compute instances delete
- Metode API
compute.instances.hostError
Peristiwa sistem Error host (
compute.instances.hostError
) berarti terjadi masalah hardware atau software pada mesin fisik atau infrastruktur pusat data yang menghosting instance komputasi Anda yang menyebabkan instance error. Error host yang melibatkan kegagalan hardware total atau masalah hardware lainnya dapat mencegah migrasi langsung instance Anda. Jika instance Anda disetel untuk otomatis memulai ulang, yang merupakan setelan default, Compute Engine akan memulai ulang instance Anda, biasanya dalam waktu tiga menit sejak error terdeteksi. Bergantung pada masalahnya, proses mulai ulang mungkin memerlukan waktu hingga 5,5 menit.Terkadang, instance komputasi mungkin menjadi tidak responsif sebelum error host diberi sinyal. Anda dapat mengurangi jumlah waktu tunggu Compute Engine untuk memulai ulang atau menghentikan instance dengan menetapkan waktu tunggu pemulihan error host. Untuk mengetahui informasi selengkapnya, lihat Menetapkan kebijakan ketersediaan.
Kegagalan fisik dan software terkadang dapat terjadi, tetapi jarang terjadi. Untuk melindungi aplikasi dan layanan Anda dari peristiwa sistem yang berpotensi mengganggu ini, tinjau referensi berikut:
- Merancang sistem yang kuat
- Pola untuk aplikasi yang skalabel dan tangguh
- Membuat grup instance terkelola
Google juga menawarkan layanan terkelola seperti App Engine dan lingkungan fleksibel App Engine.
compute.instances.automaticRestart
Peristiwa sistem Peristiwa ini terjadi setelah peristiwa
hostError
atau peristiwaterminateOnHostMaintenance
jika kebijakan pemeliharaan hostautomaticRestart
VM Anda ditetapkan ketrue
. Dalam log, entri loghostError
atauterminateOnHostMaintenance
mendahului log ini.Jika ingin mengubah kebijakan pemeliharaan host VM Anda, lihat Memperbarui opsi untuk instance.
compute.instances.guestTerminate
Peristiwa sistem Sistem operasi VM Anda memulai shutdown. compute.instances.terminateOnHostMaintenance
Peristiwa sistem Jika Anda menetapkan kebijakan pemeliharaan host
onHostMaintenance
VM keTERMINATE
, Compute Engine akan menghentikan VM Anda saat ada peristiwa pemeliharaan di mana Google harus memindahkan VM Anda ke host lain.Jika ingin mengubah kebijakan
onHostMaintenance
VM Anda, lihat Memperbarui opsi untuk instance.compute.instances.preempted
Peristiwa sistem Compute Engine mem-preempt Spot VM atau preemptible VM lama Anda:
- Saat mem-preempt Spot VM, Compute Engine akan menghentikan atau menghapus Spot VM tersebut berdasarkan tindakan penghentiannya. Spot VM tidak memiliki runtime maksimum.
- Saat mem-preempt preemptible VM, Compute Engine akan menghentikan VM setelah runtime maksimum, yakni 24 jam. Untuk menghindari batasan ini, gunakan Spot VM.
Spot VM dan preemptible VM merupakan kapasitas Compute Engine ekstra, sehingga Compute Engine dapat mem-preempt instance tersebut setiap kali kapasitasnya diperlukan di tempat lain. Anda dapat membantu mengurangi dampak preemption dengan mengikuti praktik terbaik. Atau, jika Anda memerlukan VM dengan runtime yang dikontrol pengguna, buat VM standar.
compute.instances.stop
Aktivitas admin Pengguna atau akun layanan menghentikan VM Anda.
Lanjutkan ke langkah berikutnya untuk mengidentifikasi pengguna atau akun layanan yang menghentikan VM Anda. Untuk informasi tentang cara me-restart VM, lihat Memulai ulang instance yang dihentikan.
compute.instances.delete
Aktivitas admin atau peristiwa sistem Pengguna atau akun layanan menghapus VM Anda, atau VM dikonfigurasi untuk dihapus secara otomatis.
Secara khusus, log untuk metode
compute.instances.delete
dapat menunjukkan salah satu permintaan berikut untuk VM Anda:- Permintaan dari pengguna atau akun layanan untuk menghapus VM Anda secara langsung
hanya ditunjukkan oleh metode
compute.instances.delete
dari pengguna atau akun layanan. Permintaan yang otomatis menghapus VM Anda ditunjukkan oleh metode
compute.instances.delete
darisystem@google.com
, tetapi metode yang menjelaskan penyebab penghapusan otomatis mungkin muncul atau tidak muncul di Log Audit Cloud.Misalnya, jika Spot VM dikonfigurasi untuk dihapus secara otomatis selama preemption dan di-preempt, Anda akan melihat metode
compute.instances.delete
darisystem@google.com
, tetapi Anda mungkin juga tidak melihat metodecompute.instances.preempted
.Permintaan ke VM yang terjadi sesaat sebelum atau setelah metode
compute.instances.delete
mungkin muncul atau tidak muncul di Cloud Audit Logs.Misalnya, jika VM dihentikan karena pemeliharaan host sesaat sebelum VM dihapus, Anda akan melihat metode
compute.instances.delete
, tetapi Anda mungkin juga tidak melihat metodecompute.instances.terminateOnHostMaintenance
.
Lanjutkan ke langkah berikutnya untuk mengidentifikasi pengguna atau akun layanan yang menghapus VM Anda. Untuk informasi tentang cara membuat VM baru, lihat Membuat dan memulai VM.
compute.instances.insert
Aktivitas admin Pengguna atau akun layanan membuat VM Anda.
Lanjutkan ke langkah berikutnya untuk mengidentifikasi pengguna atau akun layanan yang membuat VM Anda. Untuk informasi tentang cara membuat VM baru, lihat Membuat dan memulai VM.
compute.instances.reset
Aktivitas admin Pengguna atau akun layanan mereset VM Anda.
Lanjutkan ke langkah berikutnya untuk mengidentifikasi pengguna atau akun layanan yang menghentikan VM Anda.
Tinjau kolom
principalEmail
pada Cloud Audit Logs untuk mengidentifikasi pengguna atau layanan yang memulai shutdown atau reboot. Tabel berikut mencantumkan layanan umum yang dikelola Google yang memulai shutdown atau reboot.Email Deskripsi system@google.com
Peristiwa sistem menyebabkan shutdown atau reboot. project-number@cloudservices.gserviceaccount.com
Agen layanan memulai shutdown.
Untuk menentukan dari project mana layanan memulai shutdown, tinjau
project-number
agen layanan.Untuk menentukan layanan Google mana yang membuat permintaan, tinjau kolom
protoPayload.requestMetadata.callerSuppliedUserAgent
.Jika pengguna memicu shutdown atau reboot, alamat email mereka akan muncul di kolom
principalEmail
. Contoh,cloudysanfrancisco@gmail.com
.Administrator dapat mencegah pengguna mengubah status VM project dengan mengubah izin Identity and Access Management di akun pengguna. Untuk mengetahui informasi selengkapnya, lihat Memberikan, mengubah, dan mencabut akses ke resource.
Di Konsol Google Cloud, buka halaman Log-based Metrics.
Klik Buat Metrik.
- Pilih
Counter
. - Biarkan Distribution pada setelan default-nya, yaitu tidak dipilih.
- Log-based metric name:
vm-lifecycle-events
. Anda harus menggunakan nama persis ini agar dasbor berfungsi dengan benar. - Description: Opsional — Masukkan deskripsi untuk metrik ini.
- Units:
1
Di bagian Filter selection, tentukan berikut ini:
- Dari menu Select project or log bucket, pilih: Project logs
- Di Build filter, masukkan:
resource.type = "gce_instance" AND log_id("cloudaudit.googleapis.com/activity") OR log_id("cloudaudit.googleapis.com/system_event") operation.first="true"
Di bagian Labels, klik Add label.
Tentukan nilai berikut:
- Label name:
method
- Label type:
STRING
- Field name:
protoPayload.methodName
- Regular expression:
(recreateInstance|hostError|automaticRestart|guestTerminate|terminateOnHostMaintenance|preempted|insert|stop|delete|reset|start)
- Label name:
Klik Done
Klik Create Metric
- Lakukan operasi
stop
danstart
pada instance yang ada, atau buat VM baru untuk tujuan pengujian. Buka Dashboards di Konsol Google Cloud.
Dari tab Dashboard List, buka dasbor
GCE VM Lifecycle Events Monitoring
.Pilih VM dari menu drop-down Name.
Persempit deret waktu ke jangka waktu yang relevan.
Untuk mengetahui cara lainnya dalam memfilter dasbor, lihat Menambahkan filter sementara.
Diagram VM Lifecycle Timeline menampilkan hal berikut:
- Metrik
compute.googleapis.com/instance/uptime
yang menunjukkan apakah VM aktif pada titik waktu tertentu atau tidak, dengan 1 adalah aktif dan 0 tidak aktif. Perhatikan bahwa metrik ini mencerminkan ketersediaan sebagai akibat dari aktivitas pengguna dan peristiwa sistem, dan tidak mengindikasikan SLA Compute Engine. - Metrik berbasis log
vm-lifecycle-events
untuk menghitung jumlah tindakan siklus proses, sepertistop
ataustart
yang dilakukan terhadap instance pada titik waktu tertentu
- Metrik
Diagram Peristiwa menunjukkan metrik berbasis log
vm-lifecycle-events
yang sama, tetapi dalam tampilan yang diperbesar agar lebih mudah dibaca. Perhatikan bahwa meskipun sumbu X sejajar, warnanya tidak sinkron di antara kedua diagram.Identifikasi VPC Bersama yang digunakan oleh VM, dengan menggunakan perintah
gcloud compute instances describe
:gcloud compute instances describe VM_NAME \ --format="flattened(networkInterfaces[].network)"
Output-nya mirip dengan berikut ini:
networkInterfaces[0].network: https://www.googleapis.com/compute/v1/projects/SHARED_VPC_PROJECT/global/networks/FROZEN_NETWORK
Verifikasi di project host VPC Bersama apakah penagihan telah dinonaktifkan.
resource.type="project" protoPayload.request.@type="type.googleapis.com/google.internal.cloudbilling.billingaccount.v1.DisableResourceBillingRequest" protoPayload.response.resourceBillingInfo.billingAccountAssignmentType="DISABLED"
Jika berlaku, Aktifkan penagihan pada project host.
Mendiagnosis shutdown dan reboot instance
Untuk mendiagnosis penyebab instance mengalami shutdown atau reboot mendadak, Anda harus mengkueri log instance. Untuk mengidentifikasi dengan cepat penyebab shutdown atau reboot VM di masa mendatang, buat dasbor yang berisi log. Setelah Anda mengkueri log ini, tinjau kolom
method
danprincipalEmail
untuk menentukan peristiwa apa serta pengguna atau layanan mana yang memulai shutdown atau reboot.Mengkueri Cloud Audit Logs
Buat kueri Cloud Audit Logs untuk menampilkan daftar peristiwa sistem dan aktivitas admin yang mungkin menyebabkan shutdown atau reboot.
Konsol
gcloud
Meninjau Cloud Audit Logs
Tinjau kolom
method
danprincipalEmail
di Cloud Audit Logs untuk mengetahui alasan VM di-shutdown atau di-reboot.Memantau peristiwa siklus proses VM
Anda dapat memantau peristiwa siklus proses VM (termasuk shutdown, reboot, dan error host) dengan membuat dasbor Cloud Monitoring.
Dasbor ini memungkinkan Anda memvisualisasikan peristiwa sistem dan aktivitas administrator yang dijelaskan secara lebih mendetail di bagian Meninjau Log Audit dalam dokumen ini.
Gambar 1. Contoh dasbor yang menampilkan ketersediaan instance dan peristiwa siklus prosesnya seperti instance yang dihentikan.
Membuat metrik berbasis log
Untuk mencatat peristiwa siklus proses VM, buat metrik berbasis log yang ditentukan pengguna. Metrik ini menggunakan Cloud Audit Logs untuk mencatat berapa kali peristiwa siklus proses VM tertentu terjadi.
Untuk mendapatkan izin yang diperlukan guna membuat metrik, minta administrator untuk memberi Anda peran IAM Logs Writer (
roles/logging.logWriter
) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Buat metrik berbasis log yang ditentukan pengguna dengan melakukan langkah berikut:
Di bagian Metric Type, lakukan hal berikut:
Di bagian Details, masukkan informasi berikut:
Menggunakan dasbor
Data tidak akan muncul di dasbor hingga instance mengalami peristiwa sistem atau aktivitas administrator. Untuk menguji apakah dasbor berfungsi, lakukan aktivitas administrator, seperti operasi
stop
danstart
:Untuk mendapatkan izin yang diperlukan untuk menggunakan dasbor, minta administrator untuk memberi Anda peran IAM Monitoring Dashboard Viewer (
roles/monitoring.dashboardViewer
) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Dasbor ini berisi dua diagram yang menampilkan linimasa peristiwa sistem dan aktivitas administrator yang terjadi di instance:
Menyelidiki shutdown VM massal di banyak project
Compute Engine dapat mematikan banyak VM yang terhubung ke project host VPC Bersama, jika penagihan project host VPC Bersama tersebut tidak aktif atau dinonaktifkan.
Untuk menentukan apakah VM Anda dimatikan karena permintaan shutdown massal, temukan operasi stop yang dimulai oleh
cloud-cluster-manager@prod.google.com
.Memulai instance yang terdampak akan menampilkan error yang mirip dengan berikut ini:
Starting instance(s) INSTANCE_NAME...failed. ERROR: (gcloud.compute.instances.start) The default network interface [nic0] is frozen.
Untuk menyelesaikan masalah ini, lakukan tindakan berikut:
Untuk membantu mencegah terulangnya masalah ini, baca Mengamankan link antara project dan akun penagihannya.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-03-10 UTC.
-