Menggunakan health check

Google Cloud menyediakan mekanisme health check yang menentukan apakah backend merespons traffic dengan benar. Dokumen ini menjelaskan cara membuat dan menggunakan health check untuk load balancers dan Traffic Director.

Halaman ini mengasumsikan bahwa Anda telah memahami konsep berikut:

Membuat health check

Dengan Google Cloud, Anda dapat membuat atau memilih health check setelah 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 health check menggunakan Konsol Google Cloud, Google Cloud CLI, atau REST API.

Konsol

  1. Buka halaman Health check di Konsol Google Cloud.
    Buka halaman Health check
  2. Klik Buat health check.
  3. Di halaman Membuat health check, berikan informasi berikut:
    • Nama: Beri nama untuk health check.
    • Deskripsi: Jika perlu, berikan deskripsi.
    • Cakupan: Pilih cakupan, Global atau Regional, bergantung pada jenis load balancer.
      • Jika Anda memilih Regional, pilih Region dari drop-down.
    • Protocol: Pilih sebuah protokol health check.
    • Port: Berikan nomor port. Saat membuat health check 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 pemeriksaan health check.
    • Jalur permintaan dan Respons: Untuk protokol HTTP, HTTPS, dan HTTP2, Anda dapat secara opsional memberikan jalur URL untuk dihubungi sistem pemeriksaan health. Untuk informasi selengkapnya, lihat Flag tambahan untuk health check HTTP, HTTPS, dan HTTP/2.
    • Request dan Response: Untuk protcol 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: Tentukan jumlah waktu dari awal satu pemeriksaan hingga awal pemeriksaan berikutnya.
    • Waktu tunggu: Menentukan jumlah waktu yang diperlukan Google Cloud untuk menunggu respons terhadap pemeriksaan. Nilainya harus kurang dari atau sama dengan interval pemeriksaan.
    • Batas respons yang responsif: Menentukan jumlah pemeriksaan berurutan yang harus berhasil agar instance VM dianggap responsif.
    • Batas tidak responsif: Tentukan jumlah pemeriksaan berurutan yang harus gagal agar instance VM dianggap tidak responsif.
  4. 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 adalah grpc, http, https, http2, ssl, dan tcp.
  • 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: Semua load balancer, kecuali untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, menggunakan health check global (--global). Load Balancer Aplikasi internal regional menggunakan health check regional yang regionnya harus cocok dengan region layanan backend.
  • DESCRIPTION adalah deskripsi opsional.
  • CHECK_INTERVAL adalah jumlah waktu sejak awal satu koneksi sistem pemeriksaan kesehatan hingga awal yang berikutnya. Unit adalah detik. Jika dihilangkan, Google Cloud akan menggunakan nilai 5s (5 detik).
  • TIMEOUT adalah jumlah waktu yang dibutuhkan Google Cloud untuk menunggu respons terhadap pemeriksaan. Nilai TIMEOUT harus kurang dari atau sama dengan CHECK_INTERVAL. Unit dalam hitungan detik. Jika dihilangkan, Google Cloud akan menggunakan nilai 5s (5 detik).
  • HEALTHY_THRESHOLD dan UNHEALTHY_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 default 2.
  • PORT_SPECIFICATION: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.
  • ADDITIONAL_FLAGS adalah flag lain untuk menentukan port dan opsi khusus untuk PROTOCOL. 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.

resource "google_compute_health_check" "health_check_tcp_with_logging" {
  provider = google-beta

  name = "health-check-tcp"

  timeout_sec        = 1
  check_interval_sec = 1

  tcp_health_check {
    port = "22"
  }

  log_config {
    enable = true
  }
}

Untuk membuat health check regional, gunakan resource google_compute_region_health_check.

