Membatasi waktu proses VM


Dokumen ini menjelaskan cara membatasi waktu proses instance virtual machine (VM) baru atau yang sudah ada, dan cara memantau waktu proses VM tersebut. Untuk grup instance terkelola (MIG), lihat Membatasi waktu proses MIG.

Saat membatasi waktu proses VM, Anda dapat menjadwalkan VM untuk otomatis dihentikan (dihentikan atau dihapus) saat mencapai batas waktu tertentu (durasi atau waktu). Gunakan batas waktu untuk membantu mengoptimalkan beban kerja sementara. Dengan membatasi waktu pengoperasian VM secara otomatis, Anda dapat membantu meminimalkan biaya dan mengosongkan kuota.

Untuk mempelajari cara langsung menghentikan VM, lihat artikel Menghentikan atau memulai ulang VM. Untuk mempelajari cara langsung menghapus VM, lihat artikel Menghapus VM.

Sebelum memulai

  • Untuk mendapatkan izin yang Anda perlukan guna membatasi waktu proses VM, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) 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.

  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Pembatasan

Membatasi waktu proses VM memiliki batasan berikut:

  • Tindakan penghentian otomatis harus berupa hentikan atau hapus. Anda tidak dapat mengonfigurasi VM agar ditangguhkan secara otomatis saat batas waktu tercapai.

  • Batas waktu minimum adalah 30 detik dan batas waktu maksimum adalah 120 hari.

  • Penghentian otomatis mungkin memerlukan waktu hingga 30 detik lebih lama dari durasi atau waktu yang Anda tentukan untuk mulai menghentikan atau menghapus VM.

  • Anda tidak dapat menggunakan batas waktu dengan preemptible VM lama. Sebagai gantinya, gunakan batas waktu dengan Spot VM.

  • Data SSD lokal VM tidak dapat disimpan saat VM otomatis dihentikan karena batas waktu. Untuk mengetahui informasi selengkapnya, baca Menghentikan VM dengan SSD Lokal.

Membatasi waktu proses VM baru

Bagian berikut menjelaskan cara mengonfigurasi batas waktu saat membuat VM baru. Anda dapat menentukan batas waktu, yaitu kapan Anda ingin VM dihentikan secara otomatis, baik dalam durasi (maxRunDuration) maupun waktu (terminationTime).

Saat menentukan jenis batas waktu untuk VM, pertimbangkan bahwa VM mungkin terganggu, misalnya, oleh permintaan pengguna atau oleh peristiwa host. Perilaku batas waktu bervariasi berdasarkan jenis gangguan dan jenis batas waktu:

  • Stempel waktu penghentian (terminationTimestamp) VM adalah kolom hanya baca yang mewakili waktu yang direncanakan untuk penghentian otomatis dan secara otomatis ditentukan oleh Compute Engine setiap kali VM memiliki batas waktu dan memasuki status RUNNING.

  • Stempel waktu penghentian akan otomatis dihapus setiap kali VM dihentikan atau ditangguhkan. Namun, stempel waktu penghentian tidak berubah saat Anda mereset VM atau memulai ulang VM.

  • Stempel waktu penghentian akan otomatis ditentukan ulang setiap kali VM dimulai ulang atau dilanjutkan berdasarkan jenis batas waktu yang Anda tetapkan:

    • Jika Anda menetapkan durasi untuk VM, stempel waktu penghentian akan dihitung ulang dengan menambahkan durasi tersebut ke waktu mulai terbaru VM.
    • Jika Anda menetapkan waktu untuk VM, stempel waktu penghentian akan ditetapkan ke waktu tersebut. Namun, waktunya harus di masa mendatang; jika tidak, permintaan untuk membuat atau menjalankan ulang VM akan gagal hingga Anda memperbarui atau menghapus waktu.

Menyetel durasi

Durasi menunjukkan total waktu proses yang Anda inginkan untuk VM. Untuk membuat VM yang otomatis dihentikan setelah VM berjalan selama durasi tertentu, gunakan Konsol Google Cloud, Google Cloud CLI, Terraform, atau Compute Engine API.

