Halaman ini menjelaskan cara menggunakan template instance untuk membuat instance VM. Template instance adalah resource API yang menentukan properti instance VM. Anda menentukan properti seperti jenis mesin, image OS, konfigurasi persistent disk, metadata, skrip startup, dan sebagainya, dalam template instance, kemudian dapat menggunakan template instance untuk membuat instance VM individual atau grup instance terkelola.
Saat Anda membuat instance VM dari template instance, perilaku defaultnya adalah membuat instance VM yang identik dengan properti yang ditentukan dalam template tersebut, dengan pengecualian nama instance VM dan zona tempat instance akan aktif. Atau, Anda juga dapat mengganti kolom tertentu selama pembuatan instance jika ingin mengubah properti tertentu dari template instance untuk penggunaan tertentu.
Dokumen ini mengasumsikan bahwa Anda memiliki template instance yang siap digunakan. Jika Anda tidak memiliki template instance, ikuti petunjuk untuk membuat template instance baru.
Sebelum memulai
- Baca dokumentasi Instance Template.
- Membuat template 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.
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
-
Membuat instance VM dari template instance
Anda dapat menggunakan template instance regional atau global untuk membuat instance VM. Untuk membuat instance persis seperti yang dijelaskan dalam template instance, ikuti petunjuk berikut.
Konsol
Di konsol Google Cloud, buka halaman Create an instance.
Klik Instance VM baru dari template.
Pilih template Anda, lalu klik Lanjutkan.
Tentukan nama untuk VM Anda dan lakukan penyesuaian lebih lanjut sesuai kebutuhan.
Klik Create.
Untuk mengetahui detail penyiapan tambahan, lihat Membuat instance VM dari image.
gcloud
Untuk membuat VM dari template instance regional atau global, gunakan perintah gcloud compute instances create
yang sama dengan yang Anda gunakan untuk membuat instance normal, tetapi tambahkan flag --source-instance-template
:
gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Ganti kode berikut:
VM_NAME
: nama instance.INSTANCE_TEMPLATE_NAME
: nama template instance yang akan digunakan. Untuk template instance regional, Anda harus menentukan URL lengkap atau URL sebagian dari template tersebut. Contoh URL lengkap adalahhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
dan URL sebagian adalahprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.
Contoh:
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Go
Java
Node.js
Python
REST
Untuk membuat VM dari template instance regional atau global, buat permintaan normal untuk membuat instance, tetapi sertakan parameter kueri sourceInstanceTemplate
yang diikuti dengan jalur yang memenuhi syarat ke template instance.
POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME
Dalam isi permintaan, berikan name
untuk instance VM:
{ "name": "example-instance" }
Misalnya, cuplikan berikut menyertakan jalur yang sepenuhnya memenuhi syarat ke template: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
.
POST https://compute.googleapis.com/ compute/v1/projects/myproject/zones/us-central1-a/instances?sourceInstanceTemplate= https://compute.googleapis.com/compute/v1/projects/myproject/global/ instanceTemplates/example-instance-template
{ "name": "example-instance" }
Membuat instance VM dari template instance dengan penggantian
Jika Anda menggunakan template instance untuk memulai instance VM, perilaku default-nya adalah membuat instance VM persis seperti yang dijelaskan dalam template instance dengan pengecualian nama instance dan zona.
Jika Anda ingin membuat instance yang utamanya didasarkan pada template instance, tetapi dengan beberapa perubahan, Anda dapat menggunakan perilaku penggantian. Untuk menggunakan perilaku penggantian, teruskan atribut yang akan diganti untuk template instance yang ada saat membuat instance.
gcloud
Dengan gcloud CLI, buat permintaan untuk membuat instance dengan flag --source-instance-template
dan ganti properti apa pun yang Anda inginkan dengan flag gcloud
yang sesuai. Untuk melihat daftar flag yang berlaku, tinjau referensi gcloud
.
Misalnya, sediakan flag berikut untuk mengganti jenis mesin, metadata, sistem operasi, boot disk Persistent Disk, dan disk sekunder dari template instance:
gcloud compute instances create example-instance \ --source-instance-template example-instance --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Go
Java
Node.js
Python
REST
Di API, gunakan parameter kueri sourceInstanceTemplate
dan berikan kolom apa pun yang ingin Anda ganti dalam isi
permintaan saat membuat permintaan normal untuk
membuat instance.
Perilaku penggantian di API mengikuti aturan patch penggabungan JSON, yang dijelaskan oleh RFC 7396.
Secara khusus:
- Jika Anda mengganti kolom dasar, kolom dasar yang terkait dalam template instance akan diganti dengan nilai kolom dasar dalam permintaan. Kolom dasar mencakup
machineType
,sourceImage
,name
, dan seterusnya. - Jika Anda mengganti kolom berulang, semua nilai berulang untuk properti tersebut akan diganti dengan nilai yang sesuai yang diberikan dalam permintaan.
Kolom berulang umumnya merupakan properti dari jenis
list
. Misalnya,disks
dannetworkInterfaces
adalah kolom berulang. - Jika Anda mengganti
nested object
, objek dalam template instance akan digabungkan dengan spesifikasi objek yang sesuai dalam permintaan. Perlu diketahui bahwa jika objek bertingkat berada dalam kolom berulang, kolom tersebut akan diperlakukan sesuai dengan aturan untuk kolom berulang. Label adalah pengecualian untuk aturan ini, dan diperlakukan sebagai kolom berulang meskipun berjenisobject
.
Misalnya, Anda memiliki template instance dengan dua non-boot disk, tetapi Anda ingin mengganti salah satu disk. Anda harus menyediakan seluruh spesifikasi disks
dalam permintaan, termasuk disk apa pun yang ingin disimpan.
URL untuk permintaan ini:
POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances? sourceInstanceTemplate=https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
Isi permintaan:
{ "disks": [ { # Since you are overriding the repeated disk property, you must # specify a boot disk in the request, even if it is already # specified in the instance template "autoDelete": true, "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-8" }, "mode": "READ_WRITE", "type": "PERSISTENT" }, { # New disk you want to use "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-override-disk", "type": "PERSISTENT" }, { # Assume this disk is already specified in instance template, but # you must specify it again since you are overriding the disks # property "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-other-disk-to-keep", "type": "PERSISTENT" } ], "machineType": "zones/us-central1-f/machineTypes/e2-standard-2", "name": "example-instance" }
Langkah selanjutnya
- Baca dokumentasi Instance preemptible VM.
- Baca Skrip penonaktifan.
- Lihat harga preemptible instance.
- Terhubung ke instance.