Kumpulan target adalah sekelompok instance backend yang menerima traffic masuk dari Load Balancer Jaringan passthrough eksternal. Semua backend instance kumpulan target harus berada di region Google Cloud yang sama. Load Balancer Jaringan passthrough eksternal dapat menggunakan layanan backend atau kumpulan target untuk menentukan grup instance backend. Jika Anda membuat Load Balancer Jaringan passthrough eksternal baru, sebaiknya gunakan layanan backend.
Halaman ini menjelaskan opsi konfigurasi untuk backend kumpulan target. Saat aturan penerusan Load Balancer Jaringan passthrough eksternal mengarahkan traffic ke kumpulan target, load balancer memilih instance dari kumpulan target berdasarkan hash alamat IP sumber, port sumber, alamat IP tujuan, dan port tujuan.
Jika Anda ingin kumpulan target berisi satu virtual machine (VM), pertimbangkan untuk menggunakan fitur penerusan protokol, bukan load balancing.
Properti kumpulan target
Kumpulan target berfungsi dengan aturan penerusan yang menangani traffic TCP
dan UDP
. Anda harus membuat kumpulan target sebelum dapat menggunakannya dengan aturan penerusan.
Kumpulan target menggunakan health check HTTP lama.
Kumpulan target terdiri dari properti berikut:
name
- Nama kumpulan target ini. Nama harus unik dalam project
ini, dengan panjang 1-63 karakter dan cocok dengan ekspresi reguler:
[a-z]([-a-z0-9]*[a-z0-9])?
, yang berarti karakter pertama harus berupa huruf kecil, dan semua karakter berikutnya harus berupa tanda hubung, huruf kecil, atau angka, kecuali karakter terakhir, yang tidak boleh berupa tanda hubung. description
- Opsional. Deskripsi yang ditentukan pengguna untuk kumpulan target ini.
region
URL yang sepenuhnya memenuhi syarat dari region kumpulan target. Region tersebut harus merupakan region yang sama dengan tempat instance backend Anda berada. Contoh:
"region" : "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION"
healthChecks[ ]
Opsional. Daftar opsional health check untuk kumpulan target ini. Hanya satu health check yang dapat ditambahkan ke kumpulan target tertentu. Lihat Pemeriksaan kesehatan untuk mengetahui informasi selengkapnya.
instances[ ]
Daftar URL instance yang harus menangani traffic untuk kumpulan target ini. Semua instance harus berada dalam region yang sama dengan kumpulan target, tetapi instance dapat berada di zona berbeda dalam satu region. Contoh:
"instances" : [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE", "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE-2" ]
sessionAffinity
Opsional. Mengontrol metode yang digunakan untuk memilih instance virtual machine backend. Anda hanya dapat menetapkan nilai ini selama pembuatan kumpulan target. Setelah ditetapkan, Anda tidak dapat mengubah nilai ini. Metode hash memilih backend berdasarkan subset dari 5 nilai berikut:
- IP Sumber / Tujuan
- Port Sumber / Tujuan
- Protokol Lapisan 4 (TCP, UDP)
Kemungkinan hash-nya adalah:
NONE
(yaitu, tidak ada hash yang ditentukan) (default)- Hashing 5-tuple, yang menggunakan IP sumber dan tujuan, port sumber dan tujuan, serta protokol. Setiap koneksi baru dapat berakhir di instance apa pun, tetapi semua traffic untuk koneksi tertentu akan tetap berada di instance yang sama, jika instance tetap responsif.
CLIENT_IP_PROTO
- Hashing 3 tuple, yang menggunakan IP sumber dan tujuan serta protokol. Semua koneksi dari klien akan berakhir di instance yang sama selama mereka menggunakan protokol yang sama dan instance tetap responsif.
CLIENT_IP
- Hashing 2-tuple, yang menggunakan IP sumber dan tujuan. Semua koneksi dari klien akan berakhir di instance yang sama, terlepas dari protokol, selama instance tetap responsif.
Hashing 5-tuple menyediakan distribusi traffic yang baik di banyak virtual machine. Namun, sesi kedua dari klien yang sama mungkin masuk pada instance yang berbeda karena port sumber dapat berubah. Jika Anda ingin semua sesi dari klien yang sama menjangkau backend yang sama, selama backend tetap responsif, Anda dapat menentukan opsi
CLIENT_IP_PROTO
atauCLIENT_IP
.Secara umum, jika Anda memilih metode 3 tuple atau 2 tuple, metode ini akan memberikan afinitas sesi yang lebih baik dibandingkan metode 5 tuple default, tetapi traffic keseluruhan mungkin tidak didistribusikan secara merata.
Paket UDP yang terfragmentasi: Jika Anda melakukan load balancing pada traffic UDP yang kemungkinan akan terfragmentasi, tetapkan afinitas sesi ke
CLIENT_IP_PROTO
atauCLIENT_IP
. Jangan gunakanNONE
(hashing 5-tuple). Hal ini karena fragmen UDP selain yang pertama tidak membawa nomor port, dan load balancer dapat menghapus fragmen tanpa port tersebut. Lihat Paket load balancing dan UDP yang terfragmentasi untuk mengetahui informasi selengkapnya.backupPool
Opsional. URL yang sepenuhnya memenuhi syarat ke resource kumpulan target lainnya. Kumpulan cadangan adalah kumpulan target yang dirujuk oleh kumpulan target lainnya. Anda juga harus menentukan
failoverRatio
untuk menggunakan fitur ini. Jika rasio virtual machine yang responsif dalam kumpulan target Anda berada di bawahfailoverRatio
, Load Balancer Jaringan passthrough eksternal akan mengirimkan traffic ke kumpulan cadangan Anda. Anda hanya dapat menyediakan satu kumpulan cadangan per kumpulan target. Kumpulan cadangan harus berada dalam region yang sama dengan kumpulan target. Jika rasio instance responsif dalam kumpulan target Anda berada di bawah rasio failover yang dikonfigurasi, Load Balancer Jaringan passthrough eksternal akan menggunakan aturan berikut untuk merutekan traffic Anda:- Jika rasio instance yang responsif terhadap total instance dalam kumpulan target kurang dari rasio failover, traffic akan dikirim ke instance yang responsif di kumpulan cadangan.
- Jika rasio instance yang responsif terhadap total instance dalam kumpulan target kurang dari rasio failover, tetapi tidak ada instance responsif yang tersisa di kumpulan cadangan, traffic akan dikirim ke instance responsif yang tersisa di dalam kumpulan target.
- Jika kumpulan target tidak kosong dan jika semua instance dalam kumpulan target dan kumpulan cadangan gagal dalam health check-nya, traffic akan dikirimkan ke semua instance dalam kumpulan target, sebagai upaya terakhir.
- Jika kumpulan target kosong dan jika semua instance dalam kumpulan cadangan gagal health check-nya, traffic akan dikirim ke semua instance dalam kumpulan cadangan, sebagai upaya terakhir.
Hanya satu tingkat failover yang didukung. Misalnya, jika kumpulan target A memiliki kumpulan cadangan B, dan kumpulan cadangan B memiliki kumpulan cadangan C, traffic yang ditujukan untuk kumpulan target A hanya dapat diarahkan ke kumpulan cadangan B, bukan ke kumpulan cadangan C.
failoverRatio
Opsional. Float antara
0.0
dan1.0
, yang menentukan kapan kumpulan target ini dinyatakan tidak responsif. Misalnya, jika nilai ini disetel ke0.1
, kumpulan target ini akan dinyatakan tidak responsif jika jumlah instance yang responsif kurang dari0.1
(10%). Jika rasio failover adalah0.0
, setidaknya satu backend harus responsif agar kumpulan tersebut dianggap responsif. Jika rasio failover ditetapkan ke1.0
, semua instance harus responsif agar kumpulan dianggap responsif. Anda harus menentukannya jika menentukan kolombackupPool
.
Kondisi failover
Kondisi | Koneksi baru menuju ke |
---|---|
Rasio failover !=0, VM responsif dalam kumpulan target >= FR | kumpulan target |
Rasio failover =0, VM responsif dalam kumpulan target > 0 | kumpulan target |
Rasio failover !=0, VM responsif dalam kumpulan target < FR, dan minimal satu VM di kumpulan cadangan responsif | kumpulan cadangan |
Rasio failover =0, VM responsif dalam kumpulan target = 0, dan minimal satu VM di kumpulan cadangan responsif | kumpulan cadangan |
Setidaknya satu VM berada dalam kumpulan target, dan semua VM dalam kumpulan target tidak responsif, serta semua VM di kumpulan cadangan tidak responsif | kumpulan target (upaya terakhir) |
Tidak ada VM yang berada di kumpulan target, dan semua VM di kumpulan cadangan tidak responsif | kumpulan cadangan (upaya terakhir) |
Tidak ada VM di kumpulan target, dan tidak ada VM di kumpulan cadangan | Traffic menurun |
Membuat kumpulan target
Konsol
Kumpulan target tidak dapat dibuat di Konsol Google Cloud. Anda dapat membuat kumpulan target menggunakan Google Cloud CLI atau API.
Untuk mempelajari cara membuat Load Balancer Jaringan passthrough eksternal berbasis kumpulan target menggunakan Google Cloud CLI, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal dengan kumpulan target.
gcloud
Untuk menggunakan gcloud compute
guna membuat kumpulan target, gunakan perintah target-pools
create
:
gcloud compute target-pools create TARGET_POOL \ [--backup-pool=BACKUP_POOL] \ [--description=DESCRIPTION] \ [--failover-ratio=FAILOVER_RATIO] \ [--http-health-check=HEALTH_CHECK] \ [--region=REGION] [--session-affinity=SESSION_AFFINITY; default="NONE"]
Ganti kode berikut:
TARGET_POOL
: nama untuk kumpulan targetBACKUP_POOL
: nama untuk kumpulan target cadanganDESCRIPTION
: deskripsi kumpulan targetFAILOVER_RATIO
: nilai antara 0,0 dan 1,0, yang menentukan kapan kumpulan target dinyatakan tidak responsifHEALTH_CHECK
: health check untuk kumpulan target iniREGION
: wilayah kumpulan targetSESSION_AFFINITY
: metode yang digunakan untuk memilih instance virtual machine backend
API
Untuk membuat kumpulan target di API, buat permintaan HTTP POST
ke
URI berikut:
https://www.googleapis.com/v1/compute/projects/PROJECT_ID/regions/REGION/targetPools { "name": name, "instances": [ "https://www.googleapis.com/v1/compute/project/PROJECT_ID/zones/ZONE/instances/INSTANCE", "https://www.googleapis.com/v1/compute/project/PROJECT_ID/zones/ZONE/instances/INSTANCE-2", ] }
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudZONE
: zona tempat instance kumpulan target beradaINSTANCE
,INSTANCE-2
: instance yang akan ditambahkan ke kumpulan target
Menambahkan atau menghapus instance dari kumpulan target
Konsol
Kumpulan target tidak dapat diedit di Konsol Google Cloud. Anda dapat mengedit kumpulan target menggunakan Google Cloud CLI atau API.
gcloud
Untuk menggunakan gcloud compute
guna menambahkan instance ke kumpulan target, gunakan
perintah target-pools add-instances
:
gcloud compute target-pools add-instances TARGET_POOL \ --instances=INSTANCE,[INSTANCE-2,...]
Ganti kode berikut:
TARGET_POOL
: nama kumpulan targetINSTANCE
,INSTANCE-2
: nama instance (atau instance) yang akan ditambahkan ke kumpulan target
Untuk menghapus instance, gunakan
perintah target-pools remove-instances
:
gcloud compute target-pools remove-instances TARGET_POOL \ --instances=INSTANCE,[INSTANCE-2,...]
Ganti kode berikut:
TARGET_POOL
: nama kumpulan targetINSTANCE
,INSTANCE-2
: nama instance (atau instance) yang akan dihapus dari kumpulan target
API
Dalam API, kirim permintaan POST ke URI berikut:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/removeInstance https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/addInstance
Isi permintaan Anda harus menyertakan URI yang sepenuhnya memenuhi syarat untuk instance yang ingin Anda tambahkan atau hapus:
{ "instances": [ {"instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE"}, {"instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE-2"} ] }
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target beradaZONE
: zona tempat instance yang diupdate beradaINSTANCE
,INSTANCE-2
: instance yang akan ditambahkan ke kumpulan target
Untuk informasi selengkapnya, lihat dokumentasi referensi API untuk
metode
targetPools.addInstance
dan
targetPools.removeInstance
.
Membuat daftar kumpulan target
Konsol
Untuk melihat daftar kumpulan target, gunakan menu lanjutan load balancing.
Di halaman load balancing Advanced, buka tab Target pool.
Buka Target pool
Halaman ini menampilkan daftar kumpulan target.
gcloud
Untuk menggunakan gcloud compute
guna menampilkan daftar kumpulan target yang ada, gunakan
perintah target-pools list
:
gcloud compute target-pools list
Untuk output yang lebih panjang, gunakan perintah describe
dan tentukan
nama kumpulan.
API
Di API, kirim permintaan GET ke URI berikut:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudREGION
: wilayah tempat kumpulan target berada
Menjelaskan kumpulan target
Konsol
Untuk mendapatkan informasi tentang kumpulan target, gunakan menu lanjutan load balancing.
- Di halaman load balancing Advanced, buka tab Target pool.
Buka Target pool - Untuk melihat informasi mendetail, klik nama kumpulan target.
gcloud
Untuk menggunakan gcloud compute
guna mendapatkan informasi tentang satu kumpulan target, gunakan
perintah target-pools describe
:
gcloud compute target-pools describe TARGET_POOL
Ganti kode berikut:
TARGET_POOL
: nama kumpulan target
API
Di API, kirim permintaan GET kosong ke URI berikut:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target berada
Mendapatkan status respons instance
Konsol
Untuk mendapatkan status respons instance dalam kumpulan target, gunakan menu lanjutan load balancing.
- Di halaman load balancing Advanced, buka tab Target pool.
Buka Target pool - Klik nama kumpulan target.
- Halaman Detail kumpulan target mencantumkan semua instance dan status responsnya.
gcloud
Untuk menggunakan gcloud compute
guna memeriksa status respons instance saat ini dalam kumpulan target Anda atau semua instance dalam kumpulan target, Anda dapat menggunakan perintah gcloud compute target-pools get-health
:
gcloud compute target-pools get-health TARGET_POOL
Ganti kode berikut:
TARGET_POOL
: nama kumpulan target
Perintah ini menampilkan status respons seperti yang ditentukan oleh health check yang dikonfigurasi, baik responsif atau tidak responsif.
API
Di API, buat permintaan POST HTTP ke URI berikut dengan instance yang ditentukan dalam isi permintaan:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/getHealth { "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE" }
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target beradaZONE
: zona tempat instance beradaINSTANCE
: instance yang status health checknya Anda periksa
Hapus satu kumpulan target
Untuk menghapus kumpulan target, Anda harus memastikan terlebih dahulu bahwa kumpulan target tersebut tidak direferensikan oleh aturan penerusan apa pun. Jika aturan penerusan merujuk pada kumpulan target, Anda harus menghapus aturan penerusan tersebut untuk menghapus referensi.
Konsol
Untuk menggunakan konsol Google Cloud guna menghapus kumpulan target, gunakan menu lanjutan Load balancing.
- Di halaman load balancing Advanced, buka tab Target pool.
Buka Target pool - Klik nama kumpulan target.
- Klik Delete.
- Di jendela Delete a target pool, klik Delete.
gcloud
Untuk menggunakan gcloud compute
guna menghapus kumpulan target, gunakan
perintah target-pools delete
:
gcloud compute target-pools delete TARGET_POOL
Ganti kode berikut:
TARGET_POOL
: nama kumpulan target yang akan dihapus
API
Di API, kirim permintaan DELETE kosong ke URI berikut:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target berada
Menambahkan atau menghapus health check dari kumpulan target
Objek health check adalah resource global mandiri yang dapat dikaitkan atau dipisahkan dari kumpulan target mana pun.
Jika kumpulan target tidak memiliki health check terkait, Load Balancer Jaringan passthrough eksternal akan memperlakukan semua instance sebagai responsif dan mengirim traffic ke semua instance dalam kumpulan target. Namun, jika Anda membuat kueri status respons kumpulan target tanpa health check, statusnya akan ditampilkan sebagai unhealthy
untuk menunjukkan bahwa kumpulan target tidak memiliki health check. Sebaiknya kumpulan target Anda memiliki health check terkait untuk membantu Anda mengelola instance.
Load Balancer Jaringan passthrough eksternal menggunakan health check HTTP lama untuk menentukan kondisi instance dalam kumpulan target. Load Balancer Jaringan passthrough eksternal hanya dapat menggunakan health check HTTP lama, bukan health check HTTPS lama.
Konsol
Saat menggunakan konsol Google Cloud, Anda dapat membuat health check HTTP lama saat membuat Load Balancer Jaringan passthrough eksternal dengan backend kumpulan target.
Anda tidak dapat menggunakan halaman Health check konsol Google Cloud untuk membuat health check lama yang mandiri.
gcloud
Untuk menggunakan gcloud compute
guna menambahkan health check ke kumpulan target, gunakan perintah target-pools add-health-checks
:
gcloud compute target-pools add-health-checks TARGET_POOL \ --http-health-check=HEALTH_CHECK
Ganti kode berikut:
TARGET_POOL
: nama kumpulan targetHEALTH_CHECK
: health check HTTP lama yang akan digunakan dengan kumpulan target ini
Untuk menghapus health check, gunakan
perintah target-pools remove-health-checks
:
gcloud compute target-pools remove-health-checks TARGET_POOL \ --http-health-check=HEALTH_CHECK
Ganti kode berikut:
TARGET_POOL
: nama kumpulan targetHEALTH_CHECK
: health check HTTP lama yang akan dihapus dari kumpulan target ini
API
Untuk mengaitkan atau membatalkan pengaitan health check menggunakan API, buat permintaan HTTP POST
ke URI yang sesuai:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/removeHealthCheck https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/addHealthCheck
Isi permintaan Anda harus berisi health check untuk mengaitkan atau membatalkan:
{ "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/httpHealthChecks/HEALTH_CHECK" }
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target beradaHEALTH_CHECK
: health check HTTP lama yang akan dikaitkan atau dipisahkan dengan kumpulan target
Untuk informasi selengkapnya, lihat dokumentasi referensi API untuk
targetPools.addHealthCheck
dan
targetPools.removeHealthCheck
.
Menambahkan atau menghapus kumpulan target cadangan
Saat pertama kali membuat kumpulan target, Anda dapat memilih untuk menerapkan kumpulan target cadangan yang menerima traffic jika kumpulan target Anda menjadi tidak responsif.
Jika belum pernah menyiapkan kumpulan target cadangan sebelumnya, Anda juga harus menyiapkan health check agar fitur ini berfungsi dengan benar.
Konsol
Kumpulan target tidak dapat diedit di Konsol Google Cloud. Anda dapat mengedit proxy target menggunakan Google Cloud CLI atau API.
gcloud
Untuk menggunakan gcloud compute
guna mengupdate resource kumpulan cadangan, gunakan
perintah target-pools set-backup
:
gcloud compute target-pools set-backup TARGET_POOL \ --backup-pool=BACKUP_POOL \ --failover-ratio=FAILOVER_RATIO
Ganti kode berikut:
TARGET_POOL
: nama kumpulan targetBACKUP_POOL
: nama untuk kumpulan target cadanganFAILOVER_RATIO
: nilai antara 0,0 dan 1,0, yang menentukan kapan kumpulan target dinyatakan tidak responsif
API
Untuk membuat permintaan guna memperbarui atau menghapus kumpulan cadangan melalui API, kirim permintaan POST ke URI berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL/setBackup?failoverRatio=FAILOVER_RATIO { "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/BACKUP_POOL" }
Ganti kode berikut:
PROJECT_ID
: project ID Google CloudTARGET_POOL
: nama kumpulan target yang akan diperbaruiREGION
: wilayah tempat kumpulan target beradaBACKUP_POOL
: nama kumpulan cadangan yang akan dikaitkan dengan kumpulan targetFAILOVER_RATIO
: rasio failover
Jika Anda menentukan target kosong atau tidak menentukan rasio failover, perilaku kumpulan cadangan akan dinonaktifkan untuk kumpulan target ini.
Langkah selanjutnya
- Untuk mengetahui informasi selengkapnya tentang kumpulan target, lihat dokumentasi referensi API untuk
targetPools.setBackup
. - Untuk mengetahui informasi selengkapnya tentang aturan penerusan, lihat Ringkasan aturan penerusan.