Konsol

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

    Buka halaman Buat instance

  2. Di bagian Kebijakan ketersediaan, luaskan Setelan lanjutan model penyediaan VM.

  3. Pilih kotak centang Set a time limit for the VM. Kolom Jenis batas waktu akan muncul.

  4. Di kolom Time limit type, pilih By hours (default) untuk menentukan batas waktu sebagai durasi. Pada kolom berikut, masukkan durasi dalam jam.

  5. Dalam daftar On VM termination, pilih apa yang terjadi saat runtime VM mencapai batas waktu yang ditentukan:

    • Untuk menghentikan VM secara otomatis, pilih Stop (default).
    • Untuk menghapus VM, pilih Delete.
  6. Opsional: Tentukan opsi VM lainnya. Untuk mengetahui informasi selengkapnya, baca Membuat dan memulai instance VM.

  7. Untuk membuat dan meluncurkan VM, klik Create.

gcloud

Untuk membuat VM dari gcloud CLI, gunakan perintah gcloud compute instances create.

  • Untuk membuat VM yang otomatis dihentikan setelah durasi tertentu, Anda harus menyertakan flag --max-run-duration.
  • Untuk menentukan tindakan penghentian, sertakan flag --instance-termination-action.
  • Konfigurasikan flag --discard-local-ssds-at-termination-timestamp:
    • Jika VM memiliki SSD lokal dan tindakan penghentian (TERMINATION_ACTION) adalah berhenti (STOP), Anda harus menyertakan flag --discard-local-ssds-at-termination-timestamp=true.
    • Jika tidak, hapus flag --discard-local-ssds-at-termination-timestamp.
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Ganti kode berikut:

  • VM_NAME: nama VM baru.
  • DURATION: Durasi yang Anda inginkan untuk VM ini berjalan sebelum dihentikan secara otomatis. Format durasi sebagai jumlah hari, jam, menit, dan detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m untuk durasi 30 menit, atau tentukan 1d2h3m4s untuk durasi 1 hari, 2 jam, 3 menit, dan 4 detik. Durasi minimum adalah 30 detik (30s) dan durasi maksimum adalah 120 hari (120d).
  • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:
    • Jika ini adalah Spot VM (jika VM menggunakan flag --provisioning-model=SPOT), flag --instance-termination-action=TERMINATION_ACTION akan bersifat opsional. Jika flag ini dihilangkan, tindakan penghentian default adalah berhenti.
    • Jika tidak (default), flag --instance-termination-action=TERMINATION_ACTION akan diperlukan.

Untuk informasi selengkapnya tentang opsi lain yang dapat Anda tentukan saat membuat VM, lihat Membuat dan memulai instance VM.

Terraform

Untuk membuat VM menggunakan Terraform, gunakan resource google_compute_instance.

  • Untuk membuat VM yang otomatis dihentikan setelah durasi tertentu, Anda harus menyertakan argumen max_run_duration.
  • Untuk menentukan tindakan penghentian, sertakan argumen instance_termination_action. Anda harus menyertakan argumen instance_termination_action kecuali jika Anda membuat Spot VM (tetapkan argumen provisioning_model ke SPOT), yang secara default dihentikan (STOP).
  • Konfigurasikan argumen on_instance_stop_action:
    • Jika VM memiliki SSD lokal dan tindakan penghentian (argumen instance_termination_action) adalah berhenti (STOP), Anda harus menetapkan argumen on_instance_stop_action ke benar (true).
    • Jika tidak, hapus argumen on_instance_stop_action.

Untuk informasi selengkapnya, lihat dokumentasi Terraform untuk resource google_compute_instance.

REST

Untuk membuat VM dari Compute Engine API, gunakan metode instances.insert. Anda harus menentukan nama, jenis mesin, dan disk booting untuk VM.

