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 dalam grup instance terkelola (MIG).
- Buat reservasi untuk VM.
- Buat reservasi mendatang untuk VM.
Sebelum memulai
- Baca kapan dan alasan untuk membuat template instance deterministik.
- Baca tentang template instance regional dan global.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.
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 informasi selengkapnya, lihat Set up authentication for a local development environment.
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 informasi selengkapnya, lihat Set up authentication for a local development environment.
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 informasi selengkapnya, lihat Set up authentication for a local development environment.
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 informasi selengkapnya, lihat Set up authentication for a local development environment.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
Batasan
- VPC bersama pada antarmuka selain
nic0
untuk template instance didukung di gcloud CLI dan REST, tetapi tidak di Konsol Google Cloud. - 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. Sebagai gantinya, Anda dapat menggunakan Google Cloud CLI atau REST.
- Jika ingin menentukan disk regional, bukan disk zonal, dalam template instance, Anda tidak dapat menggunakan konsol Google Cloud. Sebagai gantinya, Anda dapat menggunakan Google Cloud CLI atau REST.
- Anda dapat menggunakan template instance untuk membuat VM dengan disk booting Hyperdisk Balanced yang berada di storage pool, jika storage pool berada di zona yang sama dengan tempat VM dibuat. Anda tidak dapat menggunakan template instance global untuk membuat VM dengan disk non-boot yang ada dalam kumpulan penyimpanan.
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, dan akun layanan. 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.
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
- Semua izin yang diperlukan untuk memanggil
metode
instanceTemplates.insert
.
Di konsol Google Cloud, buka halaman Instance templates.
Langkah-langkah lainnya akan muncul di konsol Google Cloud.
- Klik
Create instance template . - 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.
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 createINSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION
Ganti REGION
dengan region tempat Anda
ingin membuat template instance regional.
Buat template instance global menggunakan perintah berikut:
gcloud compute instance-templates createINSTANCE_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 IPv4 eksternal sementara
- Jenis stack:
IPV4_ONLY
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-12 \ --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 disk regional, gunakan properti replica-zones
.
gcloud compute instance-templates createINSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --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
Tips: Saat menentukan
parameter replica-zones
disk, karakter ^:^
menentukan bahwa
karakter pemisahan di antara nilai adalah titik dua (:
) bukan koma
yang diharapkan (,
).
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama untuk templateMACHINE_TYPE
: jenis mesin VMDISK_IMAGE_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, jenis disk default yang digunakan bergantung pada nilai flag--machine-type
.ZONE
danREMOTE_ZONE
: zona untuk membuat 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-12 kind: compute#attachedDisk mode: READ_WRITE type: PERSISTENT machineType: c3-standard-4 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
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=c3-standard-4 \ --image-family=debian-12 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
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 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 tertentuContoh,
"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 boot disk untuk setiap instance. Anda dapat membuat disk menggunakan image publik atau kustom (atau kelompok image) menggunakan propertisourceImage
, seperti yang ditunjukkan pada contoh sebelumnya. Untuk menambahkan disk kosong, jangan tentukansourceImage
. Anda juga dapat menambahkan hingga 15 disk non-boot sekunder menggunakan propertiinitializeParams
untuk setiap disk tambahan.Tentukan
source
untuk memasang 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.
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
- Semua izin yang diperlukan untuk memanggil
metode
instanceTemplates.insert
.
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 createINSTANCE_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 createINSTANCE_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 createINSTANCE_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.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 disk boot dan baca-tulis persistent 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_NAME attach-read-only
(hanya valid untuk disk khusus baca).blank
(hanya valid untuk persistent disk non-boot dan SSD lokal). Jika ditentukan, saat template digunakan untuk membuat instance baru, disk akan dibuat tanpa diformat. 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 dihapus otomatis 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
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 persistent disk baca-tulis 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:"diskConfigs": [ { "deviceName":
DATA_DISK_NAME , "instantiateFrom": custom-image, "customImage": "projects/PROJECT_ID /global/images/family/IMAGE_FAMILY_NAME " } ]attach-read-only
(hanya valid untuk disk khusus baca).blank
(hanya valid untuk persistent disk non-boot dan SSD lokal). Jika ditentukan, saat template digunakan untuk membuat instance baru, disk akan dibuat tanpa diformat. 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 Buat.
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 di setidaknya satu zona di region.
Kebijakan pemeliharaan yang menghentikan VM selama peristiwa pemeliharaan host.
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
- Semua izin yang diperlukan untuk memanggil
metode
instanceTemplates.insert
.
Untuk membuat template instance untuk VM GPU, lakukan langkah-langkah 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 workload yang intensif grafis, pilih Aktifkan Workstation Virtual (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 disk booting.
Klik Buat.
Untuk membuat template instance bagi VM GPU, gunakan perintah instance-templates create
dengan flag --maintenance-policy
yang ditetapkan ke TERMINATE
.
Misalnya, untuk membuat template instance global bagi VM GPU, gunakan perintah berikut:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE
Ganti kode berikut:
INSTANCE_TEMPLATE_NAME
: nama template instance.IMAGE_PROJECT
: project image yang berisi image; misalnya,debian-cloud
. Untuk informasi selengkapnya tentang project image yang didukung, lihat Image publik.IMAGE_FAMILY
atauIMAGE
: tentukan salah satu dari hal berikut:IMAGE_FAMILY
: kelompok image. Tindakan ini menentukan OS image 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 image, lihat Praktik terbaik kelompok image.IMAGE
: versi tertentu dari image OS; misalnya,debian-10-buster-v20200309
. Jika memilih untuk menentukan versi image OS tertentu, Anda harus mengganti flag--image-family
dengan flag--image
.
MACHINE_TYPE
: jenis mesin VM. Jika Anda menentukan jenis mesin N1, sertakan flag--accelerator
untuk menentukan jumlah dan jenis GPU yang akan dilampirkan ke VM Anda.
Misalnya, asumsikan Anda ingin membuat template instance global untuk VM GPU yang menentukan properti berikut:
Jenis mesin standar N1 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
Untuk membuat template instance untuk VM GPU, gunakan
resource google_compute_region_instance_template
.
Misalnya, untuk membuat template instance global, yang menentukan jenis mesin standar N1 dengan 2 vCPU dan satu GPU NVIDIA T4 yang terpasang, gunakan referensi berikut:
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
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 image yang berisi image; misalnya,debian-cloud
. Untuk informasi selengkapnya tentang project image yang didukung, lihat Image publik.IMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari hal berikut:IMAGE
: versi tertentu dari image OS; misalnya,debian-10-buster-v20200309
.IMAGE_FAMILY
: kelompok image. Tindakan ini menentukan OS image terbaru yang masih digunakan. Misalnya, jika Anda menentukanfamily/debian-10
, versi terbaru dalam kelompok image Debian 10 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok image, lihat Praktik terbaik kelompok image.
MACHINE_TYPE
: jenis mesin VM. Jika Anda menentukan jenis mesin N1, sertakan kolomguestAccelerators
untuk menentukan jumlah dan jenis GPU yang akan dilampirkan ke VM Anda.
Misalnya, asumsikan Anda ingin membuat template instance global untuk VM GPU yang menentukan properti berikut:
Jenis mesin standar N1 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/family/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 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.
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.
Gunakan
perintah gcloud compute instance-templates create-with-container
:
gcloud compute instance-templates create-with-containerINSTANCE_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
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 createINSTANCE_TEMPLATE_NAME \ --region=REGION \ --subnet=SUBNET_NAME_OR_URL \ --stack-type=STACK_TYPE \ --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-nyaSTACK_TYPE
: Opsional: apakah IPv6 diaktifkan di antarmuka jaringan default. Nilai berikut dapat digunakan:IPV4_ONLY
,IPV4_IPV6
, atauIPV6_ONLY
(Pratinjau). Jika Anda tidak menyertakan flag ini, nilai defaultnya adalahIPV4_ONLY
.INSTANCE_TEMPLATE_REGION
: region tempat Anda ingin membuat template instance. Region ini harus sama denganREGION
.
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
Outputnya mirip dengan hal berikut ini:
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
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, yang membantu Anda mengupdate aplikasi dan setelan dalam instance.
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 berikutnya
- 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.