Dokumen ini menjelaskan cara melindungi instance VM tertentu dari penghapusan dengan menetapkan properti deletionProtection pada resource Instance. Untuk mempelajari instance VM lebih lanjut, baca dokumentasi Instance.
Sebagai bagian dari workload Anda, mungkin ada instance VM tertentu yang sangat penting untuk menjalankan aplikasi atau layanan Anda, seperti instance yang menjalankan server SQL, server yang digunakan sebagai pengelola lisensi, dan sebagainya. Instance VM ini mungkin perlu tetap berjalan tanpa batas waktu, sehingga Anda memerlukan cara untuk melindungi VM ini agar tidak dihapus.
Dengan menetapkan flag deletionProtection, instance VM dapat dilindungi dari penghapusan yang tidak disengaja. Jika pengguna mencoba menghapus instance VM yang telah Anda tetapkan flag deletionProtection-nya, permintaan akan gagal. Hanya pengguna yang telah diberi peran dengan izin compute.instances.create yang dapat mereset flag untuk mengizinkan resource dihapus.
Sebelum memulai
- Baca dokumentasi Instance.
-
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 .
Spesifikasi
Pencegahan penghapusan tidak mencegah tindakan berikut:
- Menghentikan instance dari dalam VM (seperti menjalankan perintah
shutdown) - Menghentikan instance
- Mereset instance
- Menangguhkan instance
- Instance dihapus karena penipuan dan penyalahgunaan setelah terdeteksi oleh Google
- Instance dihapus karena penghentian project
- Menghentikan instance dari dalam VM (seperti menjalankan perintah
Perlindungan penghapusan dapat diterapkan pada VM reguler dan preemptible VM.
Perlindungan penghapusan tidak dapat diterapkan pada VM yang merupakan bagian dari grup instance terkelola, tetapi dapat diterapkan pada instance yang merupakan bagian dari grup instance yang tidak terkelola.
Pencegahan penghapusan tidak dapat ditentukan dalam template instance.
Izin
Untuk melakukan tugas ini, Anda harus telah diberi izin berikut ATAU salah satu dari peran IAM berikut di resource ini.
Izin
compute.instances.create
Peran
compute.admincompute.instanceAdmin.v1
Menetapkan perlindungan penghapusan selama pembuatan instance
Secara default, perlindungan penghapusan dinonaktifkan untuk instance Anda. Aktifkan perlindungan penghapusan menggunakan petunjuk di bawah.
Konsol
Di konsol Google Cloud , buka halaman Create an instance.
Luaskan bagian Advanced options dan lakukan hal berikut:
- Luaskan bagian Management.
- Centang kotak Aktifkan perlindungan penghapusan.
Lanjutkan dengan proses pembuatan VM.
gcloud
Saat membuat instance VM, sertakan flag --deletion-protection atau no-deletion-protection. Perlindungan penghapusan dinonaktifkan secara default sehingga Anda dapat mengaktifkan perlindungan penghapusan:
gcloud compute instances create [INSTANCE_NAME] --deletion-protection
dengan [INSTANCE_NAME] adalah nama instance yang diinginkan.
Untuk menonaktifkan perlindungan penghapusan selama pembuatan:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Go
Java
Node.js
Python
REST
Di API, saat membuat instance VM, sertakan properti deletionProtection dalam isi permintaan Anda. Contoh:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
{
"name": "[INSTANCE_NAME]",
"deletionProtection": "true",
...
}
Untuk menonaktifkan perlindungan penghapusan, tetapkan deletionProtection ke false.
Menentukan apakah instance mengaktifkan perlindungan penghapusan atau tidak
Anda dapat menentukan apakah instance memiliki perlindungan penghapusan yang diaktifkan di gcloud tool
atau di API.
Konsol
Buka halaman VM instances.
Jika diminta, pilih project Anda lalu klik Continue.
Di halaman VM instances, tarik ke bawah menu Columns dan aktifkan Deletion protection.
Kolom baru akan muncul dengan ikon perlindungan penghapusan. Jika VM mengaktifkan perlindungan penghapusan, ikon akan muncul di samping nama instance.
gcloud
Di gcloud CLI, jalankan perintah instances describe dan telusuri kolom perlindungan penghapusan. Contoh:
gcloud compute instances describe example-instance | grep "deletionProtection"
Alat ini menampilkan nilai properti deletionProtection, baik yang ditetapkan
ke true maupun false:
deletionProtection: false
Go
Java
Node.js
Python
REST
Di API, buat permintaan GET dan cari kolom
deletionProtection:
GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Mengaktifkan/menonaktifkan perlindungan penghapusan untuk instance yang ada
Anda dapat mengaktifkan/menonaktifkan perlindungan penghapusan untuk instance yang ada, terlepas dari status instance saat ini. Secara khusus, Anda tidak perlu menghentikan instance sebelum dapat mengaktifkan atau menonaktifkan perlindungan penghapusan.
Konsol
Buka halaman VM instances.
Jika diminta, pilih project Anda lalu klik Continue.
Klik nama instance yang perlindungan penghapusannya ingin Anda aktifkan/nonaktifkan. Halaman detail instance akan ditampilkan.
Dari halaman detail instance, selesaikan langkah-langkah berikut:
- Klik tombol Edit di bagian atas halaman.
Di bagian Deletion Protection, centang kotak untuk mengaktifkan atau hapus centang pada kotak untuk menonaktifkan perlindungan penghapusan.
Simpan perubahan Anda.
gcloud
Dengan gcloud CLI, jalankan perintah update dengan flag --deletion-protection atau --no-deletion-protection:
gcloud compute instances update [INSTANCE_NAME] \
[--deletion-protection | --no-deletion-protection]
Misalnya, untuk mengaktifkan perlindungan penghapusan untuk instance bernama
example-vm:
gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
Di API, buat permintaan POST ke metode setDeletionProtection
dengan parameter kueri deletionProtection. Contoh:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true
Untuk menonaktifkan perlindungan penghapusan, tetapkan deletionProtection ke false. Jangan
berikan isi permintaan bersama permintaan tersebut.
Langkah berikutnya
- Pelajari cara menghentikan instance.
- Hapus instance jika Anda tidak lagi memerlukannya.