Untuk membuat VM yang otomatis dihentikan setelah durasi tertentu, Anda harus menyertakan kolom maxRunDuration. Untuk menentukan tindakan penghentian, sertakan kolom instanceTerminationAction, yang bersifat opsional untuk Spot VM.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "maxRunDuration":
    {
      "seconds": DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

Ganti properti berikut:

  • PROJECT_ID: Project ID dari project tempat VM dibuat.
  • ZONE: Zona untuk membuat VM. Zona tersebut juga harus mendukung jenis mesin yang akan digunakan untuk VM baru.
  • MACHINE_TYPE: Jenis mesin yang telah ditentukan atau kustom untuk VM baru.
  • VM_NAME: nama VM baru.
  • IMAGE_PROJECT: Project yang berisi image. Misalnya, jika Anda menetapkan family/debian-10 sebagai image, tetapkan debian-cloud sebagai project image.
  • IMAGE: Image untuk VM baru. Anda dapat menentukan versi tertentu dari image publik atau kelompok image. Misalnya, jika Anda menentukan family/debian-10 sebagai image dan debian-cloud sebagai project image, Compute Engine akan membuat VM dari versi terbaru OS image dalam kelompok image Debian 10.
  • DURATION: Durasi dalam detik yang Anda inginkan untuk VM ini dijalankan sebelum dihentikan secara otomatis. Durasi minimum adalah 30 detik (30s) dan durasi maksimum adalah 120 hari (120d).
  • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:
    • Jika ini adalah Spot VM (jika VM menggunakan kolom "provisioningModel": "SPOT"), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan bersifat opsional. Jika kolom ini dihilangkan, tindakan penghentian default adalah berhenti.
    • Jika tidak (default), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan diperlukan.

Untuk informasi selengkapnya tentang opsi yang dapat Anda tentukan saat membuat VM, lihat Membuat dan memulai instance VM.

Menyetel waktu

Waktu mewakili tanggal, waktu, dan zona waktu kapan Anda ingin VM dihentikan. Untuk membuat VM yang otomatis dihentikan pada waktu tertentu, gunakan Konsol Google Cloud, Google Cloud CLI, atau Compute Engine API.

Konsol

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

    Buka halaman Buat instance

  2. Di bagian Kebijakan ketersediaan, luaskan Setelan lanjutan model penyediaan VM.

  3. Pilih kotak centang Set a time limit for the VM. Kolom Jenis batas waktu akan muncul.

  4. Di kolom Time limit type, pilih By date untuk menentukan batas waktu sebagai waktu dan tanggal. Di kolom berikut, klik Select date and time, lalu pilih tanggal, waktu, dan zona waktu untuk batas waktu.

  5. Dalam daftar On VM termination, pilih apa yang terjadi saat waktu proses VM mencapai batas waktu yang ditentukan:

    • Untuk menghentikan VM secara otomatis, pilih Stop (default).
    • Untuk menghapus VM, pilih Delete.
  6. Opsional: Tentukan opsi VM lainnya. Untuk mengetahui informasi selengkapnya, baca Membuat dan memulai instance VM.

  7. Untuk membuat dan meluncurkan VM, klik Create.

gcloud

Untuk membuat VM dari gcloud CLI, gunakan perintah gcloud compute instances create.

  • Untuk membuat VM yang otomatis dihentikan pada waktu tertentu, Anda harus menyertakan flag --termination-time.
  • Untuk menentukan tindakan penghentian, sertakan flag --instance-termination-action, yang bersifat opsional untuk VM Spot.
  • Konfigurasikan flag --discard-local-ssds-at-termination-timestamp:
    • Jika VM memiliki SSD lokal dan menetapkan tindakan penghentian (TERMINATION_ACTION) untuk berhenti (STOP), Anda harus menyertakan flag --discard-local-ssds-at-termination-timestamp=true.
    • Jika tidak, hapus flag --discard-local-ssds-at-termination-timestamp.
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Ganti kode berikut:

  • VM_NAME: nama VM baru.
  • TIME: Waktu Anda ingin VM ini dihentikan secara otomatis. Waktu yang Anda tentukan harus minimal 30 detik di masa mendatang dan maksimum 120 hari di masa mendatang. Format waktu sebagai stempel waktu RFC 3339:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Ganti properti berikut:

    • YYYY-MM-DD: Tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan yang dipisahkan dengan tanda hubung.
    • HH:MM:SS: Waktu yang diformat sebagai 2 digit jam menggunakan waktu 24 jam, 2 digit menit, dan 2 digit detik yang dipisahkan oleh titik dua.
    • OFFSET: Zona waktu yang diformat sebagai penyeimbang Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC). Misalnya, untuk menggunakan Waktu Standar Pasifik (PST), yang 8 jam lebih awal dari UTC, tentukan -08:00. Atau, untuk tidak menggunakan penyeimbang (UTC+0), tentukan Z.
  • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:

    • Jika ini adalah Spot VM (jika VM menggunakan flag --provisioning-model=SPOT), flag --instance-termination-action=TERMINATION_ACTION akan bersifat opsional. Jika flag ini dihilangkan, tindakan penghentian default adalah berhenti.
    • Jika tidak (default), flag --instance-termination-action=TERMINATION_ACTION akan diperlukan.

