Dokumen ini menjelaskan cara menghentikan, memulai ulang, mereset, atau memulai ulang instance mesin virtual (VM) secara manual. Operasi ini berguna dalam skenario berikut:
Hentikan VM jika Anda tidak lagi menggunakannya, atau jika Anda ingin mengubah satu atau beberapa propertinya. Misalnya, jika Anda ingin mengganti nama VM, mengubah jenis mesinnya, menambahkan atau menghapus disk yang terpasang, atau mengubah platform CPU minimum. Setelah menghentikan VM, mulai ulang untuk melanjutkan beban kerja atau hapus VM jika Anda tidak lagi memerlukannya.
Reset VM jika, misalnya, VM tidak responsif atau sistem operasi (OS) tamu mengalami error. Setelah mereset VM, Anda dapat melanjutkan beban kerja.
Mulai ulang VM dari dalam OS tamu jika, misalnya, Anda ingin menghapus total memori VM dan melakukan inisialisasi ulang ke status booting aslinya. Setelah memulai ulang VM dari dalam OS tamunya, Anda dapat melanjutkan beban kerja.
Sebelum memulai
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
Go
Untuk menggunakan contoh Go di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk menggunakan contoh Java di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk menggunakan contoh Node.js di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk menggunakan contoh PHP di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk menggunakan contoh Python di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menghentikan dan memulai ulang VM,
minta administrator untuk memberi Anda peran IAM
Admin Instance Compute (v1) (roles/compute.instanceAdmin.v1
) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menghentikan dan memulai ulang VM. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghentikan dan memulai ulang VM:
-
Untuk menghentikan VM:
compute.instances.stop
di VM -
Untuk menghentikan VM dari dalam OS tamu:
compute.instances.setMetadata
pada VM jika menggunakan kunci SSH publik level instance. -
Untuk memulai ulang VM:
compute.instances.start
di VM -
Untuk memulai ulang VM yang menggunakan kunci enkripsi:
compute.instances.startWithEncryptionKey
di VM -
Untuk mereset VM:
compute.instances.reset
di VM -
Untuk memulai ulang VM dari dalam OS tamu:
compute.instances.setMetadata
di VM
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Menghentikan VM
Saat Anda menghentikan VM yang berjalan, hal berikut akan terjadi:
Compute Engine mengirimkan sinyal penonaktifan ACPI ke VM, dan menunggu beberapa saat agar OS tamu melakukan penonaktifan bersih. Kemudian, Compute Engine menetapkan status VM ke
STOPPING
terlebih dahulu, lalu mentransisikannya keTERMINATED
dalam satu menit.VM direset ke keadaan menyala dan menyimpan IP internal, alamat MAC, setelan konfigurasi, dan metadatanya. Namun, VM kehilangan data dalam memori dan status VM-nya. Jika Anda perlu mempertahankan data dalam memori dan status VM, tangguhkan VM.
Selain itu, jika Anda memasang resource apa pun ke VM, resource tersebut tetap
terlampir sampai Anda melepasnya secara manual atau Anda menghapus VM. Jika VM memiliki disk SSD Lokal yang terpasang, menghentikan VM akan menghapus semua data pada disk SSD Lokal secara default. Untuk menyimpan data pada disk SSD Lokal, Anda harus menghentikan VM menggunakan gcloud CLI dengan flag --discard-local-ssd=false
.
Untuk mengetahui informasi selengkapnya, baca
Menghentikan VM dengan SSD Lokal.
Untuk menghentikan VM, pilih salah satu metode yang dijelaskan dalam dokumen ini:
Setelah menghentikan VM, Anda dapat memulai ulang atau menghapusnya. Jika Anda tidak berencana memulai ulang VM, sebaiknya hapus VM.
Menghentikan VM melalui Google Cloud
Untuk menghentikan lebih dari satu VM sekaligus, gunakan konsol Google Cloud.
Konsol
Untuk menghentikan satu atau beberapa VM, lakukan langkah berikut:
Di konsol Google Cloud, buka halaman Instance VM.
Pilih VM yang akan dihentikan.
Klik
Hentikan, lalu klik Stop untuk mengonfirmasi.
gcloud
Untuk menghentikan VM, gunakan
perintah gcloud compute instances stop
.
gcloud compute instances stop VM_NAME \
--project=PROJECT_ID \
--zone=ZONE
Ganti kode berikut:
VM_NAME
: nama VM.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Jika Anda memasang disk SSD Lokal ke VM dan ingin mempertahankan data SSD Lokal setelah menghentikan VM, gunakan perintah gcloud beta compute instances stop
dengan flag --discard-local-ssd=false
.
gcloud beta compute instances stop VM_NAME \
--discard-local-ssd=false \
--project=PROJECT_ID \
--zone=ZONE
Go
Java
Node.js
PHP
Python
REST
Untuk menghentikan VM, buat permintaan POST
ke
metode instances.stop
.
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Ganti kode berikut:
VM_NAME
: nama VM.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Menghentikan VM dari dalam OS tamu
Untuk menghentikan VM dari dalam OS tamu saat Anda terhubung ke VM, pilih salah satu tab berikut.
Linux
Untuk menghentikan VM Linux, pilih salah satu metode berikut:
Untuk penonaktifan bersih yang memungkinkan VM menjalankan skrip penonaktifan sebelum mengirim sinyal penonaktifan ACPI ke VM, jalankan perintah berikut:
sudo shutdown -h now
Jika tidak, untuk mematikan paksa, jalankan perintah berikut:
sudo poweroff
Windows
Untuk menghentikan VM Windows, pilih salah satu metode berikut:
Untuk penonaktifan bersih yang memungkinkan VM menjalankan skrip penonaktifan sebelum mengirim sinyal penonaktifan ACPI ke VM, jalankan perintah berikut:
shutdown /s
Jika tidak, untuk mematikan paksa, jalankan perintah berikut:
shutdown /f
Memulai ulang VM
Anda dapat memulai ulang VM yang dihentikan hanya jika VM tersebut dalam status TERMINATED
. Untuk memulai ulang VM, pilih salah satu metode berikut yang dijelaskan dalam dokumen ini:
Memulai ulang VM tanpa disk terenkripsi
Mulai ulang VM yang dihentikan yang tidak menggunakan disk terenkripsi apa pun (default). Untuk memulai ulang lebih dari satu VM sekaligus, gunakan Konsol Google Cloud.
Konsol
Untuk memulai ulang satu atau beberapa VM, lakukan langkah berikut:
Di konsol Google Cloud, buka halaman Instance VM.
Pilih satu atau beberapa VM.
Klik
Start / Resume.
gcloud
Untuk memulai ulang VM, gunakan
perintah gcloud compute instances start
.
gcloud compute instances start VM_NAME \
--project=PROJECT_ID \
--zone=ZONE
Ganti kode berikut:
VM_NAME
: nama VM.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Go
Java
Node.js
PHP
Python
REST
Untuk memulai ulang VM, buat permintaan POST
ke
metode instances.start
.
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Ganti kode berikut:
VM_NAME
: nama VM yang akan dimulai ulang.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Memulai ulang VM yang menggunakan disk terenkripsi
Anda dapat memulai ulang VM yang dihentikan dan menggunakan kunci enkripsi yang disediakan pelanggan untuk mengenkripsi persistent disk yang terpasang ke VM.
Konsol
Untuk memulai ulang VM yang menggunakan disk terenkripsi, lakukan langkah berikut:
Di konsol Google Cloud, buka halaman Instance VM.
Pilih VM untuk memulai ulang.
Klik
Start / Resume.Tentukan kunci enkripsi untuk setiap disk terenkripsi yang terpasang ke VM ini, lalu klik Start.
gcloud
Untuk memulai ulang VM yang menggunakan disk terenkripsi, gunakan
perintah gcloud compute instances start
dengan tanda --csek-key-file
. Jika Anda menggunakan kunci yang digabungkan RSA, gunakan
perintah gcloud beta compute instances start
sebagai gantinya.
gcloud compute instances start VM_NAME \
--csek-key-file=ENCRYPTION_KEY_FILE \
--project=PROJECT_ID \
--zone=ZONE
Ganti kode berikut:
VM_NAME
: nama VM.ENCRYPTION_KEY_FILE
: jalur relatif ke file JSON yang berisi kunci enkripsi yang diberikan pelanggan.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Go
Java
Node.js
PHP
Python
REST
Untuk memulai ulang VM yang menggunakan disk terenkripsi, buat permintaan POST
ke
metode instances.startWithEncryptionKey
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/startWithEncryptionKey
{
"disks": [
{
"source": "DISK_URL",
"diskEncryptionKey": {
"ENCRYPTION_TYPE": "ENCRYPTION_KEY"
}
}
]
}
Ganti kode berikut:
PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.VM_NAME
: nama VM.DISK_URL
: URL resource yang sesuai dengan nama resource lengkap disk yang terpasang yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan.ENCRYPTION_TYPE
: jenis enkripsi disk yang Anda gunakan, yang dapat berupa salah satu dari berikut:rawKey
,kmsKeyName
, ataursaEncryptedKey
. Jika menggunakan jenisrsaEncryptedKey
, Anda harus membuat permintaanPOST
ke API beta, bukan API v1.ENCRYPTION_KEY
: kunci enkripsi yang digunakan untuk mengenkripsi persistent disk yang terpasang di VM. KuncirawKey
ataursaEncryptedKey
harus dienkode base64. Selain itu, untuk menyiapkan kuncirsaEncryptedKey
, lihat penggabungan kunci RSA.
Mereset VM
Mereset VM yang berjalan mirip dengan mereset ke setelan pabrik di komputer Anda, misalnya saat Anda menekan tombol reset atau menekan dan menahan tombol daya. Saat mereset VM, Anda tidak memberikan waktu kepada VM untuk melakukan penonaktifan OS tamu secara bersih. Akibatnya, tindakan ini mungkin merusak sistem file {i>disk<i}. Google Cloud merekomendasikan untuk mereset VM hanya jika OS tamu mengalami error dan Anda tidak memiliki opsi lain. Jika Anda ingin menginisialisasi ulang VM dan melakukan penonaktifan bersih, baca bagian Memulai ulang VM dalam dokumen ini.
Saat Anda mereset VM, hal berikut akan terjadi:
VM melakukan inisialisasi ulang ke status booting awal dengan metadata, image, dan persistent disk asli.
VM akan menghapus total isi memori mesin secara paksa, kecuali jika Anda mencadangkan data.
Status VM tetap
RUNNING
selama proses berlangsung.
Mereset VM tidak mengubah properti VM apa pun. VM mempertahankan IP efemeral, IP eksternal statis, persistent disk, disk SSD lokal (jika ada), dan jenis mesin.
Konsol
Untuk mereset satu atau beberapa VM yang berjalan, lakukan tindakan berikut:
Di konsol Google Cloud, buka halaman Instance VM.
Pilih VM yang akan direset.
Klik Reset, lalu klik Reset lagi.
gcloud
Untuk mereset VM yang berjalan, gunakan
perintah gcloud compute instances reset
.
gcloud compute instances reset VM_NAME \
--project=PROJECT_ID \
--zone=ZONE
Ganti kode berikut:
VM_NAME
: nama VM.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Go
Java
Node.js
PHP
Python
REST
Untuk mereset VM yang berjalan, buat permintaan POST
ke
metode instances.reset
.
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reset
Ganti kode berikut:
VM_NAME
: nama VM.PROJECT_ID
: ID project tempat VM berada.ZONE
: zona tempat VM berada.
Memulai ulang VM
Saat Anda memulai ulang VM dari dalam OS tamu, hal berikut akan terjadi:
VM melakukan inisialisasi ulang ke status booting awal dengan metadata, image, dan persistent disk asli.
VM akan menghapus total isi memori mesin, kecuali jika Anda mencadangkan data.
Status VM tetap
RUNNING
selama proses berlangsung.
Dibandingkan dengan mereset VM, memulai ulang VM dari dalam OS tamu akan menunggu VM menyelesaikan semua tugas yang berjalan sebelum mengirim sinyal penonaktifan ACPI ke VM. Tindakan ini memungkinkan VM melakukan penonaktifan bersih.
Memulai ulang VM tidak akan mengubah properti VM apa pun. VM mempertahankan IP efemeral, IP eksternal statis, persistent disk, disk SSD lokal (jika ada), dan jenis mesin.
Linux
Untuk mereset VM Linux, mulai ulang OS tamu dengan menjalankan perintah berikut:
sudo reboot
Windows
Untuk mereset VM Windows, mulai ulang OS tamu dengan menjalankan perintah berikut:
shutdown /r /t 0
Secara opsional, untuk memantau proses penonaktifan dan memulai ulang VM, aktifkan menu Windows Boot Manager.
Penagihan
Setelah VM dihentikan dan Compute Engine menetapkan statusnya ke TERMINATED
, Anda tidak lagi dikenai biaya atas penggunaan CPU. Namun, Anda akan terus dikenai biaya untuk resource apa pun yang terpasang pada VM, seperti persistent disk dan alamat IP eksternal.
Agar tidak lagi menimbulkan biaya untuk resource yang terpasang pada VM, lakukan salah satu hal berikut:
Lepaskan resource tersebut dari VM yang dihentikan.
Menghapus VM. Tindakan ini juga akan menghapus semua resource yang terpasang pada VM.
Langkah selanjutnya
Pelajari cara menjadwalkan VM untuk dimulai dan berhenti secara otomatis.
Pelajari cara membatasi runtime VM.
Pelajari cara memecahkan masalah VM setelah tiba-tiba mati dengan melakukan salah satu hal berikut:
Pecahkan masalah VM menggunakan konsol serial interaktif.
Pelajari cara mengubah jenis mesin di VM.