Menetapkan kebijakan pemeliharaan host untuk instance komputasi


Dokumen ini menjelaskan cara menetapkan kebijakan pemeliharaan host untuk instance Compute Engine guna menentukan perilakunya selama peristiwa host. Untuk mempelajari kebijakan pemeliharaan host lebih lanjut, lihat Kebijakan pemeliharaan host.

Kebijakan pemeliharaan host menentukan cara instance Anda merespons saat host tempat instance berjalan memerlukan pemeliharaan atau mengalami error. Mengonfigurasi kebijakan pemeliharaan host untuk instance membantu Anda melakukan hal berikut:

  • Minimalkan periode nonaktif.

  • Mencegah kebocoran data.

Batasan

Untuk kebijakan pemeliharaan host, batasan berikut berlaku:

  • Instance virtual machine yang menggunakan jenis mesin E2 hanya dapat melakukan migrasi langsung selama peristiwa pemeliharaan host, kecuali jika instance tersebut adalah Spot VM atau VM preemptible.

  • Instance berikut hanya dapat dihentikan selama peristiwa pemeliharaan host:

  • Spot VM dan preemptible VM tidak dapat dimulai ulang secara otomatis setelah error host atau penghentian terprogram.

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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menetapkan kebijakan pemeliharaan host untuk instance komputasi, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk menetapkan kebijakan pemeliharaan host untuk instance komputasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menetapkan kebijakan pemeliharaan host untuk instance komputasi:

  • Untuk membuat instance:
    • compute.instances.create pada project
    • Untuk menggunakan image kustom guna membuat VM: compute.images.useReadOnly pada image
    • Untuk menggunakan snapshot guna membuat VM: compute.snapshots.useReadOnly pada snapshot
    • Untuk menggunakan template instance guna membuat VM: compute.instanceTemplates.useReadOnly di template instance
    • Untuk menetapkan jaringan lama ke VM: compute.networks.use di project
    • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use pada project
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
    • Untuk menentukan subnet bagi VM: compute.subnetworks.use di project atau di subnet yang dipilih
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
    • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata pada project
    • Untuk menetapkan tag untuk VM: compute.instances.setTags di VM
    • Untuk menetapkan label untuk VM: compute.instances.setLabels di VM
    • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
    • Untuk membuat disk baru bagi VM: compute.disks.create di project
    • Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis: compute.disks.use pada disk
    • Untuk memasang disk yang ada dalam mode hanya baca: compute.disks.useReadOnly pada disk
  • Untuk membuat template instance: compute.instanceTemplates.create pada project
  • Untuk memperbarui kebijakan pemeliharaan host untuk instance: compute.instances.setScheduling pada instance

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Properti pemeliharaan host yang tersedia

Anda dapat menyesuaikan perilaku instance komputasi selama pemeliharaan terjadwal atau peristiwa host yang tidak terduga. Kecuali jika Anda menentukan lain, Compute Engine akan menggunakan setelan default saat Anda membuat instance, instance secara massal, atau template instance. Instance

