Hai!

Selamat malam teman-teman. Pada jurnal ini saya ingin berbagi mengenai salah satu tipe ELB (Elastic Load Balancer) di AWS, yaitu ALB atau Application Load Balancer.

ALB merupakan salah satu tipe lb yang bekerja di layer 7 OSI (presentation layer) atau sesuai nama, layer aplikasi. Aplikasi yang menjadi target ALB adalah IP, instance, dan lambda dengan protocol listener yang didukung HTTP, HTTPS, dan gRPC.

ALB memiliki beberapa kelebihan, diantaranya mendukung redirection (mengalihkan request ke URL lain), mampu melakukan kustomisasi HTTP Response, mendukung aplikasi berbasis container, dan melakukan peningkatan performa dengan bantuan AWS Global Accelerator.

Bagaimana ALB bekerja?

  1. User melakukan request ke aplikasi
  2. Listener di load balancer menerima request yang cocok dengan protokol dan port yang telah dikonfigurasikan
  3. Listener mengevaluasi request berdasarkan rule yang ditentukan, jika oke, request akan diarahkan ke target yang sesuai
  4. Target yang health (dalam artian dapat menerima request) dalam satu atau beberapa grup menerima trafik berdasarkan algoritma load balancer (round-robin) dan aturan perutean yang ditentukan di listener.

Mari kita coba.

Disini saya sudah memiliki dua ec2 instance dengan tampilan seperti berikut. Saya bedakan agar mudah dikenali bahwa trafik dikirim dari instance yang berbeda.

Sebelum membuat lb, kita buat target group terlebih dahulu. Target ini yang akan menangani request dari user. Klik Create target group

Pilih tipe target sesuai aplikasi yang dimiliki. Saya coba pilih Instance

Tentukan nama target, protokol HTTP dan port 80 (karena web server saya menggunakan HTTP). Pilih VPC dan versi protokol yang digunakan oleh aplikasi.

Atur konfigurasi health check berupa protokol, port, threshold, timeout dan interval. Lalu klik Next

Pilih instance yang akan dimasukan ke dalam target dan klik Include as pending below. Pastikan instance sudah masuk ke kolom Review Targets dan bisa klik Create target group.

Pastikan target berhasil dibuat dan klik nama target untuk melihat detail.

Pastikan status kedua registered targets adalah Healthy.

Saat target sudah dibuat, kita bisa langsung membuat LB nya. Klik Create Load Balancer

Pada tampilan pertama, terlihat ada empat tipe.

Klik Create pada tipe ALB

Definisikan nama LB, skema (saya pilih Internet-facing karena aplikasi bersifat publik) dan tipe IPv4.

Pilih VPC dan az yang akan digunakan. Saya sesuaikan az nya sama dengan az dari target group.

Pilih Security group. Pastikan port 80 sudah di allow di sg tersebut. Pada Listeners and routing, pilih protokol HTTP, port 80, dan forward to alb-target (target group yang dibuat sebelumnya).

Bisa ceklis di bagian AWS Global Accelerator untuk peningkatan performa (opsional), review dan kalo sudah OK, bisa klik Create.

Pastikan LB berhasil dibuat.

Tunggu hingga status dari LB sudah Active.

Coba akses melalui DNS name di browser.

Referensi:

  1. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html

Sekian!