Grup instance tidak terkelola adalah kumpulan instance virtual machine (VM) yang berada di satu project, zona, jaringan VPC, dan subnet. Grup instance yang tidak dikelola berguna untuk mengelompokkan VM yang memerlukan setelan atau penyesuaian konfigurasi individual. Anda dapat menggunakan grup instance tidak terkelola di layanan backend load balancer.
Untuk VM yang memerlukan setelan konfigurasi yang konsisten, Anda dapat menggunakan grup instance terkelola (MIG) yang didasarkan pada template instance. Jika memungkinkan, sebaiknya gunakan grup instance terkelola, bukan grup instance yang tidak dikelola. Untuk membuat grup instance terkelola, lihat Membuat MIG.
Anda dapat menambahkan salah satu jenis grup instance sebagai backend ke load balancer Google Cloud. Untuk informasi selengkapnya, lihat Ringkasan Cloud Load Balancing. Untuk jumlah VM per grup instance yang didukung Cloud Load Balancing, lihat VM per grup instance.
Untuk mempelajari grup instance lebih lanjut, baca Ringkasan grup instance.
Sebelum memulai
- Baca perbedaan antara grup instance terkelola dan tidak terkelola.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Di Konsol Google Cloud, buka halaman Instance groups.
- Klik Create instance group.
- Klik New unmanaged instance group.
- Masukkan nama untuk grup instance tidak terkelola.
- Di bagian Lokasi, pilih region dan zona.
- Pilih Network dan Subnetwork.
- Di bagian VM instances, pilih VM untuk ditambahkan ke grup ini.
- Klik Create.
instance-group-name
: Nama grup yang ingin Anda buat.zone
: Zona tempat Anda ingin membuat grup.instance-group-name
: Nama grup yang ingin Anda buat.zone
: Zona tempat Anda ingin membuat grup.project-id
: Project ID untuk project yang berisi grup.instance-group-name
: Nama grup yang akan dideskripsikan.zone
: Zona grup.instance-group-name
: Nama grup yang akan dideskripsikan.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.- Di Konsol Google Cloud, buka halaman Instance groups.
- Pilih satu atau beberapa grup instance tidak terkelola dari daftar.
- Klik Hapus untuk menghapus grup. Grup tersebut akan dihapus, tetapi VM dalam grup tidak akan dihapus.
instance-group-name
: Nama grup yang ingin Anda hapus.zone
: Zona grup.instance-group-name
: Nama grup yang ingin Anda hapus.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.- Di Konsol Google Cloud, buka halaman Instance groups.
- Di kolom Name pada daftar, klik nama grup instance tempat Anda ingin menambahkan VM. Halaman akan terbuka dengan properti grup instance dan daftar VM yang sudah menjadi bagian dari grup.
- Klik Edit untuk mengubah grup instance tidak terkelola ini.
- Di bagian VM instances, pilih satu atau beberapa VM yang sudah ada untuk ditambahkan ke grup. Anda hanya dapat memilih VM yang berada di zona, jaringan VPC, dan subnet yang sama dengan VM yang ada.
- Klik Save untuk menambahkan VM baru ke grup.
instance-group-name
: Nama grup tempat Anda ingin menambahkan VM.zone
: Zona grup.list-of-VM-names
: Daftar VM yang dipisahkan koma di zona, jaringan VPC, dan subnet yang sama.instance-group-name
: Nama grup tempat Anda ingin menambahkan VM.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.instance-1-name
daninstance-2-name
: Ini adalah nama-nama VM, di zona, jaringan VPC, dan subnet yang sama, yang ingin Anda tambahkan ke grup.- Di Konsol Google Cloud, buka halaman Instance groups.
- Pada kolom Name di daftar, klik nama grup instance tidak terkelola yang ingin Anda lihat. Halaman dengan daftar instance yang disertakan dalam grup tersebut akan muncul.
instance-group-name
: Nama grup yang anggotanya ingin Anda cantumkan.zone
: Zona grup.instance-group-name
: Nama grup yang anggotanya ingin Anda cantumkan.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.- Di Konsol Google Cloud, buka halaman Instance groups.
- Di kolom Name pada daftar, klik nama grup instance tempat Anda ingin menghapus VM. Halaman akan terbuka dengan properti grup instance dan daftar VM yang disertakan dalam grup.
- Dalam daftar, pilih satu atau beberapa VM yang ingin Anda hapus dari grup.
- Klik Remove from group. VM yang Anda hapus dari grup instance yang tidak dikelola akan tetap ada dan dijalankan kecuali jika Anda menghentikan atau menghapusnya.
instance-group-name
: Nama grup yang berisi instance yang akan dihapus.zone
: Zona grup.list-of-VM-names
: Daftar VM yang dipisahkan koma yang ingin Anda hapus dari grup.instance-group-name
: Nama grup yang berisi instance yang akan dihapus.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.instance-1-name
daninstance-2-name
: Ini adalah nama VM yang ingin Anda pisahkan dari grup.- Traffic diseimbangkan antara semua port dengan nama port yang sama.
- Sebuah layanan backend tertentu hanya dapat meneruskan traffic ke satu port bernama pada satu waktu.
Jika Anda menggunakan beberapa nomor port untuk port bernama, semua port harus ditujukan untuk aplikasi yang sama.
Misalnya,
http:80,http:8080
berfungsi, tetapihttp:80,http:443
tidak berfungsi karena port 80 umumnya tidak mendukung TLS.instance-group-a
dengan port bernamahttp-port:80
instance-group-b
dengan port bernamahttp-port:79
- Di Konsol Google Cloud, buka halaman Instance groups.
- Di kolom Name pada daftar, klik nama grup instance tempat Anda ingin menentukan port yang bernama. Halaman dengan properti grup instance akan terbuka.
- Klik Edit untuk mengubah grup instance tidak terkelola ini.
- Di bagian Port mapping, klik Add port, lalu masukkan nama port dan nomornya. Tambahkan atau hapus port bernama lain jika diperlukan.
- Klik Save untuk memperbarui daftar port bernama untuk grup instance yang tidak dikelola.
instance-group-name
: Nama grup instance.zone
: Zona grup.port-name
danport-number
: Nama dan nomor port mewakili pemetaan dari nama yang Anda pilih ke nomor port. Anda dapat menentukan beberapa pemetaan yang dipisahkan dengan koma; misalnya,port-one:80,port-two:8080
adalah daftar valid untuk port bernama.Deskripsikan grup instance dan catat fingerprint.
Untuk menambahkan port bernama, kirim permintaan
POST
menggunakan metode instanceGroups.setNamedPorts. Jika Anda ingin menghapus semua port bernama, tetapkannamedPorts
ke daftar kosong.POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/setNamedPorts { "fingerprint": "fingerprint", "namedPorts": [ { "name": "port-name", "port": port-number }, { "name": "port-name", "port": port-number }, .... ] }
Ganti kode berikut:
instance-group-name
: Nama grup instance.zone
: Zona grup.project-id
: Project ID untuk project yang berisi grup.port-name
danport-number
: Nama dan nomor port mewakili pemetaan dari nama yang Anda pilih ke nomor port.fingerprint
: Ini adalah sidik jari dari langkah sebelumnya.
- Buat grup instance terkelola dengan VM dalam satu zona.
- Buat grup instance terkelola dengan VM di beberapa zona dalam satu region.
- Pelajari Cloud Load Balancing.
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 Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Bekerja dengan grup instance tidak terkelola
Membuat grup
Tidak seperti grup instance terkelola, grup instance yang tidak terkelola hanyalah kumpulan VM berbeda yang tidak menggunakan template instance yang sama. Anda cukup membuat grup, lalu menambahkan setiap VM ke grup.
Konsol
gcloud
Untuk membuat grup instance tidak terkelola baru, gunakan perintah instance-groupsmanaged create:
gcloud compute instance-groups unmanaged create instance-group-name \ --zone=zone
Ganti kode berikut:
REST
Untuk membuat grup instance tidak terkelola dengan REST, kirim permintaan
POST
menggunakan metode instanceGroups.insert:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups { "name": "instance-group-name" }
Ganti kode berikut:
Saat Anda membuat grup instance tidak terkelola baru dengan Google Cloud CLI atau REST, tidak ada VM yang ditambahkan ke dalamnya secara otomatis. Anda dapat menambahkan VM ke grup instance tidak terkelola secara manual.
Mencantumkan dan mendeskripsikan grup
Mengambil daftar grup instance tidak terkelola yang ada.
Konsol
Di konsol Google Cloud, halaman Instance groups akan mencantumkan grup instance terkelola dan tidak terkelola yang ada.
gcloud
Untuk menampilkan daftar semua grup instance yang tidak dikelola dalam project Anda dengan Google Cloud CLI, gunakan daftar instance yang tidak dikelola:
gcloud compute instance-groups unmanaged list
Untuk melihat informasi tentang grup instance tidak terkelola tertentu, gunakan perintah instance-groups Managed describe:
gcloud compute instance-groups unmanaged describe instance-group-name \ --zone=zone
Ganti kode berikut:
REST
Untuk menampilkan daftar grup instance dengan REST, kirim permintaan
GET
menggunakan metode instanceGroups.list:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups
Untuk mendapatkan informasi tentang grup instance tidak terkelola tertentu dengan API, kirim permintaan
GET
menggunakan metode instanceGroups.get:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Ganti kode berikut:
Menghapus grup
Tidak seperti grup instance terkelola, menghapus grup instance tidak terkelola tidak akan menghapus VM apa pun dalam grup. Menghapus grup instance yang tidak dikelola hanya akan menghapus pengelompokan VM yang logis.
Anda tidak dapat menghapus grup instance jika grup tersebut adalah backend load balancer Google Cloud. Anda harus menghapus backend dari layanan backend terlebih dahulu.
Konsol
gcloud
Untuk menghapus grup instance tidak terkelola, gunakan perintah instance-groupsmanaged delete:
gcloud compute instance-groups unmanaged delete instance-group-name \ --zone=zone
Ganti kode berikut:
REST
Untuk menghapus grup instance tidak terkelola dengan REST, kirim permintaan
DELETE
menggunakan metode instanceGroups.delete:DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Ganti kode berikut:
Keanggotaan grup
Menambahkan VM
Setelah membuat grup instance tidak terkelola, Anda dapat menambahkan VM ke grup. Namun, Anda hanya dapat mengelompokkan VM jika antarmuka jaringan pertama atau satu-satunya (
nic0
) dari setiap VM terpasang ke jaringan VPC yang sama. Jumlah maksimum VM yang dapat Anda tambahkan ke grup instance tidak terkelola adalah 2.000. Jika Anda ingin menambahkan lebih dari 2.000 VM ke grup, hubungi dukungan.Konsol
gcloud
Untuk menambahkan instance ke grup instance tidak terkelola, gunakan perintah instance-groups unmanaged add-instances:
gcloud compute instance-groups unmanaged add-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Ganti kode berikut:
REST
Untuk menambahkan VM ke grup instance tidak terkelola, kirim permintaan
POST
menggunakan metode instanceGroups.addInstances:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Ganti kode berikut:
Mencantumkan VM
Anda dapat mengambil daftar VM anggota di grup instance yang tidak dikelola.
Konsol
gcloud
Untuk menampilkan daftar VM dalam grup instance tidak terkelola, gunakan perintah instance-groups unmanaged list-instances:
gcloud compute instance-groups unmanaged list-instances instance-group-name \ --zone=zone
Ganti kode berikut:
REST
Untuk mencantumkan VM dalam grup instance tidak terkelola, kirim permintaan
POST
menggunakan metode instanceGroups.listInstances:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/listInstances
Ganti kode berikut:
Menghapus VM
Anda dapat menghapus VM dari grup instance tidak terkelola. Menghapus VM dari grup instance tidak akan menghapus VM tersebut.
Konsol
gcloud
Untuk menghapus VM dari grup instance tidak terkelola, gunakan perintah instance-groups unmanaged remove-instances:
gcloud compute instance-groups unmanaged remove-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Ganti kode berikut:
REST
Untuk menghapus VM dari grup instance tidak terkelola, kirim permintaan
POST
menggunakan metode instanceGroups.removeInstances. Anda dapat menghapus beberapa VM secara bersamaan seperti yang ditunjukkan di bawah ini:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/removeInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Ganti kode berikut:
Bekerja dengan port bernama
Port bernama adalah key-value pair yang mewakili nama dan nomor port. Nama port mewakili nama layanan atau aplikasi. Nomor port mewakili port tempat layanan atau aplikasi berjalan.
Port bernama digunakan oleh Cloud Load Balancing. Load balancer yang bertindak sebagai proxy berlangganan ke satu port bernama dalam konfigurasi layanan backend-nya. Nama port diterjemahkan menjadi nomor port berdasarkan pemetaan port bernama dari setiap backend grup instance.
Misalnya, layanan backend dapat berlangganan port yang bernama
http-port
. Grup instance backend dapat memiliki port bernamahttp-port:80
. Grup instance backend menginstruksikan load balancer untuk mengirim traffic ke VM dalam grup di port 80 menggunakan protokol (seperti TCP). Protokol ini ditetapkan dalam layanan backend load balancer.Port bernama adalah metadata sederhana yang digunakan oleh load balancer proxy. Port bernama tidak mengontrol resource jaringan atau firewall di Compute Engine.
Beberapa nomor port untuk port bernama
Anda dapat menetapkan beberapa port untuk setiap nama layanan. Anda juga dapat menetapkan beberapa nama layanan untuk setiap port.
Perhatikan poin-poin berikut:
Anda dapat menetapkan beberapa port bernama dalam satu grup instance. Sebagai ilustrasi, pertimbangkan contoh layanan backend yang berlangganan port bernama
http-port
, dan yang memiliki dua grup instance backend:Layanan backend ini mengirimkan traffic ke port 80 untuk VM di
instance-group-a
dan port 79 untuk VM diinstance-group-b
.Saat Anda menambahkan grup instance yang sama ke beberapa layanan backend (untuk beberapa load balancer) dan grup instance menyalurkan port yang berbeda di setiap load balancer, jangan tambahkan semua nomor port ke satu port bernama. Sebagai gantinya, buat port bernama yang unik dan petakan port tersebut ke kumpulan port yang harus disalurkan oleh setiap layanan backend.
Sebagai contoh, misalnya Anda memiliki tiga aplikasi, masing-masing dengan load balancer-nya sendiri. Setiap aplikasi memiliki nomor port sendiri: 81 untuk
app1
, 82 untukapp2
, dan 83 untukapp3
. Dengan asumsi bahwa ketiga layanan backend menggunakan grup instance yang sama, tetapkan port bernama untuk grup instance ini sebagai[app1:81, app2:82, app3:83]
.Port bernama dan health check
Agar port bernama dengan beberapa nomor port di layanan backend dapat berfungsi di Load Balancer Aplikasi eksternal atau Load Balancer Aplikasi internal, health check harus memiliki flag
--use-serving-port
, bukan nomor port tertentu. Opsi ini tidak tersedia di konsol Google Cloud. Untuk menetapkan--use-serving-port
, Anda harus menggunakan Google Cloud CLI atau API.Misalnya, Anda memiliki aplikasi yang melakukan load balancing pada traffic di tiga port yang berbeda (81, 82, 83) pada layanan backend yang sama dengan satu grup instance. Anda dapat menetapkan port untuk grup instance ini sebagai
[app:81, 82, 83]
. Health check dalam skenario ini harus memiliki tanda--use-serving-port
.Untuk mengetahui informasi selengkapnya, lihat dokumentasi health check load balancing.
Port bernama dan aturan firewall
Port bernama tidak membuat atau mengubah aturan firewall Google Cloud. Untuk mengizinkan traffic ke VM backend, Anda tetap harus membuat aturan firewall yang diperlukan.
Port bernama dan layanan backend
Selain konfigurasi grup instance, Anda juga harus mengonfigurasi layanan backend. Misalnya, Anda menyetel port yang bernama pada grup instance dengan nama
my-service-name
dan port8888
:gcloud compute instance-groups set-named-ports my-unmanaged-ig \ --named-ports=my-service-name:8888
Anda harus merujuk ke port bernama di konfigurasi layanan backend dengan
--port-name
pada layanan backend yang ditetapkan kemy-service-name
:gcloud compute backend-services update my-backend-service \ --port-name=my-service-name
Membuat port bernama
Konsol
gcloud
Untuk menambahkan port bernama ke grup instance tidak terkelola, gunakan perintah
instance-groups unmanaged set-named-ports
:gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=port-name:port-number,...
Untuk mencantumkan port bernama dalam grup instance tidak terkelola, gunakan perintah
instance-groups unmanaged get-named-ports
:Setel satu atau beberapa port bernama menggunakan perintah
set-named-ports
:gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports PORT_NAME:PORT,PORT_NAME:PORT
Contoh:
gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:80,name2:8080
Untuk menetapkan beberapa port ke setiap nama layanan atau beberapa nama untuk setiap layanan, buat lebih dari satu entri untuk setiap nama atau port. Misalnya, jika port
10
,20
, dan80
adalah untuk aplikasi yang sama, Anda dapat menetapkanname1
ke semua port tersebut. Selain itu, Anda dapat menetapkan dua nama,name2
danname3
ke port8080
. Terakhir, Anda dapat menetapkan port9000
kename4
, seperti pada contoh berikut:gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:10,name1:20,name1:80,\ name2:8080,name3:8080,\ name4:9000
Untuk menghapus semua port yang bernama dari grup instance tidak terkelola dengan Google Cloud CLI, gunakan instance-groupsmanaged set-name-ports dengan daftar kosong port bernama:
gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=""
Pada semua contoh di atas, ganti kode berikut jika ada:
REST
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-