Dokumen ini menjelaskan cara menghentikan virtual machine (VM) secara otomatis dalam grup instance terkelola (MIG) dengan menentukan batas waktu untuk VM. Dokumen ini juga menjelaskan cara kerja batas waktu untuk VM di MIG.
Anda dapat mengoptimalkan workload sementara dengan menentukan batas waktu untuk VM dalam MIG. Saat VM mencapai batas waktunya, MIG akan otomatis menghentikan (menghapus) VM tersebut. Membatasi waktu proses VM di MIG dengan batas waktu membantu meminimalkan biaya dan mengosongkan kuota.
Untuk mempelajari cara menentukan batas waktu bagi VM mandiri, lihat Membatasi waktu proses VM. Jika Anda ingin MIG menambahkan atau menghapus VM secara otomatis berdasarkan beban kerja Anda, lihat Menskalakan otomatis grup instance.
Sebelum memulai
-
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Batas waktu sebagai durasi operasi
- Batas waktu sebagai waktu penghentian
Buat template instance dengan durasi operasi untuk VM atau dengan waktu penghentian untuk VM.
Gunakan template instance untuk membuat MIG atau memperbarui MIG yang ada.
Anda harus mematuhi batasan untuk membatasi waktu proses VM mandiri.
Saat Anda membuat template instance untuk menentukan batas waktu bagi VM di MIG, batasan berikut berlaku:
- Anda tidak dapat menetapkan tindakan penghentian ke
STOP
. MIG hanya mendukungDELETE
. - Anda tidak dapat menggunakan Spot VM.
- Anda tidak dapat menetapkan tindakan penghentian ke
Anda tidak dapat membuat permintaan pengubahan ukuran di MIG yang menggunakan template instance yang membatasi waktu proses VM.
Anda tidak dapat membatasi waktu proses VM di MIG regional dengan bentuk distribusi target
EVEN
dan redistribusi instance proaktif yang diaktifkan.Di konsol Google Cloud, buka halaman Instance templates.
Klik Create instance template.
Pilih Lokasi sebagai berikut:
- Jika Anda ingin menggunakan template instance di seluruh region, pilih Global.
- Jika Anda ingin mengurangi dependensi lintas region, pilih Regional.
Jika Anda memilih regional, pilih Region tempat Anda ingin membuat template instance.
Di bagian Kebijakan ketersediaan, luaskan Setelan lanjutan VM provisioning model.
Centang kotak Set a time limit for the VM.
Di kolom Time limit type, pilih By hours (default) untuk menentukan batas waktu sebagai durasi. Di kolom berikutnya, masukkan durasi dalam jam.
Dalam daftar Pada penghentian VM, pilih Hapus.
Untuk kolom lainnya, terima nilai default atau ubah sesuai kebutuhan.
Klik Create.
INSTANCE_TEMPLATE_NAME
: nama template instance.DURATION
: durasi yang Anda inginkan untuk menjalankan VM. MIG akan otomatis menghapus VM setelah durasi yang ditentukan.Format durasi sebagai jumlah hari, jam, menit, dan detik, yang masing-masing diikuti dengan
d
,h
,m
, dans
. Misalnya, tentukan30m
untuk durasi 30 menit, atau tentukan1d2h3m4s
untuk durasi 1 hari, 2 jam, 3 menit, dan 4 detik. Durasi minimum adalah 30 detik (30s
) dan durasi maksimum adalah 120 hari (120d
).PROJECT_ID
: ID project tempat Anda ingin membuat template instance.INSTANCE_TEMPLATE_NAME
: nama template instance.MACHINE_TYPE
: jenis mesin bawaan atau kustom untuk VM dalam grup.IMAGE_PROJECT
: project image yang berisi image; misalnya,debian-cloud
.IMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari hal berikut:IMAGE
: versi tertentu dari image OS; misalnya,debian-10-buster-v20200309
.IMAGE_FAMILY
: kelompok image. Tindakan ini menentukan OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukanfamily/debian-10
, versi terbaru dalam kelompok image Debian 10 akan digunakan.
DURATION
: durasi yang Anda inginkan untuk menjalankan VM. MIG akan otomatis menghapus VM setelah durasi yang ditentukan.Format durasi sebagai jumlah hari, jam, menit, dan detik, yang masing-masing diikuti dengan
d
,h
,m
, dans
. Misalnya, tentukan30m
untuk durasi 30 menit, atau tentukan1d2h3m4s
untuk durasi 1 hari, 2 jam, 3 menit, dan 4 detik. Durasi minimum adalah 30 detik (30s
) dan durasi maksimum adalah 120 hari (120d
).Di konsol Google Cloud, buka halaman Instance templates.
Klik Create instance template.
Pilih Lokasi sebagai berikut:
- Jika Anda ingin menggunakan template instance di seluruh region, pilih Global.
- Jika Anda ingin mengurangi dependensi lintas region, pilih Regional.
Jika Anda memilih regional, pilih Region tempat Anda ingin membuat template instance.
Di bagian Kebijakan ketersediaan, luaskan Setelan lanjutan VM provisioning model.
Di kolom Time limit type, pilih By date untuk menentukan batas waktu sebagai waktu dan tanggal. Di kolom berikutnya, klik
Select date and time, lalu pilih tanggal, waktu, dan zona waktu untuk penghentian otomatis.Dalam daftar Pada penghentian VM, pilih Hapus.
Untuk kolom lainnya, terima nilai default atau ubah sesuai kebutuhan.
Klik Create.
INSTANCE_TEMPLATE_NAME
: nama template instance.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), tentukanZ
.
PROJECT_ID
: ID project tempat Anda ingin membuat template instance.INSTANCE_TEMPLATE_NAME
: nama template instance.MACHINE_TYPE
: jenis mesin bawaan atau kustom untuk VM dalam grup.IMAGE_PROJECT
: project image yang berisi image; misalnya,debian-cloud
.IMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari hal berikut:IMAGE
: versi tertentu dari image OS; misalnya,debian-10-buster-v20200309
.IMAGE_FAMILY
: kelompok image. Tindakan ini menentukan OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukanfamily/debian-10
, versi terbaru dalam kelompok image Debian 10 akan digunakan.
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), tentukanZ
.
Batas waktu sebagai durasi proses (
maxRunDuration
):terminationTimestamp
VM = Waktu pembuatan atau mulai VM terbaru +maxRunDuration
Saat Anda menentukan durasi, stempel waktu penghentian ditetapkan secara relatif terhadap waktu pembuatan atau waktu mulai VM terbaru. Jika VM dibuat ulang, dimulai ulang, dilanjutkan, atau diganti, stempel waktu penghentian akan dihitung ulang. Stempel waktu penghentian dapat bervariasi di seluruh VM dalam MIG berdasarkan waktu saat setiap VM terakhir kali dibuat atau dimulai. Misalnya, jika VM diperbaiki, stempel waktu penghentian VM akan dihitung ulang dengan menambahkan durasi ke waktu VM dibuat ulang selama perbaikan.
Batas waktu sebagai waktu penghentian (
terminationTime
):terminationTimestamp
dari VM =terminationTime
Saat Anda menentukan waktu, stempel waktu penghentian akan ditetapkan ke waktu tersebut, asalkan waktunya di masa mendatang. Jika waktu penghentian telah berlalu, tindakan MIG apa pun yang mencoba membuat, memulai ulang, atau mengganti VM akan gagal dengan error. Untuk mengatasi error tersebut, Anda harus membuat template instance baru dengan waktu penghentian pada masa mendatang dan menerapkan template tersebut ke MIG. Jika Anda ingin menggunakan properti template yang ada di template baru, maka buat template instance berdasarkan template yang ada.
- Pelajari skenario dasar untuk membuat MIG.
- Pelajari cara menerapkan template instance baru ke MIG yang ada.
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.
Membatasi waktu proses VM di MIG
Anda dapat membatasi waktu proses VM di MIG dengan menentukan batas waktu di template instance yang digunakan untuk MIG. Saat MIG membuat VM berdasarkan template, batas waktu akan diterapkan ke setiap VM.
Anda dapat menentukan salah satu dari dua jenis batas waktu:
Untuk menentukan batas waktu bagi VM di MIG, ikuti langkah-langkah berikut:
Batasan
Membuat template instance dengan durasi operasi untuk VM
Untuk menghentikan VM secara otomatis di MIG setelah berjalan selama durasi tertentu, tetapkan durasi operasi maksimum (
maxRunDuration
) di template instance.Konsol
gcloud
Gunakan perintah
instance-templates create
. Untuk menghapus VM secara otomatis setelah durasi tertentu, sertakan flag--max-run-duration
dan tetapkan flag--instance-termination-action
keDELETE
sebagai berikut:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Ganti kode berikut:
Terraform
Untuk membuat template instance menggunakan Terraform, gunakan resource
google_compute_instance_template
. Untuk membuat template instance yang otomatis menghapus VM setelah durasi tertentu, Anda harus menyertakan argumenmax_run_duration
dan menetapkan argumeninstance_termination_action
keDELETE
.Untuk informasi selengkapnya, lihat dokumentasi Terraform untuk resource
google_compute_instance_template
.REST
Gunakan metode
instanceTemplates.insert
. Untuk menghapus VM secara otomatis setelah durasi tertentu, sertakan kolommaxRunDuration
dan tetapkan kolominstanceTerminationAction
keDELETE
sebagai berikut:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "DELETE" } } }
Ganti kode berikut:
Membuat template instance dengan waktu penghentian untuk VM
Untuk menghentikan VM di MIG secara otomatis pada waktu tertentu, tetapkan waktu penghentian (
terminationTime
) di template instance. Anda dapat menetapkan tanggal dan waktu saat Anda ingin MIG menghentikan VM.Konsol
gcloud
Gunakan perintah
instance-templates create
. Untuk menghapus VM secara otomatis pada waktu tertentu, sertakan flag--termination-time
dan tetapkan flag--instance-termination-action
keDELETE
sebagai berikut:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Ganti kode berikut:
REST
Gunakan metode
instanceTemplates.insert
. Untuk menghapus VM secara otomatis pada waktu tertentu, sertakan kolomterminationTime
dan tetapkan kolominstanceTerminationAction
keDELETE
sebagai berikut:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
Ganti kode berikut:
Cara kerja batas waktu untuk VM di MIG
Saat Anda menentukan batas waktu untuk VM dalam MIG, waktu saat MIG akan menghentikan VM akan otomatis ditetapkan di kolom stempel waktu penghentian (
terminationTimestamp
) VM.Berdasarkan jenis batas waktu yang Anda tentukan, stempel waktu penghentian VM ditetapkan sebagai berikut:
Selama pembaruan VM, stempel waktu penghentian tidak berubah. Misalnya, jika Anda menetapkan tingkat gangguan untuk update ke
REFRESH
, stempel waktu penghentian akan dipertahankan setiap kali MIG mengupdate VM.Saat Anda menangguhkan atau menghentikan VM di MIG, stempel waktu penghentian akan otomatis dihapus, terlepas dari jenis batas waktu. Saat Anda melanjutkan atau memulai VM, stempel waktu penghentian akan ditetapkan lagi berdasarkan jenis batas waktu seperti yang dijelaskan sebelumnya di bagian ini.
Cara kerja penskalaan otomatis saat batas waktu ditetapkan
Penskalaan otomatis memungkinkan MIG Anda menambahkan atau menghapus VM secara otomatis berdasarkan peningkatan atau penurunan beban. Saat MIG menghapus VM yang telah mencapai stempel waktu penghentiannya, MIG akan membuat VM baru untuk mempertahankan ukuran yang direkomendasikan oleh autoscaler. VM baru berjalan selama batas waktu yang ditentukan. Jika rekomendasi autoscaler adalah mengurangi jumlah VM, MIG akan menghapus VM bahkan sebelum mencapai batas waktunya.
Jika Anda telah mengonfigurasi jadwal penskalaan, VM hanya akan berjalan hingga akhir jadwal atau hingga VM mencapai stempel waktu penghentiannya, mana saja yang tercapai terlebih dahulu.
Langkah selanjutnya
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 2024-11-27 UTC.
-