All Products
Search
Document Center

Server Load Balancer:Load balance gRPC traffic

Last Updated:Sep 05, 2026

gRPC adalah framework open-source berkinerja tinggi untuk remote procedure call (RPC). Saat menggunakan gRPC untuk komunikasi layanan backend, Anda dapat memanfaatkan Application Load Balancer (ALB) guna melakukan load balancing terhadap trafik gRPC dan menyediakan ingress terpadu. gRPC berkomunikasi melalui protokol HTTP/2, dan ALB mendukung penerusan trafik ke kelompok server backend gRPC melalui pendengar HTTPS.

Informasi latar belakang

gRPC adalah framework open-source berkinerja tinggi untuk remote procedure call. Framework ini menggunakan Protocol Buffers sebagai Interface Definition Language (IDL)-nya dan berkomunikasi melalui HTTP/2.

gRPC mengatasi tantangan komunikasi lintas bahasa antar layanan. IDL-nya menghasilkan kode secara otomatis untuk mendefinisikan dan memanggil layanan jarak jauh. Dengan memanfaatkan pengkodean biner dan multiplexing HTTP/2, gRPC menawarkan kinerja tinggi, latensi rendah, serta transfer data yang efisien.

gRPC cocok untuk arsitektur layanan mikro, komunikasi lintas bahasa, dan sistem terdistribusi skala besar. Framework ini mendukung panggilan unary, streaming permintaan-respons, serta streaming dua arah.

Untuk informasi lebih lanjut tentang gRPC, lihat dokumentasi resmi gRPC.

Skenario

Sebuah perusahaan menerapkan layanan gRPC di dalam virtual private cloud (VPC) di wilayah China (Hangzhou). Di dalam VPC tersebut, sebuah instans ALB dan kelompok server yang mendukung gRPC telah diterapkan. Instans ALB dikonfigurasi dengan pendengar HTTPS yang mengaktifkan HTTP/2, dan kelompok server dikonfigurasi dengan pemeriksaan kesehatan gRPC.

Klien perlu mengakses layanan gRPC yang diterapkan di VPC melalui instans ALB.

Prasyarat

Langkah 1: Buat kelompok server

  1. Masuk ke Konsol ALB.

  2. Pada bilah navigasi atas, pilih wilayah tempat instans ALB diterapkan.

  3. Pada panel navigasi kiri, pilih ALB > Server Groups.

  4. Pada halaman Server Groups, klik Create Server Group.

  5. Pada kotak dialog Create Server Group, konfigurasikan parameter berikut dan klik Create.

    Dokumen ini hanya menjelaskan parameter yang relevan dengan skenario ini. Untuk parameter lainnya, gunakan nilai default atau sesuaikan sesuai kebutuhan.

    Parameter

    Deskripsi

    Server Group Type

    Pilih tipe kelompok server. Pada contoh ini, dipilih Server.

    VPC

    Pilih VPC dari instans ALB Anda. Hanya server dalam VPC ini yang dapat ditambahkan ke kelompok server.

    Backend Protocol

    Pada contoh ini, pilih gRPC.

    Health Check

    Aktifkan fitur ini.

    Health Check Settings

    Klik Modify dan konfigurasikan pengaturan pemeriksaan kesehatan:

    • Health Check Protocol: Pada contoh ini, pilih gRPC.

    • Health Check Method: Pada contoh ini, pilih POST.

    • Health Check Status Codes: Pilih kode status yang menunjukkan respons sehat. Kode ini harus sesuai dengan kode status yang dikembalikan oleh layanan gRPC Anda. Pada contoh ini, kode statusnya adalah 12.

  6. Pada halaman Server Groups, temukan kelompok server yang telah Anda buat dan klik ID-nya.

  7. Klik tab Backend Servers, lalu klik Add Backend Server.

  8. Pada panel Add Backend Server, pilih instans ECS yang telah Anda buat dan klik Next.

  9. Pada langkah Ports/Weights, atur port dan bobot untuk setiap instans ECS, lalu klik OK.

    Catatan

    Port yang dikonfigurasi untuk instans ECS harus sesuai dengan port yang digunakan oleh layanan gRPC. Pastikan juga aturan security group untuk instans tersebut mengizinkan trafik pada port ini.

