All Products
Search
Document Center

Server Load Balancer:Gunakan ALB untuk menyeimbangkan beban trafik gRPC

Last Updated:Jun 19, 2026

Dokumen ini menjelaskan cara menggunakan ALB untuk menyeimbangkan beban trafik gRPC dan menyediakan ingress terpadu bagi komunikasi layanan backend. ALB mendukung koneksi frontend HTTPS terenkripsi ke grup server backend gRPC melalui HTTP/2.

Informasi latar belakang

gRPC adalah framework open-source berkinerja tinggi untuk remote procedure call (RPC). Framework ini menggunakan Protocol Buffers sebagai Interface Definition Language (IDL) 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 pengkodean biner dan multiplexing HTTP/2, gRPC memberikan kinerja tinggi, latensi rendah, serta transfer data yang efisien.

gRPC cocok untuk arsitektur layanan mikro, komunikasi lintas bahasa, dan sistem terdistribusi berskala 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 virtual private cloud (VPC) di wilayah China (Hangzhou). Di dalam VPC tersebut, sebuah instans ALB dan grup server yang mendukung gRPC telah diterapkan. Instans ALB dikonfigurasi dengan pendengar HTTPS yang mengaktifkan HTTP/2, sedangkan grup server dikonfigurasi dengan pemeriksaan kesehatan gRPC.

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

Prasyarat

Langkah 1: Buat grup 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 lalu klik Create.

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

    Parameter

    Deskripsi

    Server Group Type

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

    VPC

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

    Backend Server 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 grup server yang telah Anda buat lalu 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 lalu 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: Konfigurasi 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 lalu klik Create Listener di kolom Actions.

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

    Parameter

    Deskripsi

    Listener Protocol

    Pilih HTTPS.

    Listener Port

    Pada contoh ini, digunakan port 443.

    Catatan
    • Jika protokol backend grup server diatur ke gRPC, protokol pendengar harus HTTPS.

    • gRPC berkomunikasi melalui HTTP/2. Saat protokol backend grup server diatur ke gRPC, pendengar HTTPS harus mengaktifkan HTTP/2.0. ALB mengaktifkan fitur ini secara default. Pastikan opsi Enable HTTP/2 tetap aktif dan jangan menonaktifkannya.

  6. Pada halaman Configure SSL Certificate, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya atau sesuaikan dengan 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 dengan kebutuhan, lalu klik Next.

    Parameter

    Deskripsi

    Server Group

    Pilih grup server gRPC yang telah Anda buat.

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

Langkah 3: Konfigurasi resolusi DNS

Untuk lingkungan produksi, kami merekomendasikan 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 instans ALB yang telah dibuat.

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

    Catatan

    Jika nama domain Anda didaftarkan oleh penyedia selain Alibaba Cloud, Anda harus menambahkan nama domain tersebut ke Konsol DNS Alibaba Cloud sebelum dapat mengonfigurasi resolusi DNS. Untuk informasi selengkapnya, lihat Kelola nama domain. Jika nama domain Anda didaftarkan di Alibaba Cloud, lanjutkan ke langkah-langkah berikut.

    1. Masuk ke Konsol DNS Alibaba Cloud.

    2. Pada halaman Authoritative DNS Resolution, temukan nama domain target lalu klik Settings di 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 instans ALB yang telah Anda salin.

      TTL

      Time to live (TTL) adalah durasi rekaman DNS disimpan dalam cache di 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 menggunakan 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 contoh berikut mengonfirmasi 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