Anda dapat mengonfigurasi properti pemeliharaan host berikut:

  • Perilaku pemeliharaan (onHostMaintenance): yang terjadi pada instance Anda selama peristiwa pemeliharaan di host-nya yang dapat menyebabkan instance dimulai ulang. Anda dapat menetapkan properti ini ke salah satu hal berikut:

    • Migrasi: Compute Engine akan otomatis melakukan migrasi langsung instance Anda ke host lain. Ini adalah setelan default untuk semua jenis VM, kecuali Spot VM dan preemptible VM.

    • Terminate: Compute Engine menghentikan instance Anda. Ini adalah setelan default untuk VM Spot atau VM preemptible, dan merupakan satu-satunya setelan yang didukung untuk instance Z3, instance bare metal, dan instance dengan GPU atau TPU yang terpasang.

  • Mulai ulang otomatis (automaticRestart): apakah instance Anda dimulai ulang jika mengalami error atau Compute Engine menghentikannya untuk penghentian terprogram, seperti peristiwa pemeliharaan. Anda dapat menetapkan properti ini ke salah satu hal berikut:

    • Aktif: Compute Engine akan otomatis memulai ulang instance. Ini adalah setelan default untuk semua jenis instance, kecuali untuk VM Spot dan preemptible VM. Anda menentukan setelan ini sebagai berikut:

      • Untuk konsol Google Cloud, di panel Advanced, dalam daftar Automatic restart, pilih On (recommended).

      • Untuk Google Cloud CLI, gunakan flag --restart-on-failure.

      • Untuk REST, tetapkan kolom automaticRestart ke true.

    • Nonaktif: Compute Engine tidak memulai ulang instance. Ini adalah setelan default untuk Spot VM atau preemptible VM. Anda menetapkan setelan ini sebagai berikut:

      • Untuk konsol Google Cloud, di panel Advanced, dalam daftar Automatic restart, pilih Off.

      • Untuk gcloud CLI, gunakan flag --no-restart-on-failure.

      • Untuk REST, tetapkan kolom automaticRestart ke false.

  • Waktu tunggu pemulihan data SSD Lokal (localSsdRecoveryTimeout): setelan ini hanya berlaku untuk instance yang memiliki disk SSD Lokal yang terpasang. Ini menentukan berapa lama Compute Engine menunggu untuk memulihkan data dari disk SSD Lokal Anda setelah error host. Secara default, properti ini tidak ditetapkan. Anda dapat menetapkan properti ini ke salah satu hal berikut:

    • Unset: Compute Engine menggunakan waktu tunggu default:

      • Untuk VM Z3, 6 jam

      • Untuk semua jenis instance lainnya, 1 jam

    • Bilangan bulat dari 0 hingga 168: jumlah jam yang akan ditunggu. Menetapkan properti ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal dan segera memulai ulang instance.

  • Waktu tunggu error host (hostErrorTimeoutSeconds): properti ini menentukan waktu tunggu Compute Engine untuk memulai ulang instance yang tidak responsif. Anda harus mengonfigurasi setelan ini sebelum instance menjadi tidak responsif. Gunakan waktu tunggu yang cukup lama agar instance dapat pulih dari tidak responsif. Anda dapat menetapkan properti ini ke salah satu hal berikut:

    • Tidak disetel: Compute Engine menunggu hingga 330 detik (5 menit dan 30 detik). Ini adalah setelan default untuk semua jenis instance.

    • Bilangan bulat dari 90 hingga 330: waktu tunggu dalam detik, dengan kelipatan 30 detik.

Menetapkan kebijakan pemeliharaan host untuk instance

Secara default, instance komputasi menggunakan setelan default untuk kebijakan pemeliharaan host. Untuk menyesuaikan setelan ini, gunakan salah satu metode berikut:

Menetapkan kebijakan untuk instance yang ada

Sebelum mengubah kebijakan pemeliharaan host instance yang ada, pastikan hal berikut:

  • Anda tidak dapat mengubah perilaku pemeliharaan (onHostMaintenance) dari jenis instance berikut:

  • Anda tidak dapat mengonfigurasi Spot VM atau preemptible VM untuk memulai ulang secara otomatis setelah error host atau penghentian terprogram.

Untuk mengubah waktu tunggu pemulihan data SSD Lokal di instance yang memiliki disk SSD Lokal yang terpasang, gunakan gcloud CLI atau REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Di kolom Name, klik nama instance yang ingin Anda perbarui. Halaman yang memberikan detail instance akan muncul.

  3. Klik Edit. Halaman yang memungkinkan Anda mengedit properti instance akan muncul.

  4. Di bagian Pengelolaan, Anda dapat melakukan satu atau beberapa hal berikut:

    • Untuk mengubah perilaku selama peristiwa pemeliharaan, pilih opsi lain dari daftar Pada pemeliharaan host

    • Untuk mengubah periode waktu tunggu sebelum memulai ulang instance yang tidak responsif, pilih opsi lain dari daftar Waktu tunggu error host.

    • Untuk mengubah apakah akan memulai ulang instance atau tidak setelah error host atau penghentian terprogram, pilih opsi lain dari daftar Automatic restart.

  5. Klik Simpan.