Langkah 2: Konfigurasikan pendengar HTTPS

  1. Masuk ke Konsol Application Load Balancer (ALB).

  2. Pada bilah navigasi atas, pilih wilayah tempat instans Anda diterapkan.

  3. Pada panel navigasi kiri, klik Instances.

  4. Pada halaman Instances, temukan instans yang ingin Anda kelola dan klik Create Listener pada kolom Actions.

  5. Pada halaman Configure Listener, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya atau sesuaikan sesuai kebutuhan. Lalu, klik Next.

    Parameter

    Deskripsi

    Listener Protocol

    Pilih HTTPS.

    Listener Port

    Pada contoh ini, digunakan port 443.

    Catatan

    Jika protokol backend kelompok server diatur ke gRPC, protokol pendengar harus HTTPS, dan HTTP/2.0 harus diaktifkan.

  6. Pada halaman Configure SSL Certificate, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya atau sesuaikan sesuai kebutuhan. Lalu, klik Next.

    Parameter

    Deskripsi

    Server Certificate

    Pilih Sertifikat SSL yang telah disiapkan.

  7. Pada halaman Select Server Group, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya atau sesuaikan sesuai kebutuhan. Lalu, klik Next.

    Parameter

    Deskripsi

    Server Group

    Pilih kelompok server gRPC yang telah Anda buat.

  8. Pada halaman Configuration Review, periksa konfigurasi. Jika konfigurasi sudah benar, klik Submit dan tunggu hingga pendengar berhasil dibuat.

Langkah 3: Konfigurasikan resolusi DNS

Untuk lingkungan produksi, kami merekomendasikan untuk memetakan nama domain kustom ke nama domain instans ALB dengan membuat Rekaman CNAME.

  1. Pada panel navigasi kiri, pilih ALB > Instances.

  2. Pada halaman Instances, salin nama DNS dari instans ALB yang telah dibuat.

  3. Ikuti langkah-langkah berikut untuk menambahkan Rekaman CNAME.

    Catatan

    Jika nama domain Anda didaftarkan melalui penyedia selain Alibaba Cloud, Anda harus menambahkan nama domain tersebut ke konsol DNS Alibaba Cloud sebelum dapat mengonfigurasi resolusi DNS. Untuk informasi selengkapnya, lihat Manage domain names. Jika nama domain Anda didaftarkan melalui Alibaba Cloud, lanjutkan ke langkah berikut.

    1. Masuk ke Konsol DNS Alibaba Cloud.

    2. Pada halaman Public Zone, temukan nama domain target, lalu klik Settings pada kolom Operations.

    3. Pada halaman Settings, klik Add Record.

    4. Pada panel Add Record, konfigurasikan Rekaman CNAME dengan mengatur parameter berikut, lalu klik OK.

      Parameter

      Deskripsi

      Record Type

      Pilih CNAME dari daftar drop-down.

      Hostname

      Awalan nama domain Anda. Tutorial ini menggunakan @.

      Catatan

      Untuk menggunakan domain root, atur hostname menjadi @.

      Query Source

      Pilih Default.

      Record Value

      Masukkan nama DNS dari instans ALB yang telah Anda salin.

      TTL

      Time to live (TTL) adalah durasi penyimpanan cache catatan DNS pada server DNS. Gunakan nilai default.

Langkah 4: Verifikasi konektivitas

Setelah menyelesaikan langkah-langkah di atas, klien dapat mengakses layanan gRPC melalui ALB. Gunakan alat seperti grpcurl untuk menguji konektivitas.

Catatan

Anda tidak dapat langsung mengakses layanan gRPC dari browser web. Kami merekomendasikan penggunaan alat seperti grpcurl untuk menguji konektivitas.

Pada klien, jalankan perintah grpcurl -insecure -v <Nama domain>:<Port pendengar> <Nama layanan gRPC>/<Metode> untuk mengakses layanan gRPC pada instans ECS.

Tanggapan yang mirip dengan berikut ini menegaskan bahwa klien dapat mengakses layanan gRPC melalui ALB.

[root@iZbp1xxx.0Z ~]# grpcurl -insecure -v xxx.com:443 helloworld.Greeter/SayHello
Resolved method descriptor:
rpc SayHello ( .helloworld.HelloRequest ) returns ( .helloworld.HelloReply );
Request metadata to send:
(empty)
Response headers received:
accept-encoding: identity,gzip
content-type: application/grpc
date: Mon, 04 Jul 2022 08:53:01 GMT
grpc-accept-encoding: identity,deflate,gzip
vary: Accept-Encoding
Response contents:
{
  "message": "remoteip:47.xxx.xxx.195 x-forwarded-for:47.xxx.xxx.xx5 user-agent:grpcurl/v1.8.0 grpc-go/1.30.0 hostname:iZbp12xxx0kZ server addr:192.168.1.239 "
}
Response trailers received:
(empty)
Sent 0 requests and received 1 response

Dokumen terkait

  • Untuk informasi selengkapnya tentang parameter dan pertimbangan untuk pendengar HTTPS, lihat Add an HTTPS listener.

  • Untuk informasi selengkapnya tentang parameter dan pertimbangan untuk kelompok server, lihat Create and manage server groups.

  • Untuk informasi selengkapnya tentang parameter dan pertimbangan untuk pemeriksaan kesehatan, lihat ALB health checks.