Mendaftarkan load balancer internal

Halaman ini memberikan informasi tentang cara mengonfigurasi Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal (Pratinjau) sehingga otomatis terdaftar di Direktori Layanan.

Saat membuat load balancer, Anda dapat mendaftarkannya sebagai endpoint di namespace dan layanan Direktori Layanan yang ada sesuai pilihan Anda. Aplikasi klien kemudian dapat menggunakan Direktori Layanan (menggunakan HTTP atau gRPC) dan/atau DNS (jika Anda telah membuat zona DNS Direktori Layanan) untuk me-resolve alamat layanan load balancer internal dan terhubung langsung ke alamat tersebut.

Batasan

Integrasi Direktori Layanan dengan load balancing internal memiliki batasan berikut:

  • Pendaftaran otomatis hanya berlaku untuk load balancer internal dan jaringan. Anda dapat mendaftarkan layanan load balancing Google Kubernetes Engine menggunakan integrasi GKE. Anda dapat mendaftarkan load balancer global, serta Google Kubernetes Engine ingress dan gateway dengan memanggil Service Directory API.
  • Anda hanya dapat menggunakan pendaftaran otomatis pada saat pembuatan aturan penerusan. Pendaftaran otomatis menggunakan update Google Cloud CLI untuk aturan penerusan yang sudah ada tidak tersedia.
  • Anda dapat mendaftarkan load balancer internal ke Direktori Layanan di project host atau layanan dari penyiapan jaringan VPC bersama. Namun, semua komponen dan backend load balancing harus ada dalam project yang sama. Untuk mengetahui detail selengkapnya, lihat batasan load balancing internal.
  • Direktori Layanan tidak menyediakan konektivitas, yang berarti meskipun Direktori Layanan menyimpan alamat IP virtual load balancer internal, mencari load balancer internal di Direktori Layanan tidak menjamin bahwa Anda dapat terhubung ke alamat IP virtual.

Sebelum memulai

Petunjuk ini memerlukan hal berikut:

  • Anda harus sudah memiliki namespace dan layanan Direktori Layanan. Jika belum, buat namespace dan layanan menggunakan prosedur di Mengonfigurasi Direktori Layanan.

    Namespace dan layanan Direktori Layanan harus berada di project dan region yang sama dengan aturan penerusan load balancer internal yang Anda buat.

  • Anda harus sudah menyiapkan resource yang diperlukan untuk membuat aturan penerusan load balancer internal.

Menyiapkan aturan penerusan untuk mendaftarkan load balancer internal di Direktori Layanan

Anda harus menyiapkan aturan penerusan untuk mendaftarkan load balancer internal di Direktori Layanan. Untuk mendaftarkan Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal, lihat bagian berikut.

Mendaftarkan Load Balancer Jaringan passthrough internal

Untuk mendaftarkan Load Balancer Jaringan passthrough internal, jalankan perintah gcloud compute forwarding-rules create dan tetapkan flag service-directory-registration:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --address=RESERVED_IP_ADDRESS \
    --ip-protocol=PROTOCOL_TYPE \
    --ports=PORT_NUMBER \
    --backend-service=BACKEND_SERVICE_NAME \
    --backend-service-region=REGION \
    --service-directory-registration=SD_SERVICE_NAME

Ganti kode berikut:

  • FORWARDING_RULE_NAME: nama untuk aturan penerusan yang ingin Anda buat
  • REGION: region tempat membuat aturan penerusan
  • NETWORK_NAME: jaringan tempat aturan penerusan ini diterapkan
  • SUBNET_NAME: subnetwork tempat aturan penerusan ini diterapkan
  • RESERVED_IP_ADDRESS: alamat IP yang dilayani oleh aturan penerusan
  • PROTOCOL_TYPE: protokol IP yang akan dilayani oleh aturan
  • PORT_NUMBER: daftar port yang dipisahkan koma
  • BACKEND_SERVICE_NAME: layanan backend target yang menerima traffic
  • SD_SERVICE_NAME: nama lengkap layanan Direktori Layanan tempat Anda ingin mendaftarkan endpoint. Layanan ini harus berada di project dan region yang sama dengan aturan penerusan yang dibuat. Misalnya: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Mendaftarkan Load Balancer Aplikasi internal

Untuk mendaftarkan Load Balancer Aplikasi internal regional, jalankan perintah gcloud compute forwarding-rules create dan tetapkan flag service-directory-registration:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=NETWORK_NAME \
    --address=RESERVED_IP_ADDRESS \
    --target-https-proxy=PROXY_NAME \
    --target-https-proxy-region=PROXY_REGION \
    --ports=PORT_NUMBER \
    --service-directory-registration=SD_SERVICE_NAME

