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 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
-
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.admin
compute.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 Enable deletion protection.
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 menghapus 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 selanjutnya
- Pelajari cara menghentikan instance.
- Hapus instance jika Anda tidak lagi memerlukannya.