Untuk informasi selengkapnya tentang opsi lain yang dapat Anda tentukan saat membuat VM, lihat Membuat dan memulai instance VM.

REST

Untuk membuat VM dari Compute Engine API, gunakan metode instances.insert. Anda harus menentukan nama, jenis mesin, dan disk booting untuk VM.

Untuk membuat VM yang otomatis dihentikan pada waktu tertentu, Anda harus menyertakan kolom terminationTime. Untuk menentukan tindakan penghentian, sertakan kolom instanceTerminationAction, yang bersifat opsional untuk Spot VM.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "terminationTime": "TIME",
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

Ganti properti berikut:

  • PROJECT_ID: Project ID dari project tempat VM dibuat.
  • ZONE: Zona untuk membuat VM. Zona tersebut juga harus mendukung jenis mesin yang akan digunakan untuk VM baru.
  • MACHINE_TYPE: Jenis mesin yang telah ditentukan atau kustom untuk VM baru.
  • VM_NAME: nama VM baru.
  • IMAGE_PROJECT: Project yang berisi image. Misalnya, jika Anda menetapkan family/debian-10 sebagai image, tetapkan debian-cloud sebagai project image.
  • IMAGE: Image untuk VM baru. Anda dapat menentukan versi tertentu dari image publik atau kelompok image. Misalnya, jika Anda menentukan family/debian-10 sebagai image dan debian-cloud sebagai project image, Compute Engine akan membuat VM dari versi terbaru OS image dalam kelompok image Debian 10.
  • TIME: Waktu Anda ingin VM ini dihentikan secara otomatis. Waktu yang Anda tentukan harus minimal 30 detik di masa mendatang dan maksimum 120 hari di masa mendatang. Format waktu sebagai stempel waktu RFC 3339:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Ganti properti berikut:

    • YYYY-MM-DD: Tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan yang dipisahkan dengan tanda hubung.
    • HH:MM:SS: Waktu yang diformat sebagai 2 digit jam menggunakan waktu 24 jam, 2 digit menit, dan 2 digit detik yang dipisahkan oleh titik dua.
    • OFFSET: Zona waktu yang diformat sebagai penyeimbang Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC). Misalnya, untuk menggunakan Waktu Standar Pasifik (PST), yang 8 jam lebih awal dari UTC, tentukan -08:00. Atau, untuk tidak menggunakan penyeimbang (UTC+0), tentukan Z.
  • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:

    • Jika ini adalah Spot VM (jika VM menggunakan kolom "provisioningModel": "SPOT"), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan bersifat opsional. Jika kolom ini dihilangkan, tindakan penghentian default adalah berhenti.
    • Jika tidak (default), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan diperlukan.

Untuk informasi selengkapnya tentang opsi yang dapat Anda tentukan saat membuat VM, lihat Membuat dan memulai instance VM.

Membatasi waktu proses VM yang ada

Anda dapat membatasi waktu proses VM yang ada dengan memperbarui jadwal VM. Jika Anda belum memahami cara mengonfigurasi setelan untuk batas waktu, tinjau bagian sebelumnya tentang cara membatasi waktu proses VM baru terlebih dahulu.

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau Compute Engine API untuk memperbarui properti terkait penjadwalan VM, seperti yang dijelaskan di bagian ini. Metode ini mengharuskan Anda menghentikan VM terlebih dahulu, lalu memperbarui propertinya, lalu memulai ulang VM. Atau, jika Anda ingin mengupdate properti VM tambahan secara bersamaan dan otomatis menghentikan serta memulai ulang VM, lihat Memperbarui properti instance.

Konsol

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

    Buka halaman VM instances

  2. Di kolom Name, klik nama VM yang ingin Anda perbarui.

  3. Dari halaman VM instance details, selesaikan langkah-langkah berikut:

    1. Jika VM berjalan, klik Stop untuk menghentikan VM.
    2. Untuk mengedit VM, klik Edit.
    3. Di halaman Edit instance, selesaikan langkah-langkah berikut:

      1. Di bagian Availability policies, ubah kotak centang Set a time limit for the VM dan kolom apa pun di bawahnya sesuai keinginan.

        Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi properti untuk batas waktu, lihat membatasi waktu proses VM baru.

      2. Untuk menyimpan perubahan, klik Save.

    4. Opsional: Jika Anda ingin mulai menjalankan VM sekarang, klik Start.