Ganti kode berikut:

  • FORWARDING_RULE_NAME: nama untuk aturan penerusan yang ingin Anda buat
  • REGION: region tempat membuat aturan penerusan
  • NETWORK_NAME: jaringan tempat aturan penerusan ini diterapkan
  • RESERVED_IP_ADDRESS: alamat IP yang dilayani oleh aturan penerusan
  • PROXY_NAME: proxy target yang menerima traffic
  • PROXY_REGION: region proxy yang akan dioperasikan
  • PORT_NUMBER: daftar port yang dipisahkan koma
  • SD_SERVICE_NAME: nama lengkap layanan Direktori Layanan tempat Anda ingin mendaftarkan endpoint. Layanan ini harus berada di project dan region yang sama dengan aturan penerusan yang dibuat. Misalnya: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Memverifikasi endpoint

Satu atau beberapa endpoint Direktori Layanan yang dibuat saat Anda mendaftarkan load balancer internal memiliki karakteristik berikut:

  • Endpoint memiliki nama yang sama dengan nama aturan penerusan dengan nomor port yang ditentukan (<forwarding rule name>-<port>). Misalnya, jika Anda membuat aturan penerusan RULE dengan --port=8080, Anda akan mendapatkan endpoint bernama RULE-8080. Untuk aturan yang sama, jika Anda menentukan dua port --port=8080, 8081, Anda akan mendapatkan dua endpoint, RULE-8080 dan RULE-8081. Jika Anda menentukan --port=ALL, endpoint Direktori Layanan akan didaftarkan dengan port 0. Jika Anda adalah pemilik load balancer internal, Anda harus memastikan bahwa pemanggil API mengetahui port mana yang akan terhubung.
  • Anda tidak dapat mengubah atau menghapus endpoint menggunakan Service Directory API publik. Endpoint hanya akan otomatis dihapus saat Anda menghapus aturan penerusan. Artinya, Anda tidak dapat menghapus layanan dan namespace tempat endpoint berada saat aturan penerusan ada.
  • Endpoint itu sendiri tidak ditagih, meskipun detail harga normal berlaku untuk panggilan API apa pun ke endpoint.

Untuk mengonfirmasi bahwa endpoint dibuat, selesaikan layanan di Direktori Layanan. Anda akan melihat endpoint dengan nama yang sama dengan nama aturan penerusan dengan nomor port yang ditentukan.

Untuk menyelesaikan layanan di Direktori Layanan, lakukan hal berikut:

gcloud

Jalankan perintah:gcloud service-directory services resolve

gcloud service-directory services resolve SD_SERVICE_NAME \
    --namespace=SD_NAMESPACE_NAME \
    --location=REGION

Ganti kode berikut:

  • SD_SERVICE_NAME: nama layanan Direktori Layanan yang akan diselesaikan. Layanan ini harus berada di nama namespace Direktori Layanan.
  • SD_NAMESPACE_NAME: nama yang Anda berikan ke namespace yang berisi layanan Anda.
  • REGION: region yang berisi namespace. Google Cloud Region ini harus sama dengan region tempat Anda membuat aturan penerusan.

Opsional: Membuat zona Direktori Layanan menggunakan Cloud DNS

Anda dapat me-resolve endpoint Direktori Layanan yang terdaftar melalui integrasi ini menggunakan DNS seperti endpoint Direktori Layanan lainnya. Untuk membuat zona Direktori Layanan menggunakan Cloud DNS, lihat Mengonfigurasi zona Direktori Layanan.

Untuk memeriksa apakah zona Anda telah disiapkan dengan benar, Anda dapat menjalankan kueri DNS zona Direktori Layanan. Untuk mengetahui petunjuk tentang cara membuat kueri menggunakan DNS, lihat Membuat kueri menggunakan DNS. Jika zona Anda dikonfigurasi dengan benar, Anda akan melihat alamat IP load balancer internal di output perintah.

Pembersihan

Untuk menghapus resource yang Anda buat, lakukan hal berikut:

gcloud

  1. Untuk menghapus aturan penerusan, jalankan gcloud compute forwarding-rules delete perintah:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
      --region=REGION \
    

    Ganti kode berikut:

    • FORWARDING_RULE_NAME: nama aturan penerusan yang Anda buat
    • REGION: region untuk aturan penerusan

    Untuk mengetahui detail selengkapnya, lihat Menghapus aturan penerusan.

    Untuk mengonfirmasi bahwa penghapusan aturan penerusan telah otomatis menghapus endpoint dari Direktori Layanan, jalankan gcloud service-directory services resolve perintah yang dijelaskan di bagian Memverifikasi endpoint pada layanan Direktori Layanan Anda.

  2. Untuk menghapus zona, jika Anda membuatnya, ikuti petunjuk di Menghapus zona terkelola.

  3. Untuk menghapus namespace dan layanan Direktori Layanan, lihat Menghapus resource.

Langkah berikutnya