Halaman ini menjelaskan cara membuat dan mengelola template instance. Dengan template instance, Anda dapat menentukan jenis mesin, boot disk image, jaringan, dan properti VM lainnya yang ingin digunakan saat membuat instance virtual machine (VM).
Anda dapat menggunakan template instance untuk melakukan hal berikut:
- Buat VM individual.
- Buat VM di grup instance terkelola (MIG).
- Buat reservasi untuk VM.
- Buat reservasi masa mendatang untuk VM.
Sebelum memulai
- Baca kapan dan alasan untuk membuat template instance deterministik.
- Baca tentang template instance regional dan global.
-
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.
Terraform
Untuk menggunakan contoh Terraform 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.
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
-
Batasan
- VPC Bersama pada antarmuka selain
nic0
untuk template instance didukung di gcloud CLI dan REST, tetapi tidak di Google Cloud Console. - Anda tidak dapat memperbarui template instance yang ada atau mengubah template instance setelah dibuat. Jika template instance sudah tidak berlaku atau Anda perlu mengubah konfigurasi, buat template instance baru.
- Jika ingin menentukan kelompok image dalam template instance, Anda tidak dapat menggunakan konsol Google Cloud. Anda dapat menggunakan Google Cloud CLI atau REST sebagai gantinya.
- Jika ingin menentukan Persistent Disk regional dalam template instance, Anda tidak dapat menggunakan Konsol Google Cloud. Sebagai gantinya, Anda dapat menggunakan Google Cloud CLI atau REST.
Membuat template instance
Sebagian besar properti VM yang dapat Anda tentukan dalam permintaan untuk membuat instance VM individual juga dapat ditentukan untuk template instance, termasuk metadata VM, skrip startup, persistent disk, akun layanan, dan seterusnya. Anda harus menentukan jenis mesin, boot disk, dan jaringan.
Buat template instance regional atau global melalui Konsol Google Cloud, Google Cloud CLI, atau API. Untuk membuat template instance global, Anda juga dapat menggunakan Terraform atau Library Klien Cloud.
Konsol
Di konsol Google Cloud, buka halaman Instance templates.
Langkah-langkah selanjutnya akan muncul secara otomatis di konsol Google Cloud.
- Klik
Buat template instance . - Pilih Lokasi sebagai berikut:
- Jika Anda ingin menggunakan template instance di seluruh region, pilih Global.
- Jika Anda ingin mengurangi dependensi lintas region, pilih Regional.
- Jika Anda memilih regional, pilih Region tempat Anda ingin membuat template instance.
Untuk kolom berikut, terima nilai default atau ubah sesuai kebutuhan. Nilai default berubah berdasarkan kelompok mesin yang Anda pilih.
- Pilih
Jenis mesin . - Untuk memperbarui image atau jenis boot disk, di bagian
Boot disk , klik Ubah. - Untuk memperbarui antarmuka jaringan atau setelan alamat IP, klik
Opsi lanjutan , klik Networking, lalu klik antarmuka jaringan yang ingin Anda edit.
- Pilih
Opsional: Jika Anda memilih image yang mendukung Shielded VM, ubah setelan Shielded VM instance:
- Klik Opsi lanjutan, lalu klik tab Keamanan.
- Jika Anda ingin menonaktifkan Booting Aman, hapus centang pada kotak Aktifkan Booting Aman. Booting Aman membantu melindungi instance VM Anda dari malware dan rootkit level booting dan level kernel. Untuk informasi selengkapnya, lihat Booting aman.
Jika Anda ingin menonaktifkan virtual trusted platform module (vTPM), hapus centang pada kotak Aktifkan vTPM. vTPM mengaktifkan Booting terukur, yang memvalidasi integritas pra-booting dan booting VM. Untuk mengetahui informasi selengkapnya, lihat Virtual Trusted Platform Module (vTPM).
Jika Anda ingin menonaktifkan pemantauan integritas, hapus centang pada kotak Aktifkan Pemantauan Integritas. Dengan pemantauan integritas, Anda dapat memantau integritas booting instance Shielded VM menggunakan Cloud Monitoring. Untuk mengetahui informasi selengkapnya, lihat Pemantauan integritas.
Opsional: Pada bagian Opsi lanjutan, klik tab untuk menyesuaikan template lebih lanjut. Misalnya, Anda dapat menambahkan hingga 15 disk non-boot sekunder.
Opsional: Klik Equivalent REST untuk melihat isi permintaan REST, yang menyertakan representasi JSON dari template instance Anda.
Klik Buat untuk membuat template.
gcloud
Untuk membuat template instance regional atau global, gunakan perintah instance-templates create
.
Untuk template instance regional, Anda harus menggunakan flag --instance-template-region
untuk menetapkan region template.
Buat template instance regional menggunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION
Buat template instance global menggunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
Jika Anda tidak menyediakan setelan template eksplisit, gcloud compute
akan menggunakan
nilai default berikut:
- Jenis mesin: jenis mesin—misalnya,
n1-standard-1
- Image: image Debian terbaru
- Boot disk: boot disk standar baru yang diberi nama berdasarkan VM
- Jaringan: jaringan VPC default
- Alamat IP: alamat IP eksternal sementara
Anda juga dapat secara eksplisit menyediakan setelan konfigurasi ini. Contoh:
gcloud compute instance-templates create example-template-custom \ --machine-type=e2-standard-4 \ --image-family=debian-10 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Anda dapat menambahkan hingga 15 disk non-boot sekunder. Tentukan flag --create-disk
untuk setiap disk sekunder yang Anda buat. Untuk membuat disk sekunder dari image publik atau kustom, tentukan properti image
dan image-project
untuk setiap disk dalam flag --create-disk
. Untuk membuat disk kosong, jangan
sertakan properti ini. Secara opsional, sertakan properti untuk disk size
dan type
. Untuk menentukan persistent disk regional, gunakan properti replica-zones
.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --create-disk= \ image-family=DISK_IMAGE_FAMILY, \ image-project=DISK_IMAGE_PROJECT, \ size=SIZE_GB_DISK1 \ --create-disk= \ device-name=DISK_NAME,type=DISK_TYPE, \ size=SIZE_GB_DISK2 \ replica-zones=^:^ZONE:REMOTE_ZONE, \ boot=false
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama untuk templateREGION
: region tempat Anda ingin membuat template instance regionalIMAGE_FAMILY
: kelompok image untuk digunakan sebagai disk non-bootUntuk mengetahui informasi selengkapnya tentang kelompok image, lihat praktik terbaik saat menggunakan kelompok image di Compute Engine.
Sebagai gantinya, Anda dapat menggunakan flag
--image=IMAGE
untuk menentukan versi image tertentu.Untuk disk kosong, jangan tentukan properti
image-family
atauimage
.DISK_IMAGE_PROJECT
: project image yang berisi imageUntuk disk yang kosong, jangan tentukan properti
image-project
. Untuk mengetahui informasi selengkapnya tentang image publik, lihat Image publik.SIZE_GB_DISK1
danSIZE_GB_DISK2
: ukuran setiap disk sekunderDISK_NAME
: Opsional: nama disk yang ditampilkan ke OS tamu setelah VM dibuat.DISK_TYPE
: Opsional: jenis disk yang akan dibuat. Jika tidak ditentukan, defaultnya adalahpd-standard
ataupd-balanced
, bergantung pada jenis mesinnya.ZONE
danREMOTE_ZONE
: zona untuk membuat Persistent Disk regional dan zona untuk mereplikasinya.Untuk disk zona, jangan sertakan properti
replica-zones
.
Jika memilih image yang mendukung Shielded VM, Anda juga dapat mengubah setelan Shielded VM instance menggunakan salah satu flag berikut:
--no-shielded-secure-boot
: menonaktifkan Booting AmanBooting Aman membantu melindungi instance VM Anda dari malware dan rootkit level booting dan level kernel. Untuk informasi selengkapnya, lihat Booting Aman.
--no-shielded-vtpm
: menonaktifkan virtual trusted platform module (vTPM)vTPM mengaktifkan Booting Terukur, yang memvalidasi integritas pra-booting dan booting VM. Untuk mengetahui informasi selengkapnya, lihat Virtual Trusted Platform Module (vTPM).
--no-shielded-integrity-monitoring
: menonaktifkan pemantauan integritasDengan pemantauan integritas, Anda dapat memantau integritas booting instance Shielded VM menggunakan Cloud Monitoring. Untuk mengetahui informasi selengkapnya, lihat Pemantauan integritas.
Untuk mengetahui daftar semua subperintah dan flag yang tersedia, lihat
referensi instance-templates
.
Template dengan setelan konfigurasi default mungkin terlihat seperti berikut:
gcloud compute instance-templates describe example-template
creationTimestamp: '2019-09-10T16:18:32.042-07:00' description: '' id: '6057583701980539406' kind: compute#instanceTemplate name: example-template properties: canIpForward: false disks: - autoDelete: true boot: true initializeParams: sourceImage: https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-10 kind: compute#attachedDisk mode: READ_WRITE type: PERSISTENT machineType: e2-standard-2 networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat type: ONE_TO_ONE_NAT network: https://compute.googleapis.com/compute/v1/projects/myproject/global/networks/default scheduling: automaticRestart: true onHostMaintenance: MIGRATE serviceAccounts: - email: default scopes: - https://www.googleapis.com/auth/devstorage.read_only selfLink: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-template
Terraform
Untuk membuat template instance, Anda dapat menggunakan resource
google_compute_instance_template
.
Contoh Terraform berikut mirip dengan perintah gcloud CLI berikut:
gcloud compute instance-templates create my-instance-template \ --machine-type=e2-standard-4 \ --image-family=debian-9 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Go
Java
Node.js
Python
REST
Untuk membuat template instance regional, buat permintaan POST
ke metode regionInstanceTemplates.insert
seperti berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
Untuk membuat template instance global, buat permintaan POST
ke metode instanceTemplates.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Anda dapat menambahkan hingga 15 disk non-boot sekunder menggunakan properti disks
, dengan kolom untuk setiap disk tambahan. Untuk setiap
disk tambahan, Anda dapat melakukan hal berikut:
- Buat disk tambahan dengan image publik atau kustom.
- Untuk menambahkan disk kosong, tentukan entri
initializeParams
tanpa nilaisourceImage
. - Untuk membuat persistent disk regional, tentukan entri
initializeParams
dengan propertireplicaZones
.
Dalam isi permintaan, berikan properti template:
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } }, { "type": "PERSISTENT", "boot": false, "deviceName": "DISK_NAME", "initializeParams": { "replicaZones": [ "projects/PROJECT_NAME/zones/ZONE", "projects/PROJECT_NAME/zones/REMOTE_ZONE" ] } } ] } }
Ganti kode berikut:
PROJECT_ID
: project id AndaREGION
: region tempat Anda ingin membuat template instance regionalINSTANCE_TEMPLATE_NAME
: nama template instanceZONE
: zona tempat VM beradaMACHINE_TYPE
: jenis mesin VM-
IMAGE_PROJECT
: project image yang berisi imageUntuk informasi selengkapnya tentang image publik, lihat Image publik.
-
IMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari hal berikut:-
IMAGE
: versi gambar tertentuMisalnya,
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
-
IMAGE_FAMILY
: kelompok imageIni akan membuat VM dari OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukan
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine akan membuat VM dari versi image OS terbaru dalam kelompok image Debian 10.Untuk mengetahui informasi selengkapnya tentang kelompok image, lihat praktik terbaik saat menggunakan kelompok image di Compute Engine.
-
DISK_NAME
: Opsional: nama disk yang ditampilkan ke OS tamu setelah VM dibuat.PROJECT_NAME
: project yang terkait dengan VMREMOTE_ZONE
: zona tempat disk regional harus direplikasi
Anda dapat menentukan salah satu opsi berikut untuk properti disks
:
Tentukan
initializeParams
untuk membuat persistent boot disk untuk setiap instance. Anda dapat menambahkan hingga 15 disk non-boot sekunder menggunakan propertiinitializeParams
untuk setiap disk tambahan. Anda dapat membuat disk menggunakan image publik atau kustom (atau kelompok image) disourceImage
seperti yang ditunjukkan pada contoh sebelumnya. Untuk menambahkan disk kosong, jangan tentukansourceImage
.Tentukan
source
untuk memasang persistent boot disk yang ada. Jika memasang boot disk yang sudah ada, Anda hanya dapat membuat satu instance dari template.
Secara opsional, Anda dapat menentukan properti diskSizeGb
, diskType
, dan labels
untuk initializeParams
dan properti diskSizeGb
untuk
source
.
Jika memilih image yang mendukung Shielded VM, Anda juga dapat mengubah setelan Shielded VM instance dengan menggunakan item isi permintaan Boolean berikut:
enableSecureBoot
: mengaktifkan atau menonaktifkan Booting AmanBooting Aman membantu melindungi instance VM Anda dari malware dan rootkit level booting dan level kernel. Untuk informasi selengkapnya, lihat Booting Aman.
enableVtpm
: mengaktifkan atau menonaktifkan virtual trusted platform module (vTPM)vTPM mengaktifkan Booting Terukur, yang memvalidasi integritas pra-booting dan booting VM. Untuk mengetahui informasi selengkapnya, lihat Virtual Trusted Platform Module (vTPM).
enableIntegrityMonitoring
: mengaktifkan atau menonaktifkan pemantauan integritasDengan pemantauan integritas, Anda dapat memantau dan memverifikasi integritas booting runtime dari instance Shielded VM menggunakan laporan Cloud Monitoring. Untuk mengetahui informasi selengkapnya, lihat Pemantauan integritas.
Untuk mempelajari parameter permintaan lebih lanjut, lihat metode
instanceTemplates.insert
.
Membuat template instance berdasarkan instance yang ada
Anda dapat menggunakan REST atau gcloud CLI untuk menyimpan konfigurasi instance VM yang ada sebagai template instance. Anda dapat memilih untuk mengganti cara disk sumber ditentukan dalam template.
Jika Anda perlu mengganti properti lain, buat template instance terlebih dahulu berdasarkan instance yang ada, lalu buat template serupa dengan penggantian tambahan.
gcloud
Gunakan
perintah gcloud compute instance-templates create
dengan flag --source-instance
dan --source-instance-zone
. Jika ingin membuat template instance regional, Anda juga harus menggunakan flag --instance-template-region
untuk menentukan region dari template instance.
Untuk membuat template instance regional, gunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --instance-template-region=REGION
Untuk membuat template instance global, gunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE
Untuk mengganti cara penentuan disk instance sumber, tambahkan satu atau beberapa
flag --configure-disk
.
Contoh berikut membuat template instance global dari instance yang ada dan mengganti disk instance sumber dengan spesifikasi yang Anda berikan.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --configure-disk= \ device-name=SOURCE_DISK, \ instantiate-from=INSTANTIATE_OPTIONS, \ auto-delete=AUTO_DELETE
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
adalah nama template yang akan dibuat.SOURCE_INSTANCE
adalah nama instance yang akan digunakan sebagai model untuk template baru.SOURCE_INSTANCE_ZONE
adalah zona yang berisi instance sumber.REGION
adalah region tempat Anda ingin membuat template instance regional.SOURCE_DISK
adalah nama disk instance sumber yang ingin Anda ganti dalam template.INSTANTIATE_OPTIONS
menentukan apakah akan menyertakan disk dan image yang akan digunakan. Nilai yang valid bergantung pada jenis disk:source-image
atausource-image-family
(hanya valid untuk boot dan disk baca/tulis persisten lainnya). Tentukan opsi ini jika Anda ingin menggunakan image sumber atau kelompok image sumber yang sama dengan yang digunakan untuk membuat disk di instance VM sumber.custom-image
(hanya valid untuk disk boot dan baca/tulis persistent lainnya). Jika ingin mempertahankan aplikasi dan setelan dari VM sumber di template instance, Anda dapat membuat image kustom, lalu menentukannya saat membuat template. Jika ditentukan, berikan jalur atau URL untuk image kustom, seperti yang ditunjukkan pada contoh berikut. Atau, Anda dapat menentukan kelompok image menggunakan format berikut:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(hanya valid untuk disk khusus baca).blank
(hanya berlaku untuk persistent disk non-boot dan SSD lokal). Jika ditentukan, saat template digunakan untuk membuat instance baru, disk akan dibuat tanpa format. Anda harus memformat dan memasang disk dalam skrip startup sebelum dapat menggunakannya dalam penyiapan yang skalabel.do-not-include
(hanya valid untuk persistent disk non-boot dan disk khusus baca).
AUTO_DELETE
menentukan apakah disk akan otomatis dihapus saat instance dihapus. Nilai yang valid adalah:false
,no
,true
, danyes
.
Misalnya, perintah berikut membuat template instance berdasarkan
my-source-instance
, dengan opsi untuk menggunakan image asli dari
data-disk-a
, tetapi menyetel hapus otomatis ke true
dan mengganti data-disk-b
dengan image kustom.
gcloud compute instance-templates create my-instance-template \ --source-instance=my-source-instance \ --configure-disk=device-name=data-disk-a,instantiate-from=source-image, \ auto-delete=true --configure-disk=device-name=data-disk-b,instantiate-from=custom-image, \ custom-image=projects/cps-cloud/global/images/cos-89-16108-403-15
Go
Java
Node.js
Python
REST
Untuk membuat template instance regional, gunakan metode regionInstanceTemplates.insert
, atau gunakan metode instanceTemplates.insert
untuk membuat template instance global.
Dalam permintaan, Anda harus menentukan kolom sourceInstance
. Untuk mengganti cara penentuan disk instance sumber, tambahkan satu atau beberapa kolom diskConfigs
.
Misalnya, buat panggilan berikut untuk membuat template instance global dari instance yang ada.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "sourceInstance": "zones/SOURCE_INSTANCE_ZONE/instances/SOURCE_INSTANCE", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "SOURCE_DISK", "instantiateFrom": "INSTANTIATE_OPTIONS", "autoDelete": false } ] } }
Ganti kode berikut:
PROJECT_ID
: project id AndaINSTANCE_TEMPLATE_NAME
: nama untuk template baruSOURCE_INSTANCE_ZONE
: zona instance sumberSOURCE_INSTANCE
: nama instance sumber yang akan digunakan sebagai model untuk template instance iniSOURCE_DISK
: nama disk instance sumber yang ingin diganti dalam templateINSTANTIATE_OPTIONS
: menentukan apakah akan menyertakan disk dan image yang akan digunakanNilai yang valid bergantung pada jenis disk:
source-image
atausource-image-family
(hanya valid untuk disk boot dan baca/tulis persistent lainnya).custom-image
(hanya valid untuk disk boot dan baca/tulis persistent lainnya). Jika ingin mempertahankan aplikasi dan setelan dari VM sumber di template instance, Anda dapat membuat image kustom, lalu menentukannya saat membuat template. Jika ditentukan, berikan jalur atau URL untuk image kustom, seperti yang ditunjukkan pada contoh berikut. Atau, Anda dapat menentukan kelompok image menggunakan format berikut:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(hanya valid untuk disk khusus baca).blank
(hanya berlaku untuk persistent disk non-boot dan SSD lokal). Jika ditentukan, saat template digunakan untuk membuat instance baru, disk akan dibuat tanpa format. Anda harus memformat dan memasang disk dalam skrip startup sebelum dapat menggunakannya dalam penyiapan yang skalabel.do-not-include
(hanya valid untuk persistent disk non-boot dan disk khusus baca).
Contoh berikut membuat template instance baru berdasarkan
my-source-instance
. Dalam template instance, image untuk data-disk-a
diganti dengan projects/cos-cloud/global/images/cos-89-16108-403-15
.
POST https://compute.googleapis.com/compute/v1/projects/my_project/global/instanceTemplates { "name": "my-instance-template", "sourceInstance": "zones/us-central1-a/instances/my-source-instance", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "data-disk-a", "instantiateFrom": "custom-image", "customImage": "projects/cos-cloud/global/images/cos-89-16108-403-15" } ] } }
Tabel berikut menunjukkan cara menentukan opsi untuk mengganti disk di template.
Jenis disk | Opsi |
---|---|
Boot disk |
|
Persistent disk baca/tulis lainnya |
|
Disk khusus baca |
|
SSD Lokal |
|
Untuk setiap disk, Anda juga dapat mengganti atribut auto-delete
untuk menentukan
apakah disk harus dihapus saat instance terkaitnya
dihapus.
Secara default, jika tidak ada opsi penggantian yang ditentukan, konfigurasi disk di template akan cocok dengan instance sumber.
Membuat template instance berdasarkan template yang sudah ada
Anda tidak dapat memperbarui template instance yang sudah ada. Namun, jika template instance sudah usang atau jika Anda perlu membuat perubahan, Anda dapat membuat template lain dengan properti serupa menggunakan konsol.
Buka halaman Template instance.
Klik template instance yang ingin Anda salin dan perbarui.
Klik Buat yang serupa.
Perbarui konfigurasi di template baru.
Klik Create.
Membuat template instance untuk VM GPU
Saat membuat template instance, Anda dapat mengonfigurasinya untuk membuat VM yang telah memasang GPU dengan menentukan hal berikut:
Jenis mesin yang mendukung jenis GPU yang Anda inginkan. Jika Anda ingin membuat template instance regional, jenis GPU yang Anda tentukan dalam template harus tersedia setidaknya di satu zona di region tersebut.
Kebijakan pemeliharaan yang menghentikan VM selama peristiwa pemeliharaan host.
Konsol
Untuk membuat template instance untuk VM GPU, lakukan hal berikut:
Di konsol Google Cloud, buka halaman Instance templates.
Klik Create instance template.
Di kolom Name, masukkan nama untuk template instance.
Di bagian Lokasi, pilih salah satu opsi berikut:
Untuk membuat template instance global, pilih Global (default).
Untuk membuat template instance regional, pilih Regional, lalu pilih region tempat Anda ingin membuat template instance.
Di bagian Machine configuration, lakukan hal berikut:
Klik tab GPU.
Di menu GPU type, pilih jenis GPU.
Di menu Number of GPU, pilih jumlah GPU.
Opsional: Jika model GPU Anda mendukung NVIDIA RTX Virtual Workstations (vWS) untuk workload grafis, dan Anda berencana menjalankan beban kerja grafis yang intensif, pilih Enable Virtual Workstation (NVIDIA GRID).
Di bagian Machine type, pilih jenis mesin.
Opsional: Untuk mengubah jenis atau image boot disk nilai default, di bagian Boot disk, klik Change. Kemudian, ikuti petunjuk untuk mengubah boot disk.
Klik Create.
gcloud
Untuk membuat template instance untuk VM GPU, gunakan
perintah instance-templates create
dengan flag --maintenance-policy
ditetapkan ke TERMINATE
.
Misalnya, untuk membuat template instance global untuk VM GPU, gunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama template instance.MACHINE_TYPE
: jenis mesin VM. Jika Anda menentukan jenis mesin N1, sertakan flag--accelerator
untuk menentukan jumlah dan jenis GPU yang akan dipasang ke VM.
Misalnya, anggap Anda ingin membuat template instance global untuk VM GPU yang menentukan properti berikut:
Jenis mesin N1 yang telah ditetapkan dengan 2 vCPU.
Satu GPU NVIDIA T4 untuk dipasang ke VM.
Debian sebagai project image.
Debian 10 sebagai kelompok image.
Untuk membuat contoh template instance, gunakan perintah berikut:
gcloud compute instance-templates create instance-template-gpu \
--accelerator=count=1,type=nvidia-tesla-t4 \
--machine-type=n1-standard-2 \
--image-family=debian-10 \
--image-project=debian-cloud \
--maintenance-policy=TERMINATE
Terraform
Untuk membuat template instance untuk VM GPU, gunakan
resource google_compute_region_instance_template
.
Misalnya, untuk membuat template instance global, yang menentukan jenis mesin yang telah ditetapkan sebelumnya dengan 2 vCPU dan satu GPU NVIDIA T4 terpasang, gunakan resource berikut:
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Untuk membuat template instance untuk VM GPU, buat permintaan POST
ke
metode instanceTemplates.insert
.
Dalam isi permintaan, sertakan kolom onHostMaintenance
dan tetapkan ke
TERMINATE
.
Misalnya, untuk membuat template instance global untuk VM GPU, buat permintaan POST
sebagai berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"type": "PERSISTENT",
"boot": true,
"mode": "READ_WRITE",
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-IP",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "global/networks/default"
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
}
}
}
Ganti kode berikut:
PROJECT_ID
: ID project tempat Anda ingin membuat template instance.INSTANCE_TEMPLATE_NAME
: nama template instance.IMAGE_PROJECT
: project gambar yang berisi gambar; misalnya,debian-cloud
. Untuk informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.IMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari opsi berikut:IMAGE
: versi OS image tertentu; misalnya,debian-10-buster-v20200309
.IMAGE_FAMILY
: kelompok image. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukandebian-10
, versi terbaru dalam kelompok image Debian 10 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok gambar, lihat Praktik terbaik kelompok gambar.
MACHINE_TYPE
: jenis mesin VM. Jika Anda menentukan jenis mesin N1, sertakan kolomguestAccelerators
untuk menentukan jumlah dan jenis GPU yang akan dipasang ke VM.
Misalnya, anggap Anda ingin membuat template instance global untuk VM GPU yang menentukan properti berikut:
Jenis mesin N1 yang telah ditetapkan dengan 2 vCPU.
Satu GPU NVIDIA T4 untuk dipasang ke VM.
Debian sebagai project image.
Debian 10 sebagai kelompok image.
Untuk membuat contoh template instance, buat permintaan POST
sebagai berikut:
POST https://compute.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates
{
"name": "instance-template-gpu",
"properties": {
"disks": [
{
"type": "PERSISTENT",
"boot": true,
"mode": "READ_WRITE",
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/debian-10"
}
}
],
"guestAccelerators": [
{
"acceleratorType": "nvidia-tesla-t4",
"acceleratorCount": 1
}
],
"machineType": "n1-standard-2",
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-IP",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "global/networks/default"
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
}
}
}
Untuk opsi konfigurasi lainnya saat membuat template instance, lihat artikel Membuat template instance dalam dokumen ini.
Membuat template instance dengan image container
Anda dapat menentukan image container di template instance. Secara default, Compute Engine juga menyertakan Image Container-Optimized OS dalam template dengan Docker terinstal. Saat Anda menggunakan template untuk membuat instance baru, container akan diluncurkan secara otomatis saat instance dimulai.
Konsol
Buka halaman Template instance.
Klik Buat template instance.
Di bagian Container, klik Deploy Container.
Dalam dialog Configure container, tentukan Container image yang akan digunakan.
- Anda dapat menentukan image dari Container Registry atau Artifact Registry.
Contoh:
gcr.io/cloud-marketplace/google/nginx1:TAG
, dengan TAG adalah tag yang ditentukan untuk versi tertentu dari image container NGINX yang tersedia di Google Cloud Marketplace.us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
memilih sampel imagehello-app
yang disimpan di Artifact Registry.
- Jika Anda menggunakan image container dari Docker Hub, selalu tentukan nama lengkap image Docker. Misalnya, tentukan nama image berikut untuk men-deploy image container Apache:
docker.io/httpd:2.4
.
- Anda dapat menentukan image dari Container Registry atau Artifact Registry.
Contoh:
Secara opsional, klik Opsi container lanjutan. Untuk informasi selengkapnya, lihat Mengonfigurasi opsi untuk menjalankan Container.
Klik Buat.
gcloud
Gunakan
perintah gcloud compute instance-templates create-with-container
:
gcloud compute instance-templates create-with-container INSTANCE_TEMPLATE_NAME \ --container-image=CONTAINER_IMAGE
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: Nama template yang akan dibuat.CONTAINER_IMAGE
: Nama lengkap image container yang akan digunakan.
Misalnya, perintah berikut membuat template instance baru bernama nginx-vm
. Instance VM yang dibuat dari template ini akan diluncurkan dan
menjalankan image container, gcr.io/cloud-marketplace/google/nginx1:TAG
,
saat VM dimulai.
gcloud compute instance-templates create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:TAG
Ganti TAG
dengan tag yang ditentukan untuk versi tertentu dari image container NGINX yang tersedia di Google Cloud Marketplace.
Anda juga dapat mengonfigurasi opsi untuk menjalankan container.
Membuat template instance yang menentukan subnet
gcloud
Untuk membuat template instance regional atau global, gunakan perintah instance-templates create
.
Gunakan flag --subnet
untuk menempatkan instance yang dibuat dari template ke dalam subnet pilihan Anda. Flag --subnet
memerlukan flag
--region
.
Jika ingin membuat template instance regional, Anda harus menggunakan flag --instance-template-region
untuk menetapkan region template. Pastikan Anda menggunakan subnet dari region yang sama dengan tempat Anda ingin membuat template instance regional.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=REGION \ --subnet=SUBNET_NAME_OR_URL \ --instance-template-region=INSTANCE_TEMPLATE_REGION
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama untuk template instanceREGION
: region subnetSUBNET_NAME_OR_URL
: nama subnet atau URL-nyaINSTANCE_TEMPLATE_REGION
: region tempat Anda ingin membuat template instance. Nama ini harus sama dengan REGION
Contoh berikut membuat template bernama template-qa
yang hanya membuat instance dalam subnet subnet-us-qa
.
gcloud compute instance-templates create template-qa \
--region=us-central1 \
--subnet=subnet-us-qa
Created [https://compute.googleapis.com/compute/latest/projects/PROJECT_ID/global/instanceTemplates/template-qa].
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP
template-qa e2-standard-2 2019-12-23T20:34:00.791-07:00
Go
Java
Node.js
Python
Menggunakan template ini guna membuat instance untuk MIG (dengan atau tanpa penskalaan otomatis) akan otomatis membuat instance di region dan subnet yang ditentukan. Dengan begitu, Anda dapat mengontrol subnet instance baru yang dibuat untuk load balancing.
Menggunakan image kustom atau image publik di template instance
Anda dapat menggunakan image kustom atau image publik untuk template instance:
Image kustom. Karena MIG didesain untuk sering menambahkan dan menghapus instance, sebaiknya buat image kustom dan tentukan di template instance. Anda dapat menyiapkan image dengan aplikasi dan setelan yang diperlukan VM, sehingga Anda tidak perlu mengonfigurasi item tersebut secara manual pada setiap VM di MIG.
Image publik. Anda dapat membuat template instance yang menggunakan image publik dan skrip startup untuk menyiapkan instance setelah mulai berjalan.
Image kustom lebih deterministik dan dimulai lebih cepat daripada VM dengan skrip startup. Namun, skrip startup lebih fleksibel dan memungkinkan Anda mengupdate aplikasi serta setelan dalam instance dengan lebih mudah.
Jika mengelola image menggunakan kelompok image, Anda dapat menentukan nama kelompok image kustom atau publik dalam template instance. Untuk mengetahui informasi selengkapnya tentang kelompok image, lihat praktik terbaik saat menggunakan kelompok image di Compute Engine.
Langkah selanjutnya
- Membuat VM dari template instance.
- Membuat grup instance terkelola zona (MIG).
- Membuat MIG regional.
- Mengupdate VM di MIG yang ada untuk menggunakan konfigurasi dari template baru.
- Membuat pemesanan untuk VM.