resource "google_compute_region_health_check" "default" {
  name               = "tcp-health-check-region-west"
  timeout_sec        = 5
  check_interval_sec = 5
  tcp_health_check {
    port = "80"
  }
  region = "us-west1"
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

API

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

  1. Buka halaman Health check di Konsol Google Cloud.
    Buka halaman Health check
  2. Klik health check untuk melihat detailnya.
  3. Jika Anda perlu mengubah health check, klik Edit, lalu:
    • Buat perubahan pada parameter yang diperlukan.
    • Klik Save.

gcloud

  1. Mengidentifikasi nama dan cakupan health check. Untuk mengetahui petunjuknya, lihat Mencantumkan health check.

  2. Kecuali untuk nama, protokol, dan cakupan health check, Anda dapat mengubah salah satu flag umum, tanda spesifikasi port, dan flag tambahan lainnya. Untuk mengubah health check yang ada, gunakan perintah perintah compute health-checks update yang sesuai. Untuk tanda yang Anda hapus, setelan yang telah dikonfigurasi sebelumnya akan dipertahankan.

    • Contoh modifikasi health check global: Perintah berikut 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 bernama hc-west1-tcp-ldap dengan mengubah spesifikasi port-nya:

      gcloud compute health-checks update tcp hc-west1-tcp-ldap \
          --region=us-west1 \
          --port=631
      

API

  1. Mengidentifikasi nama dan cakupan health check. Lihat Mencantumkan health check untuk mengetahui petunjuknya.

  2. Kecuali untuk nama, protokol, dan cakupan health check, Anda dapat mengubah salah satu flag umum, tanda spesifikasi port, dan flag tambahan lainnya dengan panggilan API ini. Gunakan panggilan API patch untuk mempertahankan setelan apa pun yang telah dikonfigurasi sebelumnya yang tidak secara eksplisit ditetapkan dalam permintaan.

Membuat daftar health check

Konsol

  1. Buka halaman Health check di Konsol Google Cloud.
    Buka halaman Health check
  2. Klik health check untuk melihat detailnya.

gcloud

Untuk menampilkan daftar health check, gunakan perintah compute health-checks list:

  • Untuk mencantumkan health check global:

    gcloud compute health-checks list \
        --global
    
  • Untuk mencantumkan health check regional: Ganti REGION_LIST dengan daftar region Google Cloud yang dipisahkan koma untuk membuat kueri.

    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 dan REGION dengan region-nya.

    gcloud compute health-checks describe NAME \
        --region=REGION
    

API

Untuk mencantumkan health check, gunakan panggilan API ini:

Untuk menjelaskan konfigurasi health check saat ini, gunakan panggilan API berikut:

Tanda 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 health check menggunakan Google Cloud CLI atau API, Anda memiliki dua opsi untuk menentukan port health check. Tabel berikut menunjukkan opsi spesifikasi port untuk kombinasi backend dan load balancer yang valid. Istilah grup instance mengacu pada grup instance yang tidak dikelola, grup instance terkelola zona, atau grup instance terkelola regional.

Setiap health check hanya dapat menggunakan satu jenis spesifikasi port.

Produk Backend type Opsi spesifikasi port
Load Balancer Jaringan passthrough eksternal Grup instance --port: Menentukan port TCP berdasarkan nomor, dari 1 hingga 65535
Flag --use-serving-port akan diabaikan untuk health check yang terkait dengan Load Balancer Jaringan passthrough eksternal karena layanan backend untuk Load Balancer Jaringan passthrough eksternal tidak memiliki spesifikasi port.
Load Balancer Jaringan passthrough internal Grup instance --port: Menentukan port TCP berdasarkan nomor, dari 1 hingga 65535
Flag --use-serving-port akan diabaikan untuk health check yang terkait dengan Load Balancer Jaringan passthrough internal karena layanan backend untuk Load Balancer Jaringan passthrough internal tidak memiliki spesifikasi port.
Load Balancer Aplikasi eksternal global

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 eksternal regional


Load Balancer Jaringan Proxy internal regional

Load Balancer Internal Proxy Jaringan region
0 Load Balancer internal lintas region
NEGARA ZONA --port: Menentukan port TCP berdasarkan nomor, dari 1 hingga 65535
--use-serving-port: Gunakan port setiap endpoint di grup endpoint jaringan.
Grup instance --port: Menentukan port TCP berdasarkan nomor, dari 1 hingga 65535
--use-serving-port: Gunakan port bernama grup instance yang sama yang berlangganan layanan backend.

Jika Anda menghapus spesifikasi port, Google Cloud akan menggunakan default berikut:

  • Jika protokol health check adalah TCP atau HTTP, protokol tersebut akan menggunakan --port=80.
  • Jika protokol health check adalah SSL, HTTPS, atau HTTP2, protokol tersebut akan menggunakan --port=443.
  • Jika protokol health check adalah GRPC, tidak ada default tersirat; Anda harus menyertakan spesifikasi port.

Tanda tambahan untuk health check HTTP, HTTPS, dan HTTP/2

Selain tanda umum dan spesifikasi port, Anda dapat menggunakan tanda opsional berikut untuk health check 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 batas kondisi 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 berupa http (HTTP/1.1 tanpa TLS), https (HTTP/1.1 dengan TLS), atau http2 (HTTP/2 dengan TLS).
  • COMMON_FLAGS: Mendefinisikan flag umum. Lihat Prosedur pembuatan.
  • PORT_SPECIFICATION: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.
  • HOST memungkinkan Anda menyediakan header HTTP Host. Jika dihilangkan, alamat IP dari aturan penerusan load balancer akan digunakan.
  • PROXY_HEADER harus salah satu dari NONE atau PROXY_V1. Jika dihilangkan, Google Cloud akan menggunakan NONE. Nilai PROXY_V1 menambahkan header PROXY UNKNOWN\r\n.
  • REQUEST_PATH menentukan jalur URL yang digunakan Google Cloud saat mengirim permintaan health check. Jika dihilangkan, permintaan health check akan dikirim ke /.
  • RESPONSE menentukan respons yang diharapkan opsional. String respons harus mengikuti aturan berikut:
    • String respons harus terdiri dari huruf ASCII, angka, dan spasi.
    • Panjang string respons dapat mencapai 1.024 karakter.
    • Pencocokan karakter pengganti tidak didukung.
    • Pemeriksaan berbasis konten tidak mendukung inversi; misalnya, operator seperti ! dalam HAProxy tidak didukung.

Jika Google Cloud menemukan string respons yang diharapkan di mana saja dalam 1.024 byte pertama dari isi respons yang diterima, dan jika status HTTP-nya adalah 200 (OK), pemeriksaan dianggap berhasil.

Flag --request-path dan --response akan mengubah kriteria keberhasilan untuk pemeriksaan health check.

Tanda tambahan untuk health check SSL dan TCP

Selain tanda umum dan spesifikasi port, Anda dapat menggunakan tanda opsional berikut untuk health check SSL dan TCP. Contoh ini membuat health check TCP bernama hc-tcp-3268 menggunakan port 3268 dengan kriteria batas kondisi, waktu tunggu, dan interval default.

gcloud compute health-checks create tcp hc-tcp-3268 \
    COMMON_FLAGS \
    PORT_SPECIFICATION \
    --proxy-header=PROXY_HEADER \
    --request=REQUEST_STRING \
    --response=RESPONSE_STRING
  • Protokolnya dapat berupa tcp (dalam contoh ini) atau ssl.
  • COMMON_FLAGS: Mendefinisikan flag umum. Lihat Prosedur pembuatan.
  • PORT_SPECIFICATION: Menentukan spesifikasi port menggunakan salah satu Flag spesifikasi port.
  • PROXY_HEADER harus salah satu dari NONE atau PROXY_V1. Jika dihilangkan, Google Cloud akan menggunakan NONE. Nilai PROXY_V1 menambahkan header PROXY UNKNOWN\r\n.
  • REQUEST_STRING: Anda dapat menyediakan string dengan panjang hingga 1.024 karakter ASCII, untuk dikirim setelah sesi TCP atau SSL dibuat.
  • RESPONSE_STRING: Anda dapat memberikan string dengan panjang hingga 1.024 karakter ASCII, untuk respons yang diharapkan.

Flag --request dan --response akan mengubah kriteria keberhasilan untuk pemeriksaan health check. Jika Anda menggunakan flag --response, baik dengan tanda itu sendiri maupun bersama dengan tanda --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 kondisi gRPC seperti yang dijelaskan dalam protokol health check gRPC. Google Cloud mengirimkan pesan HealthCheckRequest ke backend Anda dengan memanggil metode Check dari layanan kesehatan di backend Anda. Parameter layanan dalam permintaan ditetapkan ke string kosong kecuali jika nama layanan gRPC ditentukan.

Health check gRPC dapat memeriksa status layanan gRPC. Anda dapat menyertakan string, dengan panjang hingga 1.024 karakter ASCII, yang merupakan nama layanan gRPC tertentu yang berjalan pada VM backend atau NEG. 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 penayangan SERVING
  • MyPackage.ServiceB dengan status penayangan NOT_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 layanan 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, pemeriksaan health check akan menampilkan status UNHEALTHY, karena nama layanan kosong didaftarkan 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 health check konsol Google Cloud mencantumkan dan memungkinkan Anda mengedit health check dan health check lama, Anda tidak dapat membuat health check lama yang baru dari halaman health check Konsol Google Cloud.

Anda dapat membuat health check lama di Konsol Google Cloud hanya saat membuat Load Balancer Jaringan passthrough eksternal berbasis kumpulan target. Untuk membuat health check lama dengan sendirinya, 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 adalah http-health-checks untuk health check HTTP lama atau https-health-checks untuk health check HTTPS lama. Jika Anda membuat health check lama untuk Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, Anda harus menggunakan http-health-checks.
  • NAME adalah nama health check lama. Dalam project tertentu, setiap health check lama harus memiliki nama 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 nilai 5s (5 detik).
  • TIMEOUT adalah jumlah waktu saat Google Cloud akan menunggu respons terhadap pemeriksaan. Nilai TIMEOUT harus kurang dari atau sama dengan CHECK_INTERVAL. Unit dalam hitungan detik. Jika dihapus, Google Cloud akan menggunakan nilai 5s (5 detik).
  • HEALTHY_THRESHOLD dan UNHEALTHY_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 default 2.
  • HOST memungkinkan Anda menyediakan header HTTP host. Jika dihilangkan, alamat IP aturan penerusan load balancer akan digunakan.
  • PORT memungkinkan Anda memberikan nomor port. Jika dihilangkan, Google Cloud akan menggunakan 80.
  • REQUEST_PATH menentukan jalur URL yang digunakan Google Cloud saat mengirim permintaan health check. Jika dihilangkan, permintaan health check akan dikirim ke /.

API

Terraform

Mengubah health check lama

Konsol

  1. Buka halaman Health check di Konsol Google Cloud.
    Buka halaman Health check
  2. Klik health check untuk melihat detailnya.
  3. Klik Edit , buat perubahan, lalu klik Save.

gcloud

  • Untuk mengubah health check HTTP lama, gunakan perintah compute http-health-checks update, dengan mengganti NAME dengan namanya. Saat memodifikasi health check lama dengan gcloud, 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 mengganti NAME dengan namanya. Saat memodifikasi health check lama dengan gcloud, 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 tanda yang digunakan untuk pembuatannya. Panggilan API patch mempertahankan setelan apa pun yang telah dikonfigurasi sebelumnya yang tidak secara eksplisit ditetapkan dalam permintaan patch.

Mencantumkan health check lama

Konsol

  1. Buka halaman Health check di Konsol Google Cloud.
    Buka halaman Health check
  2. Klik health check lama untuk melihat detailnya.

gcloud

  1. 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
    
  2. Untuk mendeskripsikan health check HTTP lama, gunakan perintah compute http-health-checks describe, dan ganti NAME dengan namanya.

    gcloud compute http-health-checks describe NAME
    

    Untuk mendeskripsikan health check HTTPS lama, gunakan perintah compute https-health-checks describe, dengan mengganti NAME dengan namanya.

    gcloud compute https-health-checks describe NAME
    

API

  1. Untuk mencantumkan health check lama:

  2. Untuk menjelaskan health check lama:

Membuat aturan firewall yang diperlukan

Anda perlu membuat aturan firewall masuk yang berlaku untuk semua VM yang di-load balanced untuk mengizinkan traffic dari rentang IP pemeriksaan 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 ingin, Anda dapat menentukan port beserta protokol TCP; tetapi, jika Anda menentukan port, aturan firewall Anda dapat menjadi khusus untuk health check tertentu. Jika Anda menggunakan tcp:80 untuk protokol dan port, hal ini memungkinkan traffic TCP di port 80, sehingga Google Cloud dapat menghubungi VM Anda menggunakan HTTP di port 80, tetapi tidak dapat menghubungi VM tersebut menggunakan HTTPS di port 443.

Konsol

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
    Buka kebijakan Firewall
  2. Klik Create firewall rule.
  3. Di halaman Create a firewall rule, berikan informasi berikut:
    • Nama: Berikan nama untuk aturan. Untuk contoh ini, gunakan fw-allow-health-checks.
    • Network: Pilih jaringan VPC.
    • Priority: Masukkan angka untuk prioritas. Angka yang lebih rendah memiliki prioritas yang lebih tinggi. Pastikan aturan firewall memiliki prioritas lebih tinggi daripada aturan lain yang mungkin menolak traffic masuk.
    • Arah traffic: Pilih ingress.
    • Tindakan pada kecocokan: Pilih izinkan.
    • Targets: Pilih Specified target tags, lalu masukkan tag di kolom Target tags. Untuk contoh ini, gunakan allow-health-checks.
    • Source filter: Pilih IP ranges.
    • Source IP ranges: Masukkan rentang IP sumber, bergantung pada jenis load balancer, jenis traffic, dan jenis health check Anda. Lihat Rentang IP dan aturan firewall.
    • 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.
  4. Di setiap instance yang mengalami load balancing, tambahkan tag jaringan sehingga aturan firewall masuk yang baru ini berlaku untuk instance tersebut. Contoh ini menggunakan allow-health-checks untuk tag jaringan.

gcloud

  1. Gunakan perintah gcloud berikut untuk membuat aturan firewall bernama fw-allow-health-checks yang memungkinkan koneksi TCP masuk, dari sistem health check Google Cloud, ke instance di jaringan VPC Anda dengan tag allow-health-checks. Ganti NETWORK_NAME dengan nama jaringan VPC Anda dan ganti PORT 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 Rentang IP dan aturan firewall.

  2. Di setiap instance yang mengalami load balancing, tambahkan tag jaringan sehingga aturan firewall masuk yang 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 lebih lanjut 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: Pilih health check.

Untuk mengaitkan health check dengan load balancer baru, lihat panduan penyiapan untuk masing-masing load balancer. Bagian ini menjelaskan cara mengaitkan health check dengan layanan backend load balancer yang sudah ada.

Bagian ini mengasumsikan bahwa Anda telah:

Konsol

Untuk mengaitkan health check dengan load balancer yang sudah ada:

  1. Buka halaman Load balancing di Konsol Google Cloud.
    Buka halaman Load balancing
  2. Klik load balancer untuk melihat detailnya.
  3. Klik Edit , lalu klik Backend configuration.
  4. Pilih health check dari menu Health check.
  5. Klik Perbarui.

gcloud

Untuk mengaitkan health check dengan layanan backend yang ada, ikuti langkah-langkah berikut.

  1. Identifikasi nama dan cakupan layanan backend. Load Balancer Jaringan passthrough eksternal, Load Balancer Jaringan passthrough internal, Load Balancer Jaringan proxy internal regional, dan Load Balancer Jaringan proxy eksternal hanya memiliki satu layanan backend per load balancer. Load Balancer Aplikasi eksternal dan Load Balancer Aplikasi internal memiliki satu atau beberapa layanan backend yang terkait dengan satu peta URL.

    • Guna mencantumkan layanan backend untuk Load Balancer Jaringan passthrough internal, jalankan perintah berikut, dengan mengganti REGION_LIST dengan daftar region Google Cloud yang dipisahkan koma untuk dikueri.

      gcloud compute backend-services list \
          --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL"
      
    • Guna mencantumkan layanan backend untuk Load Balancer Jaringan passthrough eksternal, jalankan perintah berikut, dan ganti setiap REGION dengan region Google Cloud yang akan dikueri.

      gcloud compute backend-services list \
          --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=EXTERNAL"
      
    • Untuk menampilkan daftar layanan backend bagi 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 daftar layanan backend untuk Network Load Balancer klasik proxy, jalankan perintah berikut.

      gcloud compute backend-services list \
          --global \
          --filter="loadBalancingScheme=EXTERNAL" \
          --filter="protocol=(SSL,TCP)"
      
    • Untuk menampilkan daftar layanan backend bagi Load Balancer Jaringan proxy eksternal regional, jalankan perintah berikut.

      gcloud compute backend-services list \
          --region=REGION \
          --filter="loadBalancingScheme=EXTERNAL_MANAGED" \
          --filter="protocol=(SSL,TCP)"
      
    • Guna mencantumkan layanan backend untuk Load Balancer Jaringan proxy internal regional, jalankan perintah berikut, dengan mengganti REGION_LIST dengan daftar region Google Cloud yang dibatasi koma untuk membuat kueri.

      gcloud beta compute backend-services list \
          --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL_MANAGED"
      
    • Guna mencantumkan layanan backend untuk Load Balancer Jaringan proxy eksternal menggunakan SSL, jalankan perintah berikut. Layanan backend untuk load balancer ini selalu global, terlepas dari Tingkat Layanan Jaringan.

      gcloud compute backend-services list \
          --global \
          --filter="loadBalancingScheme=EXTERNAL" \
          --filter="protocol=(SSL,TCP)"
      
    • Guna mengidentifikasi layanan backend untuk Load Balancer Aplikasi eksternal, identifikasi peta URL terlebih dahulu, lalu deskripsikan petanya. Peta URL dan layanan backend untuk Load Balancer Aplikasi eksternal atau Load Balancer Aplikasi internal lintas region selalu bersifat global, terlepas dari Tingkat Layanan Jaringan. Ganti URL_MAP_NAME dengan nama peta URL. Layanan backend yang digunakan oleh load balancer akan tercantum dalam respons.

      gcloud compute url-maps list \
          --global
      
      gcloud compute url-maps describe URL_MAP_NAME \
          --global
      
    • Guna mengidentifikasi layanan backend untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, identifikasi peta URL terlebih dahulu, lalu deskripsikan peta. Peta URL dan layanan backend untuk load balancer ini bersifat regional. Ganti REGION_LIST dengan daftar region Google Cloud yang dibatasi koma untuk dikueri. Ganti URL_MAP_NAME dengan nama peta URL dan ganti REGION dengan wilayahnya. Layanan backend yang digunakan oleh load balancer akan tercantum di respons.

      gcloud compute url-maps list \
          --regions=REGION_LIST
      
      gcloud compute url-maps describe URL_MAP_NAME \
          --region=REGION
      
  2. Mengidentifikasi health check. Lihat Listingan health check.

  3. Kaitkan health check dengan layanan backend menggunakan perintah compute backend-services update. Setiap layanan backend harus merujuk pada satu health check. Dalam perintah berikut, ganti BACKEND_SERVICE_NAME dengan nama layanan backend, HEALTH_CHECK_NAME dengan nama health check, dan, jika perlu, REGION dengan region Google Cloud dari 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 dapat merujuk ke 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 berbasis layanan backend: Layanan backend Load Balancer Jaringan passthrough eksternal bersifat regional. Health check dapat merujuk pada 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

  1. Anda dapat menampilkan daftar layanan backend dengan panggilan API backendServices.list.

  2. Lihat health check.

  3. Untuk mengaitkan health check 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:

Konsol

Untuk mengaitkan health check dengan passthrough eksternal Network Load Balancer berbasis kumpulan target yang ada:

  1. Buka halaman Load balancing di Konsol Google Cloud.
    Buka halaman Load balancing
  2. Klik load balancer untuk melihat detailnya.
  3. Klik Edit , lalu klik Backend configuration.
  4. Pilih health check lama dari menu Health check. (Hanya health check lama yang memenuhi syarat yang ditampilkan.)
  5. Klik Perbarui.

gcloud

Untuk mengaitkan health check dengan passthrough eksternal Network Load Balancer berbasis kumpulan target yang ada:

  1. Identifikasi kumpulan target. Load Balancer Jaringan passthrough eksternal memiliki setidaknya satu kumpulan target, dan mungkin memiliki kumpulan cadangan sekunder.

    gcloud compute target-pools list
    
  2. Identifikasi health check lama menggunakan protokol HTTP. Lihat health check lama jika perlu.

  3. Mengaitkan health check lama dengan kumpulan target. Pada perintah berikut, ganti TARGET_POOL_NAME dengan nama kumpulan target, REGION dengan region-nya, dan LEGACY_CHECK_NAME dengan nama health check 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

  1. Anda dapat menampilkan daftar kumpulan target dengan panggilan API targetPools.list.

  2. Melihat health check lama dan mengidentifikasi health check HTTP lama.

  3. 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 bisa mendapatkan status health check instan untuk backend load balancer.

Konsol

  1. Buka halaman ringkasan load balancing.
    Buka halaman Load balancing
  2. Klik nama load balancer.
  3. Di bagian Backend, periksa kolom Healthy. Status respons 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, yang mengganti NAME dengan nama layanan backend, dan REGION dengan regionnya, jika diperlukan.

    • Untuk mendapatkan status kesehatan instan dari layanan backend global:

      gcloud compute backend-services get-health GLOBAL_BACKEND_SERVICE_NAME \
          --global
      
    • Untuk mendapatkan status respons instan dari 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 dari kumpulan target load balancer, lalu gunakan perintah compute target-pools get-health, yang mengganti NAME dengan nama kumpulan target, dan REGION 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 Load Balancer Jaringan passthrough eksternal berbasis kumpulan target, gunakan targetPools.getHealth