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 beberapa kolom selama pembuatan instance jika ingin mengubah properti 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 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.
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.
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 .
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.
Di menu Create VM from ..., pilih Instance templates.
Di jendela Create VM from template yang muncul, lakukan langkah berikut:
Pilih template.
Untuk membuat dan memulai VM, klik Create.
gcloud
Untuk membuat VM dari template instance regional atau global, gunakan
perintah gcloud compute instances create
yang sama seperti yang Anda gunakan untuk membuat instance normal, tetapi tambahkan
flag --source-instance-template:
gcloud compute instances create VM_NAME \
--source-instance-template INSTANCE_TEMPLATE_URL
Ganti kode berikut:
VM_NAME: nama instance.INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:- Untuk template instance regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Untuk template instance global:
INSTANCE_TEMPLATE_ID
- Untuk template instance regional:
Contoh:
gcloud compute instances create example-instance \
--source-instance-template 1234567890
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_URL
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/1234567890.
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/1234567890
{ "name": "example-instance" }
Membuat instance VM dari template instance dengan penggantian
Saat Anda menggunakan template instance untuk memulai instance VM, perilaku defaultnya adalah membuat instance VM persis seperti yang dijelaskan dalam template instance dengan pengecualian nama dan zona instance.
Jika Anda ingin membuat instance yang utamanya berdasarkan 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.
Konsol
Di konsol Google Cloud , buka halaman Create an instance.
Di menu Create VM from ..., pilih Instance templates.
Di jendela Create VM from template yang muncul, pilih template, lalu klik Customize.
Opsional: Tentukan opsi konfigurasi lainnya. Untuk mengetahui informasi selengkapnya, lihat Opsi konfigurasi selama pembuatan instance.
Untuk membuat dan memulai instance, klik Create.
gcloud
Dengan menggunakan 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, berikan flag berikut untuk mengganti jenis mesin, metadata, sistem operasi, boot disk Persistent Disk, dan disk sekunder template instance:
gcloud compute instances create example-instance \
--source-instance-template 1234567890 --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 diganti dalam isi permintaan saat membuat permintaan normal untuk membuat instance.
Perilaku penggantian dalam 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 sebagainya. - 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,disksdannetworkInterfacesadalah 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 memberikan seluruh spesifikasi
disks dalam permintaan, termasuk disk yang ingin Anda pertahankan.
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/1234567890
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 berikutnya
- Baca dokumentasi Instance preemptible VM.
- Baca Skrip penonaktifan.
- Lihat harga instance preemptible.
- Terhubung ke instance.