gcloud

Untuk mengubah kebijakan pemeliharaan host di instance yang ada, gunakan perintah gcloud compute instances set-scheduling dengan satu atau beberapa flag berikut:

  • Untuk mengubah perilaku pemeliharaan host, sertakan flag --maintenance-policy.

  • Untuk mengubah perilaku mulai ulang otomatis, lakukan salah satu hal berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan flag --restart-on-failure.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan flag --no-restart-on-failure.

  • Untuk mengubah waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan flag --local-ssd-recovery-timeout.

  • Untuk mengubah waktu tunggu error host, sertakan flag --host-error-timeout-seconds.

Misalnya, untuk mengubah perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, ubah waktu tunggu pemulihan data SSD Lokal, dan ubah waktu tunggu error host, jalankan perintah berikut:

gcloud compute instances set-scheduling INSTANCE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Anda.

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum Compute Engine memulai ulang instance yang tidak responsif. Nilai harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • ZONE: zona tempat instance Anda berada.

REST

Untuk mengubah kebijakan pemeliharaan host di instance yang ada, buat permintaan POST ke metode instances.setScheduling. Dalam isi permintaan, sertakan satu atau beberapa kolom berikut:

  • Untuk mengubah perilaku pemeliharaan host, sertakan kolom onHostMaintenance.

  • Untuk mengubah perilaku mulai ulang otomatis, lakukan salah satu hal berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan kolom automaticRestart.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan kolom automaticRestart.

  • Untuk mengubah waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan kolom localSsdRecoveryTimeout.

  • Untuk mengubah waktu tunggu error host, sertakan kolom hostErrorTimeoutSeconds.

Misalnya, untuk mengubah perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, ubah waktu tunggu pemulihan data SSD Lokal, dan ubah waktu tunggu error host, buat permintaan sebagai berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling

{
  "automaticRestart": AUTOMATIC_RESTART,
  "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
  "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
  "onHostMaintenance": "MAINTENANCE_POLICY"
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance Anda ada.

  • ZONE: zona tempat instance Anda berada.

  • INSTANCE_NAME: nama instance Anda.

  • AUTOMATIC_RESTART: perilaku mulai ulang otomatis instance jika mengalami error atau Compute Engine menghentikannya untuk penghentian terprogram. Tentukan salah satu nilai berikut:

    • Agar Compute Engine otomatis memulai ulang instance Anda: true

    • Untuk mencegah mulai ulang otomatis: false

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE.

Menetapkan kebijakan saat membuat instance

Anda dapat menetapkan kebijakan pemeliharaan host instance komputasi saat membuatnya.

Untuk menetapkan waktu tunggu pemulihan data SSD Lokal saat membuat instance yang memiliki disk SSD Lokal yang terpasang, gunakan gcloud CLI atau REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka Create an instance

  2. Di kolom Name, masukkan nama untuk instance.

  3. Di kolom Region dan Zone, tentukan region dan zona tempat instance akan dibuat.

  4. Tentukan jenis mesin untuk instance.

  5. Di menu navigasi, klik Lanjutan.

  6. Di bagian Provisioning model, luaskan VM provisioning model advanced settings, lalu lakukan satu atau beberapa hal berikut:

    • Untuk menetapkan perilaku selama peristiwa pemeliharaan, dalam daftar On host maintenance, pilih salah satu opsi berikut:

      • Untuk memigrasikan instance selama peristiwa pemeliharaan host, pilih Migrate VM instance (direkomendasikan).

      • Untuk menghentikan instance selama peristiwa pemeliharaan host, pilih Hentikan instance VM.

    • Untuk menetapkan periode waktu tunggu sebelum memulai ulang instance yang tidak responsif, dalam daftar Host error timeout, pilih salah satu opsi berikut:

      • Untuk tidak menentukan waktu tunggu error host, pilih Unspecified (default).

      • Untuk menentukan waktu tunggu error host, pilih salah satu opsi yang tersedia, hingga 5 menit dan 30 detik.

    • Untuk menetapkan apakah akan memulai ulang instance jika error atau berhenti, dalam daftar Automatic restart, pilih salah satu opsi berikut:

      • Untuk memulai ulang instance secara otomatis setelah error host atau perhentian terprogram, pilih Aktif (direkomendasikan).

      • Untuk mencegah instance dimulai ulang secara otomatis setelah error host atau penghentian terprogram, pilih Nonaktif.

  7. Klik Buat.

gcloud

Untuk menetapkan kebijakan pemeliharaan host instance saat membuatnya, gunakan perintah gcloud compute instances create dengan satu atau beberapa flag berikut:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan flag --maintenance-policy.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu hal berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan flag --restart-on-failure.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan flag --no-restart-on-failure.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan tanda --local-ssd-recovery-timeout.

  • Untuk menetapkan waktu tunggu error host, sertakan flag --host-error-timeout-seconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, jalankan perintah berikut:

gcloud compute instances create INSTANCE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance.

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda membuat VM Spot, VM preemptible, atau instance yang tidak mendukung migrasi langsung, Anda hanya dapat menggunakan TERMINATE.

  • ZONE: zona tempat instance dibuat.

REST

Untuk menetapkan kebijakan pemeliharaan host instance saat membuatnya, buat permintaan POST ke metode instances.insert. Dalam isi permintaan, sertakan satu atau beberapa kolom berikut di kolom scheduling:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan kolom onHostMaintenance.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu tindakan berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan kolom automaticRestart.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan kolom automaticRestart.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan kolom localSsdRecoveryTimeout.

  • Untuk menetapkan waktu tunggu error host, sertakan kolom hostErrorTimeoutSeconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, buat permintaan sebagai berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "automaticRestart": AUTOMATIC_RESTART,
    "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
    "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance akan dibuat.

  • ZONE: zona tempat instance dibuat.

  • INSTANCE_NAME: nama instance.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • IMAGE_PROJECT: project image yang berisi image—misalnya, debian-cloud. Untuk informasi selengkapnya tentang project image yang didukung, lihat Image publik.

  • IMAGE: tentukan salah satu dari hal berikut:

    • Versi tertentu dari image OS—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok image, lihat Praktik terbaik kelompok image.

  • AUTOMATIC_RESTART: perilaku mulai ulang otomatis instance jika mengalami error atau Compute Engine menghentikannya untuk penghentian terprogram. Tentukan salah satu nilai berikut:

    • Agar Compute Engine otomatis memulai ulang instance Anda: true

    • Untuk mencegah mulai ulang otomatis: false

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda membuat VM Spot atau instance yang tidak mendukung migrasi langsung, Anda hanya dapat menggunakan TERMINATE.

Untuk mengetahui informasi selengkapnya tentang cara membuat instance, lihat Membuat dan memulai instance Compute Engine.

Menetapkan kebijakan saat membuat instance secara massal

Untuk menetapkan kebijakan pemeliharaan host saat membuat instance secara massal, pilih salah satu opsi berikut:

gcloud

Untuk menetapkan kebijakan pemeliharaan host saat membuat instance secara massal, gunakan perintah gcloud compute instances bulk create dengan satu atau beberapa flag berikut:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan flag --maintenance-policy.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu hal berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan flag --restart-on-failure.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan flag --no-restart-on-failure.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan tanda --local-ssd-recovery-timeout.

  • Untuk menetapkan waktu tunggu error host, sertakan flag --host-error-timeout-seconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, jalankan perintah berikut. Contoh berikut juga membuat instance dalam satu zona dan menentukan pola nama untuk instance:

gcloud compute instances bulk create \
    --count=COUNT \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --name-pattern=NAME_PATTERN \
    --restart-on-failure \
    --zone=ZONE

Ganti kode berikut:

  • COUNT: jumlah instance yang akan dibuat.

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda membuat VM Spot, preemptible VM, atau instance yang tidak mendukung migrasi langsung, Anda hanya dapat menggunakan TERMINATE.

  • NAME_PATTERN: pola nama untuk instance. Untuk mengganti urutan angka dalam nama instance, gunakan urutan karakter hash (#). Misalnya, menggunakan instance-# untuk pola nama akan menghasilkan instance dengan nama yang dimulai dengan instance-1, instance-2, dan berlanjut hingga jumlah instance yang ditentukan oleh COUNT.

  • ZONE: zona tempat instance dibuat.

REST

Untuk menetapkan kebijakan pemeliharaan host saat membuat instance secara massal, buat permintaan POST ke metode instances.bulkInsert. Dalam isi permintaan, sertakan satu atau beberapa kolom berikut di kolom scheduling:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan kolom onHostMaintenance.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu tindakan berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan kolom automaticRestart.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan kolom automaticRestart.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan kolom localSsdRecoveryTimeout.

  • Untuk menetapkan waktu tunggu error host, sertakan kolom hostErrorTimeoutSeconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, buat permintaan sebagai berikut. Contoh berikut juga membuat instance dalam satu zona dan menentukan pola nama untuk instance:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "automaticRestart": AUTOMATIC_RESTART,
      "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
      "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance akan dibuat.

  • ZONE: zona tempat instance dibuat.

  • COUNT: jumlah instance yang akan dibuat.

  • NAME_PATTERN: pola nama untuk instance. Untuk mengganti urutan angka dalam nama instance, gunakan urutan karakter hash (#). Misalnya, menggunakan instance-# untuk pola nama akan menghasilkan instance dengan nama yang dimulai dengan instance-1, instance-2, dan berlanjut hingga jumlah instance yang ditentukan oleh COUNT.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • IMAGE_PROJECT: project image yang berisi image—misalnya, debian-cloud. Untuk informasi selengkapnya tentang project image yang didukung, lihat Image publik.

  • IMAGE: tentukan salah satu dari hal berikut:

    • Versi tertentu dari image OS—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok image, lihat Praktik terbaik kelompok image.

  • AUTOMATIC_RESTART: perilaku mulai ulang otomatis instance jika mengalami error atau Compute Engine menghentikannya untuk penghentian terprogram. Tentukan salah satu nilai berikut:

    • Agar Compute Engine otomatis memulai ulang instance Anda: true

    • Untuk mencegah mulai ulang otomatis: false

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda membuat VM Spot, preemptible VM, atau instance yang tidak mendukung migrasi langsung, Anda hanya dapat menggunakan TERMINATE.

Untuk mengetahui informasi selengkapnya tentang cara membuat instance secara massal, lihat Membuat VM secara massal.

Menetapkan kebijakan saat membuat template instance

Anda dapat menetapkan kebijakan pemeliharaan host saat membuat template instance. Semua instance komputasi yang Anda buat menggunakan template mewarisi kebijakan pemeliharaan host yang ditentukan dalam template.

Untuk menetapkan waktu tunggu pemulihan data SSD Lokal saat membuat template instance yang menentukan disk SSD Lokal, gunakan gcloud CLI atau REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance templates.

    Buka Instance templates

  2. Klik Create instance template. Halaman Create instance template akan muncul.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Lokasi, pilih salah satu opsi berikut:

    • Untuk membuat template instance regional, pilih Regional (direkomendasikan), lalu pilih region tempat template akan dibuat.

    • Untuk membuat template instance global, pilih Global.

  5. Di bagian Machine configuration, tentukan jenis mesin untuk template instance.

  6. Di bagian Provisioning model, luaskan VM provisioning model advanced settings, lalu lakukan satu atau beberapa hal berikut:

    • Untuk mengubah perilaku selama peristiwa pemeliharaan, dalam daftar On host maintenance, pilih salah satu opsi berikut:

      • Untuk memigrasikan instance selama peristiwa pemeliharaan host, pilih Migrate VM instance (direkomendasikan).

      • Untuk menghentikan instance selama peristiwa pemeliharaan host, pilih Hentikan instance VM.

    • Untuk mengubah periode waktu tunggu sebelum memulai ulang instance yang tidak merespons, di daftar Host error timeout, pilih salah satu opsi berikut:

      • Untuk tidak menentukan waktu tunggu error host, pilih Unspecified (default).

      • Untuk menentukan waktu tunggu error host, pilih salah satu opsi yang tersedia, hingga 5 menit dan 30 detik.

    • Untuk mengubah apakah akan memulai ulang instance jika error atau berhenti, dalam daftar Automatic restart, pilih salah satu opsi berikut:

      • Untuk memulai ulang instance secara otomatis setelah error host atau perhentian terprogram, pilih Aktif (direkomendasikan).

      • Untuk mencegah instance dimulai ulang secara otomatis setelah error host atau penghentian terprogram, pilih Nonaktif.

  7. Klik Buat.

gcloud

Untuk menetapkan kebijakan pemeliharaan host saat membuat template instance, gunakan perintah gcloud compute instance-templates create dengan satu atau beberapa flag berikut:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan kolom onHostMaintenance.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu tindakan berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan kolom automaticRestart.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan kolom automaticRestart.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan kolom localSsdRecoveryTimeout.

  • Untuk menetapkan waktu tunggu error host, sertakan kolom hostErrorTimeoutSeconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, jalankan perintah berikut. Contoh berikut juga membuat template instance regional. Untuk membuat template instance global, gunakan perintah yang sama tanpa flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --instance-template-region=REGION \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • REGION: region tempat membuat template instance.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda menentukan Spot VM, preemptible VM, atau jenis instance yang tidak mendukung migrasi langsung dalam template instance, Anda hanya dapat menggunakan TERMINATE.

REST

Untuk menetapkan kebijakan pemeliharaan host saat membuat template instance, buat permintaan POST ke salah satu metode berikut:

Dalam isi permintaan, sertakan satu atau beberapa kolom berikut di kolom scheduling:

  • Untuk menetapkan perilaku pemeliharaan host, sertakan kolom onHostMaintenance.

  • Untuk menetapkan perilaku mulai ulang otomatis, lakukan salah satu tindakan berikut:

    • Untuk memulai ulang instance secara otomatis, sertakan kolom automaticRestart.

    • Untuk mencegah instance dimulai ulang secara otomatis, sertakan kolom automaticRestart.

  • Untuk menetapkan waktu tunggu pemulihan data SSD Lokal jika instance Anda memiliki disk SSD Lokal yang terpasang, sertakan kolom localSsdRecoveryTimeout.

  • Untuk menetapkan waktu tunggu error host, sertakan kolom hostErrorTimeoutSeconds.

Misalnya, untuk menetapkan perilaku pemeliharaan host, mulai ulang instance secara otomatis setelah error host atau penghentian terprogram, tetapkan waktu tunggu pemulihan data SSD Lokal, dan tetapkan waktu tunggu error host, buat permintaan sebagai berikut. Contoh berikut juga membuat template instance regional.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "automaticRestart": AUTOMATIC_RESTART,
      "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
      "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat membuat template instance.

  • REGION: region tempat membuat template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • IMAGE_PROJECT: project image yang berisi image—misalnya, debian-cloud. Untuk informasi selengkapnya tentang project image yang didukung, lihat Image publik.

  • IMAGE: tentukan salah satu dari hal berikut:

    • Versi tertentu dari image OS—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok image, lihat Praktik terbaik kelompok image.

  • MACHINE_TYPE: jenis mesin yang akan digunakan.

  • AUTOMATIC_RESTART: perilaku mulai ulang otomatis instance jika mengalami error atau Compute Engine menghentikannya untuk penghentian terprogram. Tentukan salah satu nilai berikut:

    • Agar Compute Engine otomatis memulai ulang instance Anda: true

    • Untuk mencegah mulai ulang otomatis: false

  • ERROR_DETECTION_TIMEOUT: jumlah detik sebelum memulai ulang instance yang tidak responsif. Nilainya harus antara 90 (90 detik) dan 330 (330 detik, atau 5 menit dan 30 detik). Hanya penambahan 30 detik yang diizinkan.

  • LOCAL_SSD_RECOVERY_TIMEOUT: jumlah jam yang diperlukan untuk memulihkan data dari disk SSD Lokal yang terpasang. Nilainya harus antara 0 (0 jam) dan 168 (168 jam, atau 7 hari). Menetapkan kolom ini ke 0 berarti Compute Engine tidak memulihkan data SSD Lokal.

  • MAINTENANCE_POLICY: perilaku pemeliharaan instance. Nilainya dapat berupa TERMINATE atau MIGRATE. Jika Anda menentukan Spot VM, preemptible VM, atau jenis instance yang tidak mendukung migrasi langsung dalam template instance, Anda hanya dapat menggunakan TERMINATE.

Untuk mengetahui informasi selengkapnya tentang cara membuat template instance, lihat Membuat template instance.

Melihat kebijakan pemeliharaan host instance

Anda dapat melihat kebijakan pemeliharaan host instance dengan melihat detail instance.

Saat melihat detail instance menggunakan gcloud CLI atau REST API, Anda hanya dapat melihat kolom localSsdRecoveryTimeout dan hostErrorTimeoutSeconds jika Anda menentukannya saat membuat atau memperbarui instance.

Untuk melihat waktu tunggu pemulihan data SSD Lokal di instance yang memiliki disk SSD Lokal yang terpasang, gunakan gcloud CLI atau REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Di kolom Nama, klik instance yang ingin Anda lihat. Halaman yang memberikan detail instance akan muncul.

  3. Di tab Details, di bagian Management, di bagian Availability policies, Anda dapat melihat hal berikut:

    • Di kolom Pada pemeliharaan host, Anda dapat melihat peristiwa perilaku pemeliharaan host instance.

    • Di kolom Waktu tunggu error host, Anda dapat melihat jumlah waktu yang ditunggu instance sebelum memulai ulang atau menghentikan instance setelah mendeteksi bahwa instance tidak responsif. Jika nilai tidak ditetapkan (), waktu tunggu defaultnya adalah 5 menit dan 30 detik.

    • Di kolom mulai ulang Mulai ulang otomatis, Anda dapat melihat apakah instance memulai ulang instance secara otomatis setelah error atau Compute Engine menghentikannya untuk penghentian terprogram.

gcloud

Untuk melihat kebijakan pemeliharaan host untuk instance, gunakan perintah gcloud compute instances describe dengan flag --flatten yang ditetapkan ke scheduling:

 gcloud compute instances describe INSTANCE_NAME \
    --flatten=scheduling \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance.

  • ZONE: zona tempat instance berada.

Outputnya mirip dengan hal berikut ini:

---
scheduling:
  automaticRestart: true
  hostErrorTimeoutSeconds: 120
  localSsdRecoveryTimeout:
    nanos: 0
    seconds: '10800'
  onHostMaintenance: MIGRATE
  preemptible: false
  provisioningModel: STANDARD

REST

Untuk melihat kebijakan pemeliharaan host untuk instance, buat permintaan GET ke metode instances.get. Di URL permintaan, sertakan parameter kueri fields dan tetapkan ke scheduling:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling

Ganti kode berikut:

  • PROJECT_ID: project tempat instance berada.

  • ZONE: zona tempat instance berada.

  • INSTANCE_NAME: nama instance.

Outputnya mirip dengan hal berikut ini:

{
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD",
    "localSsdRecoveryTimeout": {
      "seconds": "10800",
      "nanos": 0
    }
  }
}

Langkah berikutnya