Dokumen ini menjelaskan cara menghentikan atau memulai ulang instance Compute Engine. Untuk mempelajari lebih lanjut cara menangguhkan, menghentikan, atau mereset instance, lihat Menangguhkan, menghentikan, atau mereset instance Compute Engine.
Menghentikan instance berguna saat Anda tidak lagi menggunakannya, atau untuk mengubah propertinya—misalnya, untuk mengubah jenis mesinnya, atau menghapus disk yang terpasang dan ter-mount. Setelah menghentikan instance, Anda dapat melakukan hal berikut:
Mulai ulang untuk melanjutkan beban kerja Anda.
Hapus jika Anda tidak lagi memerlukannya.
Untuk mengotomatiskan penghentian atau memulai ulang instance, lihat artikel berikut:
Sebelum memulai
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- Tetapkan region dan zona default.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Go
Untuk menggunakan contoh Go di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk menggunakan contoh Node.js di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk menggunakan contoh PHP di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menghentikan atau memulai ulang instance komputasi, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menghentikan atau memulai ulang instance komputasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghentikan atau memulai ulang instance komputasi:
-
Untuk menghentikan instance:
compute.instances.stoppada instance -
Untuk menghentikan instance dari OS tamu:
compute.instances.setMetadatapada instance jika menggunakan kunci SSH publik level instance. -
Untuk memulai ulang instance:
compute.instances.startpada instance -
Untuk memulai ulang instance yang menggunakan kunci enkripsi:
compute.instances.startWithEncryptionKeydi instance
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menghentikan instance
Saat Anda menghentikan instance komputasi, atau Compute Engine melakukannya untuk tindakan terjadwal, instance akan mempertahankan resource terlampir, setelan konfigurasi, alamat IP internal, alamat MAC, dan metadata. Namun, instance kehilangan data dalam memori dan status aplikasinya. Jika Anda perlu mempertahankan status ini, maka tangguhkan instance sebagai gantinya.
Anda dapat menghentikan instance menggunakan metode berikut, bergantung pada apakah instance memiliki disk SSD Lokal yang terpasang dan cara Anda ingin menangani skrip penonaktifan:
Menghentikan instance tanpa disk SSD Lokal
Anda dapat menghentikan satu atau beberapa instance secara bersamaan yang tidak memiliki disk SSD Lokal terpasang. Semua skrip shutdown dalam instance harus selesai berjalan dalam periode shutdown default.
Menghentikan instance dengan disk SSD Lokal
Saat menghentikan satu atau beberapa instance secara bersamaan yang memiliki disk SSD Lokal terpasang, Anda dapat memilih untuk menghapus atau menyimpan (Pratinjau) data di disk tersebut. Semua skrip penonaktifan di instance harus selesai dijalankan dalam periode penonaktifan default.
Menghentikan instance dari OS tamu
Dengan pendekatan ini, Anda dapat menghentikan satu instance hanya setelah skrip shutdown selesai berjalan, atau, jika Anda mengaktifkan shutdown yang benar, menghentikan instance tanpa menghentikannya dengan benar, atau mengakhiri shutdown yang benar yang sedang berlangsung. Kecuali jika Anda mencadangkan data secara manual dari disk SSD Lokal yang terpasang ke volume penyimpanan yang andal, menghentikan instance dari dalam disk OS tamu akan menghapus data apa pun di disk tersebut.
Menghentikan instance tanpa disk SSD Lokal
Bergantung pada tindakan yang ingin Anda lakukan saat menghentikan instance, gunakan opsi berikut:
Jika Anda telah mengaktifkan penghentian yang benar di instance, Anda dapat menghentikan instance tanpa menghentikannya dengan benar atau mengakhiri penghentian yang benar yang sedang berlangsung menggunakan konsol Google Cloud , gcloud CLI, atau REST API.
Untuk menghentikan beberapa instance secara bersamaan, gunakan Google Cloud konsol atau, untuk instance yang berada di zona yang sama, gcloud CLI.
Untuk menghentikan satu atau beberapa instance, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Pilih instance yang sedang berjalan untuk dihentikan.
Klik Hentikan. Jika tidak ada opsi Hentikan, klik Tindakan lainnya > Hentikan.
Dalam dialog, lakukan hal berikut:
Opsional: Untuk menghentikan instance tanpa mematikannya dengan benar, atau mengakhiri penonaktifan yang sedang berlangsung dengan benar, centang kotak Lewati penonaktifan yang benar (jika berlaku).
Untuk mengonfirmasi, klik Hentikan.
gcloud
Untuk menghentikan satu atau beberapa instance di zona yang sama, gunakan
perintah gcloud compute instances stop:
gcloud compute instances stop INSTANCE_NAMES \
--zone=ZONE
Ganti kode berikut:
INSTANCE_NAMES: daftar nama instance yang dipisahkan oleh spasi—misalnya,instance-01 instance-02 instance-03.ZONE: zona tempat instance berada.
Atau, jika Anda telah mengaktifkan penonaktifan yang benar di satu atau beberapa instance,
Anda dapat menghentikan instance tanpa menonaktifkannya dengan benar, atau
mengakhiri penonaktifan yang benar yang sedang berlangsung secara manual. Untuk melakukannya, gunakan
perintah gcloud beta compute instances stop
dengan flag --no-graceful-shutdown:
gcloud beta compute instances stop INSTANCE_NAMES \
--no-graceful-shutdown \
--zone=ZONE
Go
Java
Node.js
PHP
Python
REST
Untuk menghentikan instance, buat permintaan POST ke
metode instances.stop:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
Ganti kode berikut:
INSTANCE_NAME: nama instance.PROJECT_ID: ID project tempat instance berada.ZONE: zona tempat instance berada.
Secara opsional, jika Anda telah mengaktifkan penonaktifan yang benar di instance, Anda dapat menghentikan
instance tanpa menonaktifkannya dengan benar, atau mengakhiri penonaktifan yang benar
yang sedang berlangsung secara manual. Untuk melakukannya, buat permintaan POST ke metode instances.stop.
Di URL permintaan, sertakan parameter kueri noGracefulShutdown=true:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop?noGracefulShutdown=true
Menghentikan instance dengan disk SSD Lokal
Bergantung pada tindakan yang ingin Anda lakukan saat menghentikan instance komputasi, gunakan opsi berikut:
Jika Anda telah mengaktifkan penonaktifan yang benar di instance, Anda dapat menghentikan instance tanpa menonaktifkannya dengan benar atau mengakhiri penonaktifan yang benar yang sedang berlangsung menggunakan konsol Google Cloud , gcloud CLI, atau REST API.
Untuk mempertahankan data disk SSD Lokal yang terpasang ke instance (kecuali jenis mesin yang menggunakan SSD Titanium), hentikan instance menggunakan gcloud CLI atau REST API.
Untuk menghentikan beberapa instance secara bersamaan, gunakan Google Cloud konsol atau, untuk instance yang berada di zona yang sama, gcloud CLI.
Untuk menghentikan satu atau beberapa instance yang memiliki disk SSD Lokal terpasang, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Pilih instance yang sedang berjalan untuk dihentikan.
Klik Hentikan. Jika tidak ada opsi Hentikan, klik Tindakan lainnya > Hentikan.
Dalam dialog, lakukan hal berikut:
Opsional: Untuk menghentikan instance tanpa mematikannya dengan benar, atau mengakhiri penonaktifan yang sedang berlangsung dengan benar, centang kotak Lewati penonaktifan yang benar (jika berlaku).
Untuk mengonfirmasi, klik Hentikan.
gcloud
Saat menghentikan satu atau beberapa instance di zona yang sama yang memiliki disk SSD Lokal terpasang, tentukan apakah akan menghapus atau mempertahankan data SSD Lokal sebagai berikut:
Untuk menghapus data SSD Lokal, gunakan perintah
gcloud compute instances stopdengan flag--discard-local-ssd=true:gcloud compute instances stop INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONEUntuk mempertahankan data SSD Lokal, gunakan perintah
gcloud beta compute instances stopdengan flag--discard-local-ssd=false:gcloud beta compute instances stop INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
Ganti kode berikut:
INSTANCE_NAMES: daftar nama instance yang dipisahkan oleh spasi—misalnya,instance-01 instance-02 instance-03.ZONE: zona tempat instance berada.
Secara opsional, jika Anda telah mengaktifkan penonaktifan yang benar di satu atau beberapa instance,
Anda dapat menghentikan instance tanpa menonaktifkannya dengan benar, atau mengakhiri
penonaktifan yang benar yang sedang berlangsung. Untuk melakukannya, gunakan
perintah gcloud beta compute instances stop
dengan flag --no-graceful-shutdown:
gcloud beta compute instances stop INSTANCE_NAMES \
--discard-local-ssd=DISCARD_LOCAL_SSD \
--no-graceful-shutdown \
--zone=ZONE
Ganti DISCARD_LOCAL_SSD dengan true untuk menghapus data
di disk SSD Lokal, atau false untuk mempertahankan data.
REST
Saat menghentikan instance yang memiliki disk SSD Lokal terpasang, tentukan apakah akan menghapus atau mempertahankan data SSD Lokal sebagai berikut:
Untuk menghapus data SSD Lokal, buat permintaan
POSTke metodeinstances.stop. Di URL permintaan, sertakan parameter kueridiscardLocalSsdyang ditetapkan ketrue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop?discardLocalSsd=trueUntuk menyimpan data SSD Lokal, buat permintaan
POSTke metodebeta.instances.stop. Di URL permintaan, sertakan parameter kueridiscardLocalSsdyang ditetapkan kefalse:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop?discardLocalSsd=false
Ganti kode berikut:
PROJECT_ID: ID project tempat instance berada.ZONE: zona tempat instance berada.INSTANCE_NAME: nama instance.
Atau, jika Anda telah mengaktifkan penonaktifan yang tuntas di instance, Anda dapat
menghentikan instance tanpa menonaktifkannya secara tuntas, atau mengakhiri penonaktifan tuntas yang sedang berlangsung secara manual. Untuk melakukannya, buat permintaan POST ke metode instances.stop.
Di URL permintaan, sertakan parameter kueri noGracefulShutdown=true:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop?discardLocalSsd=DISCARD_LOCAL_SSD&noGracefulShutdown=true
Ganti DISCARD_LOCAL_SSD dengan true untuk menghapus data
di disk SSD Lokal, atau false untuk mempertahankan data.
Menghentikan instance dari OS tamu
Jika instance komputasi memiliki disk SSD Lokal yang terpasang, menonaktifkan OS tamu akan otomatis menghapus data SSD Lokal. Untuk menyimpan data ini, salin data secara manual ke opsi penyimpanan persisten sebelum menghentikan instance.
Untuk menghentikan instance dari OS tamu, pilih salah satu opsi berikut:
Linux
Jika Anda belum melakukannya, hubungkan ke instance.
Untuk menghentikan instance, pilih salah satu metode berikut:
Untuk penonaktifan bersih yang memungkinkan instance menjalankan skrip penonaktifan sebelum menonaktifkan OS tamu, jalankan perintah berikut:
sudo shutdown -h nowJika tidak, untuk mematikan secara paksa, jalankan perintah berikut:
sudo poweroff
Windows
Jika Anda belum melakukannya, hubungkan ke instance menggunakan salah satu metode berikut:
Untuk menghentikan instance, pilih salah satu metode berikut:
Untuk menghentikan instance secara bersih dan membiarkan instance menjalankan skrip shutdown sebelum mematikan OS tamu, jalankan perintah berikut:
shutdown /sUntuk mematikan secara paksa, jalankan perintah berikut:
shutdown /f
Memulai ulang instance
Anda dapat memulai ulang instance komputasi yang telah dihentikan sepenuhnya, yaitu saat status instance adalah TERMINATED.
Jika Anda memilih untuk mempertahankan data disk SSD Lokal saat menghentikan instance, Anda mungkin perlu memasang kembali disk SSD Lokal setelah memulai ulang instance. Untuk mengetahui informasi selengkapnya tentang cara memasang disk SSD Lokal, lihat Memformat dan memasang perangkat SSD Lokal.
Untuk memulai ulang instance, gunakan salah satu metode berikut berdasarkan apakah instance memiliki disk terenkripsi yang terpasang:
Jika instance Anda tidak memiliki disk terenkripsi yang terpasang, lihat Mulai ulang instance tanpa disk terenkripsi.
Jika tidak, lihat Memulai ulang instance dengan disk terenkripsi.
Memulai ulang instance tanpa disk terenkripsi
Untuk memulai ulang beberapa instance secara bersamaan di berbagai zona, gunakan konsol Google Cloud . Untuk instance yang berada dalam zona yang sama, Anda dapat menggunakan gcloud CLI. Jika tidak, untuk skenario mulai ulang lainnya, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Pilih satu atau beberapa instance.
Klik Mulai / Lanjutkan.
gcloud
Untuk memulai ulang satu atau beberapa instance di zona yang sama, gunakan
perintah gcloud compute instances start:
gcloud compute instances start INSTANCE_NAMES \
--zone=ZONE
Ganti kode berikut:
INSTANCE_NAMES: daftar nama instance yang dipisahkan oleh spasi—misalnya,instance-01 instance-02 instance-03.ZONE: zona tempat instance berada.
Go
Java
Node.js
PHP
Python
REST
Untuk memulai ulang instance, buat permintaan POST ke
metode instances.start:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
Ganti kode berikut:
INSTANCE_NAME: nama instance yang akan dimulai ulang.PROJECT_ID: ID project tempat instance berada.ZONE: zona tempat instance berada.
Memulai ulang instance dengan disk terenkripsi
Saat memulai ulang instance komputasi yang dihentikan dan memiliki disk terlampir yang dienkripsi menggunakan kunci enkripsi yang disediakan pelanggan, Anda harus memberikan informasi kunci enkripsi.
Untuk memulai ulang beberapa instance secara bersamaan di berbagai zona, gunakan konsol Google Cloud . Untuk instance yang berada dalam zona yang sama, Anda dapat menggunakan gcloud CLI. Jika tidak, untuk skenario mulai ulang lainnya, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Pilih instance yang akan dimulai ulang.
Klik Mulai / Lanjutkan.
Tentukan kunci enkripsi untuk setiap disk terenkripsi yang terpasang ke instance, lalu klik Mulai.
gcloud
Untuk memulai ulang satu atau beberapa instance yang menggunakan disk terenkripsi di zona yang sama,
gunakan
perintah gcloud compute instances start
dengan flag --csek-key-file. Jika Anda menggunakan kunci yang digabungkan RSA, maka
gunakan
perintah gcloud beta compute instances start
dengan flag --csek-key-file:
gcloud compute instances start INSTANCE_NAMES \
--csek-key-file=ENCRYPTION_KEY_FILE \
--zone=ZONE
Ganti kode berikut:
INSTANCE_NAMES: daftar nama instance yang dipisahkan oleh spasi—misalnya,instance-01 instance-02 instance-03.ENCRYPTION_KEY_FILE: jalur relatif ke file JSON yang berisi kunci enkripsi yang disediakan pelanggan. Anda hanya dapat me-restart beberapa instance secara bersamaan jika instance menggunakan kunci enkripsi yang disediakan pelanggan yang sama.ZONE: zona tempat instance berada.
Go
Java
Node.js
PHP
Python
REST
Untuk memulai ulang instance yang menggunakan disk terenkripsi, buat permintaan POST ke
metode instances.startWithEncryptionKey:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/startWithEncryptionKey
{
"disks": [
{
"source": "DISK_URL",
"diskEncryptionKey": {
"ENCRYPTION_TYPE": "ENCRYPTION_KEY"
}
}
]
}
Ganti kode berikut:
PROJECT_ID: ID project tempat instance berada.ZONE: zona tempat instance berada.INSTANCE_NAME: nama instance.DISK_URL: URL resource yang sesuai dengan nama lengkap resource dari 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 ini:rawKey,kmsKeyName, ataursaEncryptedKey. Jika Anda menggunakan jenisrsaEncryptedKey, buat permintaanPOSTke metodebeta.instances.startWithEncryptionKey.ENCRYPTION_KEY: kunci enkripsi yang digunakan untuk mengenkripsi persistent disk yang terpasang ke instance. KuncirawKeyataursaEncryptedKeyharus berenkode base64. Selain itu, untuk menyiapkan kuncirsaEncryptedKey, lihat Penggabungan kunci RSA.