gcloud

Untuk memperbarui batas waktu VM menggunakan gcloud CLI, selesaikan langkah-langkah berikut:

  1. Jika VM berjalan, hentikan VM dengan menggunakan perintah gcloud compute instances stop:

    gcloud compute instances stop VM_NAME
    

    Ganti VM_NAME dengan nama VM yang ingin Anda perbarui.

  2. Perbarui batas waktu VM menggunakan perintah gcloud compute instances set-scheduling.

    gcloud compute instances set-scheduling VM_NAME \
        --max-run-duration=DURATION \
        --termination-time=TIME \
        --instance-termination-action=TERMINATION_ACTION \
        --discard-local-ssds-at-termination-timestamp=true
    

    Konfigurasikan flag berikut:

    • Anda harus menghapus flag --max-run-duration atau flag --termination-time untuk menetapkan batas waktu sebagai waktu atau durasi.
    • Sertakan flag --instance-termination-action untuk menetapkan tindakan penghentian.
    • Jika VM memiliki SSD lokal dan menetapkan tindakan penghentian (TERMINATION_ACTION) untuk berhenti (STOP), Anda harus menyertakan tanda --discard-local-ssds-at-termination-timestamp=true. Jika tidak, hapus flag --discard-local-ssds-at-termination-timestamp=true.

    Kemudian, ganti kode berikut:

    • VM_NAME: Nama VM yang ingin Anda perbarui.
    • DURATION: Durasi yang Anda inginkan untuk VM ini berjalan sebelum dihentikan secara otomatis. Format durasi sebagai jumlah hari, jam, menit, dan detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m untuk durasi 30 menit, atau tentukan 1d2h3m4s untuk durasi 1 hari, 2 jam, 3 menit, dan 4 detik. Durasi minimum adalah 30 detik (30s) dan durasi maksimum adalah 120 hari (120d).
    • TIME: Waktu Anda ingin VM ini dihentikan secara otomatis. Waktu yang Anda tentukan harus minimal 30 detik di masa mendatang dan maksimum 120 hari di masa mendatang. Format waktu sebagai stempel waktu RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti properti berikut:

      • YYYY-MM-DD: tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan yang dipisahkan dengan tanda hubung.
      • HH:MM:SS: waktu yang diformat sebagai 2 digit jam menggunakan waktu 24 jam, 2 digit menit, dan 2 digit detik yang dipisahkan oleh titik dua.
      • OFFSET: zona waktu yang diformat sebagai penyeimbang Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC). Misalnya, untuk menggunakan Waktu Standar Pasifik (PST), yang 8 jam lebih awal dari UTC, tentukan -08:00. Atau, untuk tidak menggunakan penyeimbang (UTC+0), tentukan Z.
    • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:

      • Jika ini adalah Spot VM (jika VM menggunakan flag --provisioning-model=SPOT), flag --instance-termination-action=TERMINATION_ACTION akan bersifat opsional. Jika flag ini dihilangkan, tindakan penghentian default adalah berhenti.
      • Jika tidak (default), flag --instance-termination-action=TERMINATION_ACTION akan diperlukan.
  3. Jika Anda ingin agar VM mulai berjalan, mulai VM dengan menggunakan perintah gcloud compute instances start:

    gcloud compute instances start VM_NAME
    

    Ganti VM_NAME dengan nama VM.

REST

