Google Cloud menyediakan mekanisme health check yang menentukan apakah instance backend merespons traffic dengan benar. Dokumen ini menjelaskan cara membuat dan menggunakan health check untuk load balancer dan Cloud Service Mesh.
Halaman ini mengasumsikan bahwa Anda sudah memahami konsep berikut:
Membuat health check
Google Cloud memungkinkan Anda membuat atau memilih health check saat menyelesaikan konfigurasi backend load balancer di konsol Google Cloud.
Anda juga dapat membuat health check secara terpisah dari konfigurasi load balancer di konsol Google Cloud. Hal ini berguna jika Anda perlu membuat health check terlebih dahulu, atau jika Anda perlu menggunakan health check untuk beberapa load balancer. Anda dapat membuat pemeriksaan kesehatan menggunakan konsol Google Cloud, Google Cloud CLI, atau REST API.
Konsol
- Buka halaman Health checks di konsol Google Cloud.
Buka halaman Health checks - Klik Buat health check.
- Di halaman Create a health check, berikan informasi berikut:
- Nama: Berikan nama untuk health check.
- Deskripsi: Opsional, berikan deskripsi.
- Cakupan: Pilih cakupan, Global atau Regional,
bergantung pada jenis load balancer.
- Jika Anda memilih Regional, pilih Region dari drop-down.
- Protocol: Pilih protokol health check.
- Port: Berikan nomor port. Saat membuat pemeriksaan kesehatan di konsol Google Cloud, Anda harus menentukan port menggunakan nomor port.
- Protokol proxy: Secara opsional, Anda dapat menambahkan header proxy ke permintaan yang dibuat oleh sistem probe health check.
- Jalur permintaan dan Respons: Untuk protokol HTTP, HTTPS, dan HTTP2, Anda dapat secara opsional memberikan jalur URL untuk dihubungi sistem probe health check. Untuk mengetahui informasi selengkapnya, lihat Flag tambahan untuk pemeriksaan status HTTP, HTTPS, dan HTTP/2.
- Permintaan dan Respons: Untuk protokol TCP dan SSL, Anda dapat menentukan string teks ASCII yang akan dikirim dan string respons teks yang diharapkan. Untuk mengetahui informasi selengkapnya, lihat Flag tambahan untuk health check SSL dan TCP.
- Interval pemeriksaan: Menentukan jumlah waktu dari awal satu pemeriksaan hingga awal pemeriksaan berikutnya.
- Waktu tunggu: Menentukan jumlah waktu yang diperlukan Google Cloud untuk menunggu respons atas pemeriksaan. Nilainya harus kurang dari atau sama dengan interval pemeriksaan.
- Batas responsif: Tentukan jumlah pemeriksaan berurutan yang harus berhasil agar instance VM dianggap responsif.
- Nilai minimum tidak responsif: Tentukan jumlah pemeriksaan berurutan yang harus gagal agar instance VM dianggap tidak responsif.
- Klik Create.
gcloud
Untuk membuat health check global, gunakan perintah
compute health-checks create
yang sesuai:gcloud compute health-checks create PROTOCOL NAME \ --global \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Untuk membuat health check regional, gunakan perintah
compute health-checks create
yang sesuai:gcloud compute health-checks create PROTOCOL NAME \ --region=REGION \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Ganti kode berikut:
PROTOCOL
menentukan protokol yang digunakan untuk health check. Opsi yang valid adalahgrpc
,http
,https
,http2
,ssl
, dantcp
.NAME
adalah nama health check. Dalam project tertentu: Setiap health check global harus memiliki nama unik, dan health check regional harus memiliki nama unik dalam region tertentu.REGION
: Region pemeriksaan kesehatan. Untuk load balancer regional, region health check harus cocok dengan region layanan backend.DESCRIPTION
adalah deskripsi opsional.CHECK_INTERVAL
adalah jumlah waktu dari awal koneksi sistem probe health check satu hingga awal koneksi berikutnya. Unit dalam hitungan detik. Jika dihilangkan, Google Cloud akan menggunakan nilai5s
(5 detik).TIMEOUT
adalah jumlah waktu yang diperlukan Google Cloud untuk menunggu respons atas pemeriksaan. NilaiTIMEOUT
harus kurang dari atau sama denganCHECK_INTERVAL
. Satuannya adalah detik. Jika dihilangkan, Google Cloud akan menggunakan nilai5s
(5 detik).HEALTHY_THRESHOLD
danUNHEALTHY_THRESHOLD
menentukan jumlah pemeriksaan berurutan yang harus berhasil atau gagal agar instance VM dianggap responsif atau tidak responsif. Jika salah satunya dihilangkan, Google Cloud akan menggunakan nilai minimum default2
.PORT_SPECIFICATION
: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.ADDITIONAL_FLAGS
adalah flag lain untuk menentukan port dan opsi khusus untukPROTOCOL
. Lihat Flag tambahan untuk health check HTTP, HTTPS, dan HTTP/2, Flag tambahan untuk health check SSL dan TCP, atau Flag tambahan untuk health check gRPC.
Terraform
Untuk membuat health check global, gunakan resource
google_compute_health_check
.
Untuk membuat health check regional, gunakan resource google_compute_region_health_check.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
API
Untuk membuat health check global, gunakan healthChecks.insert
Untuk membuat health check regional, gunakan regionHealthChecks.insert
Mengubah health check
Anda tidak dapat mengonversi health check ke health check lama (atau sebaliknya) dengan mengubah health check. Anda juga tidak dapat mengubah nama atau cakupan health check (misalnya, global menjadi regional).
Konsol
- Buka halaman Health checks di konsol Google Cloud.
Buka halaman Health checks - Klik pemeriksaan kesehatan untuk melihat detailnya.
- Jika Anda perlu mengubah pemeriksaan kesehatan, klik Edit, lalu:
- Ubah parameter sesuai kebutuhan.
- Klik Simpan.
gcloud
Identifikasi nama dan cakupan health check. Untuk mengetahui petunjuknya, lihat Mencantumkan pemeriksaan kesehatan.
Kecuali untuk nama, protokol, dan cakupan health check, Anda dapat mengubah flag umum, flag spesifikasi port, dan flag tambahan lainnya. Untuk mengubah health check yang ada, gunakan perintah perintah
compute health-checks update
yang sesuai. Untuk flag yang Anda hapus, setelan yang telah dikonfigurasi sebelumnya akan dipertahankan.Contoh modifikasi health check global: Perintah berikut akan mengubah health check HTTP global bernama
hc-http-port-80
dengan mengubah interval pemeriksaan, waktu tunggu, dan jalur permintaannya:gcloud compute health-checks update http hc-http-port-80 \ --global \ --check-interval=20s \ --timeout=15s \ --request-path="/health"
Contoh modifikasi health check regional: Perintah berikut mengubah health check TCP regional di
us-west1
bernamahc-west1-tcp-ldap
dengan mengubah spesifikasi port-nya:gcloud compute health-checks update tcp hc-west1-tcp-ldap \ --region=us-west1 \ --port=631
API
Identifikasi nama dan cakupan health check. Lihat Mencantumkan pemeriksaan kesehatan untuk mengetahui petunjuknya.
Kecuali untuk nama, protokol, dan cakupan health check, Anda dapat mengubah flag umum, flag spesifikasi port, dan flag tambahan lainnya dengan panggilan API ini. Gunakan panggilan API
patch
untuk mempertahankan setelan prekonfigurasi yang tidak ditetapkan secara eksplisit dalam permintaan.Untuk mengubah health check global, gunakan healthChecks.update atau healthChecks.patch.
Untuk mengubah health check regional, gunakan regionHealthChecks.update atau regionHealthChecks.patch.
Membuat daftar health check
Konsol
- Buka halaman Health checks di konsol Google Cloud.
Buka halaman Health checks - Klik pemeriksaan kesehatan untuk melihat detailnya.
gcloud
Untuk menampilkan daftar health check, gunakan perintah compute health-checks
list
:
Untuk membuat daftar health check global:
gcloud compute health-checks list \ --global
Untuk mencantumkan pemeriksaan kesehatan regional: Ganti
REGION_LIST
dengan daftar region Google Cloud yang dipisahkan koma untuk dikueri.gcloud compute health-checks list \ --regions=REGION_LIST
Setelah Anda mengetahui nama dan cakupan health check, gunakan perintah compute
health-checks
describe
untuk
melihat konfigurasinya saat ini.
Untuk mendeskripsikan health check global, ganti
NAME
dengan namanya.gcloud compute health-checks describe NAME \ --global
Untuk mendeskripsikan health check regional, ganti
NAME
dengan namanya danREGION
dengan region-nya.gcloud compute health-checks describe NAME \ --region=REGION
API
Untuk mencantumkan pemeriksaan kesehatan, gunakan panggilan API ini:
Untuk membuat daftar health check global: healthChecks.list
Untuk mencantumkan health check regional: regionHealthChecks.list
Untuk mendeskripsikan konfigurasi health check saat ini, gunakan:
Untuk mendeskripsikan health check global: healthChecks.get
Untuk mendeskripsikan health check regional: regionHealthChecks.get
Flag tambahan
Bagian ini menjelaskan flag tambahan yang dapat Anda gunakan saat membuat atau mengubah
health check. Beberapa flag, seperti spesifikasi port, harus ditetapkan menggunakan
gcloud
atau API.
Flag spesifikasi port
Jika membuat pemeriksaan kesehatan menggunakan Google Cloud CLI atau API, Anda memiliki dua opsi untuk menentukan port pemeriksaan kesehatan. Tabel berikut menunjukkan opsi spesifikasi port untuk kombinasi load balancer dan backend yang valid. Istilah grup instance mengacu pada grup instance tidak terkelola, grup instance terkelola zona, atau grup instance terkelola regional.
Setiap health check hanya dapat menggunakan satu jenis spesifikasi port.
Produk | Jenis backend | Opsi spesifikasi port |
---|---|---|
Load Balancer Jaringan passthrough eksternal | Grup instance dan NEG yang didukung |
Flag |
Kumpulan target | Health check lama yang mendukung spesifikasi nomor port (--port ). |
|
Load Balancer Jaringan passthrough internal | Grup instance dan NEG yang didukung |
Flag |
Load Balancer Aplikasi eksternal global Load Balancer Aplikasi Klasik Load Balancer Aplikasi eksternal regional Load Balancer Aplikasi internal lintas region Load Balancer Aplikasi internal regional Load Balancer Jaringan proxy eksternal global Load Balancer Jaringan proxy klasik Load Balancer Jaringan proxy eksternal regional Load Balancer Jaringan proxy internal lintas region Load Balancer Jaringan proxy internal regional Cloud Service Mesh |
NEG yang didukung |
|
Grup instance |
|
Jika Anda menghapus spesifikasi port saat membuat health check, Google Cloud akan menggunakan default berikut:
- Jika protokol health check adalah
TCP
atauHTTP
, health check akan menggunakan--port=80
. - Jika protokol health check adalah
SSL
,HTTPS
, atauHTTP2
, protokol tersebut akan menggunakan--port=443
. - Jika protokol health check adalah
GRPC
, tidak ada default tersirat; Anda harus menyertakan spesifikasi port.
Flag tambahan untuk health check HTTP, HTTPS, dan HTTP/2
Selain flag umum dan spesifikasi port, Anda dapat menggunakan
flag opsional berikut untuk pemeriksaan kesehatan HTTP, HTTPS, dan HTTP/2. Contoh ini membuat health check HTTP bernama hc-http-port-80
menggunakan port 80 dengan kriteria interval, waktu tunggu, dan nilai minimum kesehatan default.
gcloud compute health-checks create HTTP_PROTOCOL hc-http-port-80 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --host=HOST \ --proxy-header=PROXY_HEADER \ --request-path=REQUEST_PATH \ --response=RESPONSE
HTTP_PROTOCOL
: Dapat berupahttp
(HTTP/1.1 tanpa TLS),https
(HTTP/1.1 dengan TLS), atauhttp2
(HTTP/2 dengan TLS).COMMON_FLAGS
: Menentukan flag umum. Lihat Prosedur pembuatan.PORT_SPECIFICATION
: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.HOST
memungkinkan Anda memberikan header HTTPHost
. Jika dihilangkan, alamat IP aturan penerusan load balancer akan digunakan.PROXY_HEADER
harus berupa salah satu dariNONE
atauPROXY_V1
. Jika dihilangkan, Google Cloud akan menggunakanNONE
. NilaiPROXY_V1
menambahkan headerPROXY UNKNOWN\r\n
.REQUEST_PATH
menentukan jalur URL yang digunakan Google Cloud saat mengirim permintaan pemeriksaan kesehatan. Jika dihilangkan, permintaan health check akan dikirim ke/
.RESPONSE
menentukan respons yang diharapkan secara opsional. String respons harus mengikuti aturan berikut:- String respons harus terdiri dari huruf, angka, dan spasi ASCII.
- Panjang string respons maksimal 1.024 karakter.
- Pencocokan karakter pengganti tidak didukung.
- Pemeriksaan berbasis konten tidak mendukung inversi; misalnya, operator
seperti
!
di HAProxy tidak didukung.
Jika Google Cloud menemukan string respons yang diharapkan di mana saja dalam 1.024 byte pertama isi respons yang diterima, dan jika status HTTP adalah 200 (OK), pemeriksaan dianggap berhasil.
Flag --request-path
dan --response
mengubah kriteria keberhasilan untuk
probe health check.
Flag tambahan untuk health check SSL dan TCP
Selain flag umum dan spesifikasi port, Anda dapat menggunakan
flag opsional berikut untuk health check SSL dan TCP. Contoh ini membuat
health check TCP bernama hc-tcp-3268
menggunakan port 3268 dengan interval default,
waktu tunggu, dan kriteria nilai minimum kesehatan.
gcloud compute health-checks create tcp hc-tcp-3268 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --proxy-header=PROXY_HEADER \ --request=REQUEST_STRING \ --response=RESPONSE_STRING
- Protokol dapat berupa
tcp
(dalam contoh ini) ataussl
. COMMON_FLAGS
: Menentukan flag umum. Lihat Prosedur pembuatan.PORT_SPECIFICATION
: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.PROXY_HEADER
harus berupa salah satu dariNONE
atauPROXY_V1
. Jika dihilangkan, Google Cloud akan menggunakanNONE
. NilaiPROXY_V1
menambahkan headerPROXY UNKNOWN\r\n
.REQUEST_STRING
: Anda dapat memberikan string, hingga 1.024 karakter ASCII, untuk dikirim setelah sesi TCP atau SSL dibuat.RESPONSE_STRING
: Anda dapat memberikan string, hingga 1.024 karakter ASCII, untuk respons yang diharapkan.
Flag --request
dan --response
mengubah kriteria keberhasilan untuk
probe health check. Jika Anda menggunakan
flag --response
, baik sendiri atau bersama dengan flag --request
, respons yang ditampilkan harus sama persis dengan string respons yang diharapkan.
Flag tambahan untuk health check gRPC
Server gRPC backend Anda harus menerapkan layanan kesehatan gRPC seperti yang dijelaskan dalam
protokol pemeriksaan kesehatan gRPC.
Google Cloud mengirimkan pesan HealthCheckRequest
ke backend Anda dengan
memanggil metode Check
layanan kesehatan di backend Anda. Parameter layanan
dalam permintaan ditetapkan ke string kosong kecuali jika nama layanan gRPC
ditentukan.
Pemeriksaan kesehatan gRPC dapat memeriksa status layanan gRPC. Anda dapat menyertakan string, maksimal 1.024 karakter ASCII, yang merupakan nama layanan gRPC tertentu yang berjalan di VM atau NEG backend. Untuk melakukannya, gunakan flag opsional berikut untuk health check gRPC:
--grpc-service-name=GRPC_SERVICE_NAME
Misalnya, Anda mungkin memiliki layanan dan status berikut yang didaftarkan server backend dengan layanan gRPC Health backend Anda.
MyPackage.ServiceA
dengan status penayanganSERVING
MyPackage.ServiceB
dengan status penayanganNOT_SERVING
- Nama layanan kosong dengan status penayangan
NOT_SERVING
Jika Anda membuat health check terhadap MyPackage.ServiceA
, seperti berikut, pemeriksaan health check akan menampilkan HEALTHY
, karena status layanan adalah SERVING
.
gcloud beta compute health-checks create grpc MyGrpcHealthCheckServiceA \ --grpc-service-name=MyPackage.ServiceA
Jika Anda membuat health check terhadap MyPackage.ServiceB
, pemeriksaan health check akan menampilkan UNHEALTHY
karena status layanannya adalah
NOT_SERVING
.
Jika Anda membuat health check terhadap MyPackage.ServiceC
, yang tidak
terdaftar dengan layanan gRPC Health, pemeriksaan health check akan menampilkan
status gRPC NOT_FOUND
, yang setara dengan UNHEALTHY
.
Jika Anda membuat health check terhadap nama layanan kosong, probe health check akan menampilkan status UNHEALTHY
, karena nama layanan kosong terdaftar dengan status NOT_SERVING
.
Health check lama
Bagian ini menjelaskan cara membuat, mengubah, dan mencantumkan health check HTTP dan HTTPS lama. Anda tidak dapat mengonversi health check lama menjadi health check, dan Anda tidak dapat mengonversi health check menjadi health check lama.
Untuk mempelajari jenis load balancer yang mendukung health check lama, lihat Panduan load balancer.
Membuat health check lama
Konsol
Meskipun halaman pemeriksaan kesehatan di konsol Google Cloud mencantumkan dan memungkinkan Anda mengedit pemeriksaan kesehatan dan pemeriksaan kesehatan lama, Anda tidak dapat membuat pemeriksaan kesehatan lama baru dari halaman pemeriksaan kesehatan di konsol Google Cloud.
Anda dapat membuat pemeriksaan kesehatan lama di konsol Google Cloud hanya saat membuat Load Balancer Jaringan passthrough eksternal berbasis kumpulan target.
Untuk membuat health check lama itu sendiri, gunakan petunjuk gcloud
atau API di bagian ini.
gcloud
Untuk membuat health check lama, gunakan perintah
compute http-health-checks
create
:
gcloud compute LEGACY_CHECK_TYPE create NAME \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ --host=HOST \ --port=PORT \ --request-path=REQUEST_PATH
Ganti kode berikut:
LEGACY_CHECK_TYPE
adalahhttp-health-checks
untuk health check HTTP lama atauhttps-health-checks
untuk health check HTTPS lama. Jika membuat health check lama untuk Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, Anda harus menggunakanhttp-health-checks
.NAME
adalah nama health check lama. Dalam project tertentu, setiap health check lama harus memiliki nama yang unik.DESCRIPTION
adalah deskripsi opsional.CHECK_INTERVAL
adalah jumlah waktu dari awal satu pemeriksaan hingga awal pemeriksaan berikutnya. Unit dalam hitungan detik. Jika dihilangkan, Google Cloud akan menggunakan nilai5s
(5 detik).TIMEOUT
adalah jumlah waktu yang diperlukan Google Cloud untuk menunggu respons atas pemeriksaan. NilaiTIMEOUT
harus kurang dari atau sama denganCHECK_INTERVAL
. Unit dalam hitungan detik. Jika dihilangkan, Google Cloud akan menggunakan nilai5s
(5 detik).HEALTHY_THRESHOLD
danUNHEALTHY_THRESHOLD
menentukan jumlah pemeriksaan berurutan yang harus berhasil atau gagal agar instance VM dianggap responsif atau tidak responsif. Jika salah satunya dihilangkan, Google Cloud akan menggunakan nilai minimum default2
.HOST
memungkinkan Anda memberikan header HTTP host. Jika dihilangkan, alamat IP aturan penerusan load balancer akan digunakan.PORT
memungkinkan Anda memberikan nomor port. Jika dihilangkan, Google Cloud akan menggunakan80
.REQUEST_PATH
menentukan jalur URL yang digunakan Google Cloud saat mengirim permintaan health check. Jika dihilangkan, permintaan health check akan dikirim ke/
.
API
Untuk membuat health check HTTP lama, gunakan panggilan API httpHealthChecks.insert.
Untuk membuat health check HTTPS lama, gunakan httpsHealthChecks.insert
Terraform
Untuk membuat resource health check HTTP lama, gunakan resource
google_compute_http_health_check
.Untuk membuat resource health check HTTPS lama, gunakan resource
google_compute_https_health_check
.
Mengubah health check lama
Konsol
- Buka halaman Health checks di konsol Google Cloud.
Buka halaman Health checks - Klik pemeriksaan kesehatan untuk melihat detailnya.
- Klik Edit , buat perubahan, lalu klik Simpan.
gcloud
Untuk mengubah health check HTTP lama, gunakan perintah
compute http-health-checks update
, dengan menggantiNAME
dengan namanya. Saat mengubah pemeriksaan kesehatan lama dengangcloud
, setelan yang telah dikonfigurasi sebelumnya untuk flag yang Anda hapus akan dipertahankan.OTHER_OPTIONS
adalah opsi yang dijelaskan dalam membuat health check lama.gcloud compute http-health-checks update NAME \ OTHER_OPTIONS
Untuk mengubah health check HTTPS lama, gunakan perintah
compute https-health-checks update
, dengan menggantiNAME
dengan namanya. Saat mengubah pemeriksaan kesehatan lama dengangcloud
, setelan yang telah dikonfigurasi sebelumnya untuk flag yang Anda hapus akan dipertahankan.OTHER_OPTIONS
adalah opsi yang dijelaskan dalam membuat health check lama.gcloud compute https-health-checks update NAME \ OTHER_OPTIONS
API
Kecuali untuk nama dan jenis health check lama, Anda dapat mengubah salah satu flag yang digunakan untuk pembuatannya. Panggilan API
patch
mempertahankan setelan yang telah dikonfigurasi sebelumnya yang tidak ditetapkan secara eksplisit dalam
permintaan patch.
Untuk mengubah health check HTTP lama, gunakan httpHealthChecks.update atau httpHealthChecks.patch.
Untuk mengubah health check HTTPS lama, gunakan httpsHealthChecks.update atau httpsHealthChecks.patch.
Membuat daftar health check lama
Konsol
- Buka halaman Health checks di konsol Google Cloud.
Buka halaman Health checks - Klik pemeriksaan kesehatan lama untuk melihat detailnya.
gcloud
Untuk mencantumkan health check HTTP lama, gunakan perintah
compute http-health-checks list
:gcloud compute http-health-checks list
Untuk mencantumkan health check HTTPS lama, gunakan perintah
compute https-health-checks list
:gcloud compute https-health-checks list
Untuk mendeskripsikan health check HTTP lama, gunakan perintah
compute http-health-checks describe
, dan gantiNAME
dengan namanya.gcloud compute http-health-checks describe NAME
Untuk mendeskripsikan health check HTTPS lama, gunakan perintah
compute https-health-checks describe
, dengan menggantiNAME
dengan namanya.gcloud compute https-health-checks describe NAME
API
Untuk membuat daftar health check lama:
Gunakan httpHealthChecks.list untuk mencantumkan health check HTTP lama.
Gunakan httpsHealthChecks.list untuk mencantumkan health check HTTPS lama.
Untuk mendeskripsikan health check lama:
Gunakan httpHealthChecks.get untuk mendeskripsikan health check HTTP lama.
Gunakan httpsHealthChecks.get untuk mendeskripsikan health check HTTPS lama.
Membuat aturan firewall yang diperlukan
Anda perlu membuat aturan firewall masuk yang berlaku untuk semua VM yang di-load balance untuk mengizinkan traffic dari rentang IP prober health check. Contoh berikut membuat aturan firewall yang berlaku untuk instance VM yang diidentifikasi oleh tag target tertentu.
Contoh ini mengizinkan semua traffic TCP dari sistem health check Google Cloud ke instance VM Anda. (Traffic TCP mencakup traffic SSL, HTTP, HTTPS, dan
HTTP/2.) Jika mau, Anda dapat menentukan port beserta protokol TCP;
tetapi, jika Anda menentukan port, aturan firewall Anda mungkin menjadi
spesifik untuk health check tertentu. Jika Anda menggunakan tcp:80
untuk protokol dan
port, tindakan ini akan mengizinkan traffic TCP di port 80, sehingga Google Cloud dapat menghubungi VM Anda menggunakan HTTP di port 80, tetapi tidak dapat menghubungi VM menggunakan HTTPS di port 443.
Konsol
- Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Buka Kebijakan firewall - Klik Create firewall rule.
- Di halaman Buat aturan firewall, berikan informasi berikut:
- Nama: Berikan nama untuk aturan. Untuk contoh ini, gunakan
fw-allow-health-checks
. - Network: Pilih jaringan VPC.
- Prioritas: Masukkan angka untuk prioritas. Angka yang lebih rendah memiliki prioritas yang lebih tinggi. Pastikan aturan firewall memiliki prioritas yang lebih tinggi daripada aturan lain yang mungkin menolak traffic masuk.
- Direction of traffic: Pilih ingress.
- Action on match: Pilih allow.
- Target: Pilih Tag target yang ditentukan, lalu masukkan tag di
kolom Tag target. Untuk contoh ini, gunakan
allow-health-checks
. - Source filter: Pilih IP ranges.
- Rentang IP sumber: Masukkan rentang IP sumber, bergantung pada jenis load balancer, jenis traffic, dan jenis health check Anda. Lihat Memeriksa aturan firewall dan rentang IP.
- Protokol dan port yang diizinkan: Gunakan
tcp
dan port yang dikonfigurasi di health check Anda. TCP adalah protokol dasar untuk semua protokol health check. - Klik Create.
- Nama: Berikan nama untuk aturan. Untuk contoh ini, gunakan
- Pada setiap instance yang di-load balance, tambahkan tag jaringan agar aturan firewall traffic masuk baru ini berlaku untuk instance tersebut. Contoh ini menggunakan
allow-health-checks
untuk tag jaringan.
gcloud
Gunakan perintah
gcloud
berikut untuk membuat aturan firewall bernamafw-allow-health-checks
yang mengizinkan koneksi TCP masuk, dari sistem health check Google Cloud, ke instance di jaringan VPC Anda dengan tagallow-health-checks
. Berdasarkan jenis load balancer, kumpulan rentang IP probe dan aturan firewall yang berbeda didukung untuk traffic IPv6 ke backend.Ganti
NETWORK_NAME
dengan nama jaringan VPC Anda dan gantiPORT
dengan port yang digunakan oleh load balancer Anda.gcloud compute firewall-rules create fw-allow-health-checks \ --network=NETWORK_NAME \ --action=ALLOW \ --direction=INGRESS \ --source-ranges=SOURCE_IP_RANGE \ --target-tags=allow-health-checks \ --rules=tcp:PORT
Nilai untuk SOURCE_IP_RANGE bergantung pada jenis load balancer, jenis traffic, dan jenis health check Anda. Lihat Memeriksa aturan firewall dan rentang IP.
Pada setiap instance yang di-load balance, tambahkan tag jaringan agar aturan firewall traffic masuk baru ini berlaku untuk instance tersebut. Contoh ini menggunakan
allow-health-checks
untuk tag jaringan.
Lihat dokumentasi
aturan firewall gcloud
dan dokumentasi
API untuk mengetahui detail selengkapnya.
Dokumentasi terkait:
- Untuk mengetahui informasi selengkapnya tentang cara menentukan target untuk aturan firewall, lihat penjelasan target di Ringkasan Aturan Firewall dan Mengonfigurasi tag jaringan.
- Untuk mengetahui informasi selengkapnya tentang semua aturan firewall yang diperlukan oleh load balancer, lihat Aturan firewall.
Mengaitkan health check dengan load balancer
Jika Anda belum melakukannya, tinjau Ringkasan health check: Memilih health check.
Untuk mengaitkan health check dengan load balancer baru, lihat panduan penyiapan untuk load balancer masing-masing. Bagian ini menjelaskan cara mengaitkan health check dengan layanan backend load balancer yang ada.
Bagian ini mengasumsikan bahwa Anda telah:
- Membuat load balancer.
- Membuat health check.
Membuat aturan firewall yang diperlukan.
Konsol
Untuk mengaitkan health check dengan load balancer yang ada:
- Buka halaman Load balancing di Konsol Google Cloud.
Buka halaman Load balancing - Klik load balancer untuk melihat detailnya.
- Klik Edit , lalu klik Backend configuration.
- Pilih health check dari menu Health check.
- Klik Perbarui.
gcloud
Untuk mengaitkan pemeriksaan kesehatan dengan layanan backend yang ada, ikuti langkah-langkah berikut.
Identifikasi nama dan cakupan layanan backend. Load Balancer Jaringan passthrough dan Load Balancer Jaringan proxy hanya memiliki satu layanan backend per load balancer. Load Balancer Aplikasi memiliki satu atau beberapa layanan backend yang terkait dengan satu peta URL.
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan passthrough internal, jalankan perintah berikut.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=INTERNAL"
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan passthrough eksternal, jalankan perintah berikut.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL"
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan proxy eksternal global, jalankan perintah berikut.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Untuk menampilkan layanan backend untuk Load Balancer Jaringan proxy klasik, jalankan perintah berikut.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan proxy internal lintas region, jalankan perintah berikut.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=INTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan proxy eksternal regional, jalankan perintah berikut.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Untuk mencantumkan layanan backend untuk Load Balancer Jaringan proxy internal regional, jalankan perintah berikut.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=INTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Untuk mengidentifikasi layanan backend untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas-region, identifikasi peta URL terlebih dahulu, lalu deskripsikan peta tersebut. Peta URL dan layanan backend untuk load balancer ini selalu bersifat global, terlepas dari Tingkat Layanan Jaringan. Ganti
URL_MAP_NAME
dengan nama peta URL. Layanan backend yang digunakan oleh load balancer tercantum dalam respons.gcloud compute url-maps list \ --global
gcloud compute url-maps describe URL_MAP_NAME \ --global
Untuk mengidentifikasi layanan backend bagi Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, identifikasi peta URL terlebih dahulu, lalu deskripsikan peta tersebut. Peta URL dan layanan backend untuk load balancer ini bersifat regional. Ganti
REGION_LIST
dengan daftar region Google Cloud yang dipisahkan koma untuk dikueri. GantiURL_MAP_NAME
dengan nama peta URL danREGION
dengan region-nya. Layanan backend yang digunakan oleh load balancer tercantum dalam respons.gcloud compute url-maps list \ --regions=REGION_LIST
gcloud compute url-maps describe URL_MAP_NAME \ --region=REGION
Identifikasi health check. Lihat Mencantumkan health check.
Kaitkan health check dengan layanan backend menggunakan perintah
compute backend-services update
. Setiap layanan backend harus mereferensikan satu health check. Dalam perintah berikut, gantiBACKEND_SERVICE_NAME
dengan nama layanan backend,HEALTH_CHECK_NAME
dengan nama health check, dan, jika perlu,REGION
dengan region Google Cloud untuk layanan backend, health check, atau keduanya.Untuk mengubah health check untuk Load Balancer Jaringan passthrough internal: Layanan backend Load Balancer Jaringan passthrough internal bersifat regional. Health check ini dapat mereferensikan health check global atau regional. Contoh berikut menunjukkan referensi health check regional. Jika Anda menggunakan health check global dengan Load Balancer Jaringan passthrough internal, gunakan
--global-health-checks
, bukan--health-checks-region
.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Untuk mengubah health check untuk Load Balancer Jaringan passthrough eksternal berbasis layanan backend: Layanan backend Load Balancer Jaringan passthrough eksternal bersifat regional. Health check ini dapat mereferensikan health check regional.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Untuk mengubah health check untuk Load Balancer Jaringan proxy eksternal global, Load Balancer Jaringan proxy klasik, Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, atau Load Balancer Aplikasi internal lintas-region: Layanan backend dan health check bersifat global untuk load balancer ini. Load Balancer Aplikasi dapat mereferensikan lebih dari satu health check jika mereferensikan lebih dari satu layanan backend.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --health-checks HEALTH_CHECK_NAME \ --global-health-checks
Untuk mengubah health check untuk Load Balancer Aplikasi eksternal regional, Load Balancer Jaringan proxy eksternal regional, Load Balancer Aplikasi internal regional, atau Load Balancer Jaringan proxy internal regional: Layanan backend dan health check bersifat regional. Beberapa load balancer mungkin mereferensikan lebih dari satu health check jika dapat mereferensikan lebih dari satu layanan backend.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
API
Anda dapat mencantumkan layanan backend dengan panggilan API backendServices.list.
Untuk mengaitkan pemeriksaan kesehatan dengan layanan backend, gunakan salah satu panggilan API berikut:
Mengaitkan health check lama dengan Load Balancer Jaringan passthrough eksternal berbasis kumpulan target
Untuk mengaitkan health check lama dengan Load Balancer Jaringan passthrough eksternal baru, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal dengan kumpulan target. Bagian ini menjelaskan cara mengaitkan health check lama dengan Load Balancer Jaringan passthrough eksternal berbasis kumpulan target.
Bagian ini mengasumsikan bahwa Anda telah:
- Membuat Load Balancer Jaringan passthrough eksternal berbasis kumpulan target.
- Membuat health check lama.
Membuat aturan firewall yang diperlukan.
Konsol
Untuk mengaitkan health check dengan Load Balancer Jaringan passthrough eksternal berbasis kumpulan target yang ada:
- Buka halaman Load balancing di Konsol Google Cloud.
Buka halaman Load balancing - Klik load balancer untuk melihat detailnya.
- Klik Edit , lalu klik Backend configuration.
- Pilih health check lama dari menu Health check. (Hanya health check lama yang memenuhi syarat yang ditampilkan.)
- Klik Perbarui.
gcloud
Untuk mengaitkan health check dengan Load Balancer Jaringan passthrough eksternal berbasis kumpulan target yang ada:
Identifikasi kumpulan target. Load Balancer Jaringan passthrough eksternal memiliki minimal satu kumpulan target, dan mungkin memiliki kumpulan cadangan sekunder.
gcloud compute target-pools list
Identifikasi health check lama menggunakan protokol
HTTP
. Lihat pemeriksaan kesehatan lama jika perlu.Kaitkan health check lama dengan kumpulan target. Dalam perintah berikut, ganti
TARGET_POOL_NAME
dengan nama kumpulan target,REGION
dengan region-nya, danLEGACY_CHECK_NAME
dengan nama pemeriksaan kesehatan lama. Health check lama harus menggunakan protokol HTTP.Untuk menghapus health check HTTP lama dari kumpulan target:
gcloud compute target-pools remove-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
Untuk menambahkan health check HTTP lama ke kumpulan target:
gcloud compute target-pools add-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
API
Anda dapat mencantumkan kumpulan target dengan panggilan API targetPools.list.
Lihat health check lama dan identifikasi health check HTTP lama.
Untuk mengaitkan health check HTTP lama dengan kumpulan target, gunakan panggilan API targetPools.addHealthCheck.
Memeriksa status health check
Setelah mengaitkan health check dengan layanan backend atau kumpulan target, Anda dapat mendapatkan status health check instan untuk backend load balancer.
Konsol
- Buka halaman ringkasan load balancing.
Buka halaman Load balancing - Klik nama load balancer.
- Di bagian Backend, periksa kolom Healthy. Status kondisi dilaporkan untuk setiap grup instance backend atau grup endpoint jaringan.
gcloud
Untuk semua load balancer kecuali Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, identifikasi nama dan cakupan (global atau regional) layanan backend. Untuk mengetahui daftar lengkap load balancer dan cakupan, lihat Layanan backend.
Gunakan perintah
compute backend-services get-health
, gantiNAME
dengan nama layanan backend, danREGION
dengan region-nya, jika diperlukan.Untuk mendapatkan status responsivitas instan layanan backend global:
gcloud compute backend-services get-health GLOBAL_BACKEND_SERVICE_NAME \ --global
Untuk mendapatkan status responsivitas instan layanan backend regional:
gcloud compute backend-services get-health REGIONAL_BACKEND_SERVICE_NAME \ --region=REGION
Untuk Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, identifikasi nama dan region kumpulan target load balancer, lalu gunakan perintah
compute target-pools get-health
, yang menggantiNAME
dengan nama kumpulan target, danREGION
dengan region-nya.gcloud compute target-pools get-health TARGET_POOL_NAME \ --region=REGION
API
Untuk semua load balancer kecuali Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, identifikasi nama dan cakupan (global atau regional) layanan backend. Untuk mengetahui daftar lengkap load balancer dan cakupan, lihat Layanan backend.
Untuk mendapatkan status responsivitas instan layanan backend global, gunakan backendServices.getHealth
Untuk mendapatkan status responsivitas instan layanan backend regional, gunakan regionBackendServices.getHealth
Untuk Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, gunakan targetPools.getHealth