Untuk memperbarui batas waktu VM menggunakan Compute Engine API, selesaikan langkah-langkah berikut:

  1. Jika VM berjalan, hentikan VM dengan menggunakan metode instances.stop:

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

    Ganti properti berikut:

    • PROJECT_ID: Project ID dari project yang berisi VM.
    • ZONE: Zona yang berisi VM.
    • VM_NAME: Nama VM yang ingin Anda perbarui.
  2. Perbarui properti scheduling VM, termasuk kolom untuk batas waktu VM, menggunakan metode instances.setScheduling. Sertakan kolom maxRunDuration atau kolom terminationTime untuk menetapkan batas waktu sebagai durasi atau waktu:

    • Untuk menetapkan durasi, gunakan permintaan berikut:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • Untuk menetapkan waktu, gunakan permintaan berikut:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "terminationTime": "TIME",
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      

    Ganti properti berikut:

    • PROJECT_ID: Project ID dari project tempat VM dibuat.
    • ZONE: Zona untuk membuat VM. Zona tersebut juga harus mendukung jenis mesin yang akan digunakan untuk VM baru.
    • MACHINE_TYPE: Jenis mesin yang telah ditentukan atau kustom untuk VM baru.
    • VM_NAME: nama VM baru.
    • IMAGE_PROJECT: Project yang berisi image. Misalnya, jika Anda menetapkan family/debian-10 sebagai image, tetapkan debian-cloud sebagai project image.
    • IMAGE: Image untuk VM baru. Anda dapat menentukan versi tertentu dari image publik atau kelompok image. Misalnya, jika Anda menentukan family/debian-10 sebagai image dan debian-cloud sebagai project image, Compute Engine akan membuat VM dari versi terbaru OS image dalam kelompok image Debian 10.
    • DURATION: Durasi dalam detik yang Anda inginkan VM ini dijalankan sebelum dihentikan secara otomatis. Durasi minimum adalah 30 detik (30s) dan durasi maksimum adalah 120 hari (120d).
    • TIME: Waktu Anda ingin VM ini dihentikan secara otomatis. Waktu yang Anda tentukan harus minimal 30 detik di masa mendatang dan maksimum 120 hari di masa mendatang. Format waktu sebagai stempel waktu RFC 3339:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Ganti properti berikut:

      • YYYY-MM-DD: Tanggal dengan format 4 digit tahun, 2 digit bulan, dan 2 digit hari dalam sebulan yang dipisahkan dengan tanda hubung.
      • HH:MM:SS: Waktu yang diformat sebagai 2 digit jam menggunakan waktu 24 jam, 2 digit menit, dan 2 digit detik yang dipisahkan oleh titik dua.
      • OFFSET: Zona waktu yang diformat sebagai penyeimbang Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC). Misalnya, untuk menggunakan Waktu Standar Pasifik (PST), yang 8 jam lebih awal dari UTC, tentukan -08:00. Atau, untuk tidak menggunakan penyeimbang (UTC+0), tentukan Z.
    • TERMINATION_ACTION: Tindakan penghentian untuk VM ini, yang dapat berupa hentikan (STOP) atau hapus (DELETE). Berdasarkan model penyediaan VM, kolom ini mungkin wajib diisi atau memiliki nilai default:

      • Jika ini adalah Spot VM (jika VM menggunakan kolom "provisioningModel": "SPOT"), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan bersifat opsional. Jika kolom ini dihilangkan, tindakan penghentian default adalah berhenti.
      • Jika tidak (default), kolom "instanceTerminationAction": "TERMINATION_ACTION" akan diperlukan.
  3. Jika Anda ingin agar VM mulai berjalan, mulai VM dengan menggunakan metode instances.start:

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

    Ganti properti berikut:

    • PROJECT_ID: project ID dari project yang berisi VM.
    • ZONE: zona yang berisi VM.
    • VM_NAME: nama VM.

Memantau waktu proses VM

Anda dapat memantau waktu proses VM yang memiliki batas waktu dengan menggunakan opsi berikut:

  • Untuk melihat kapan VM yang sedang berjalan dijadwalkan untuk dihentikan secara otomatis, lihat stempel waktu penghentian VM:

    1. Lihat detail VM.
    2. Pada output, lihat kolom VM untuk stempel waktu penghentian:
      • Jika Anda menggunakan konsol Google Cloud, lihat kolom Durasi maksimum.
      • Jika Anda menggunakan Google Cloud CLI atau Compute Engine API, lihat kolom terminationTimestamp.
  • Untuk memverifikasi apakah VM dihentikan secara otomatis, lihat operasi VM:

    1. Melihat operasi VM.
    2. Dalam output, Anda dapat mengidentifikasi operasi VM yang disebabkan oleh batas waktu dengan mencari jenis operasi berikut:

      • compute.instances.deferredStop menunjukkan tindakan penghentian otomatis karena penghentian
      • compute.instances.deferredDelete menunjukkan tindakan penghentian otomatis karena penghapusan

Langkah selanjutnya