Application Load Balancer (ALB) pada AWS
Panduan tentang implementasi Application Load Balancer di AWS.
Pendahuluan
Application Load Balancer (ALB) merupakan layanan penyeimbang beban tingkat aplikasi yang disediakan oleh Amazon Web Services (AWS). Layanan ini beroperasi pada lapisan ketujuh model OSI dan dirancang untuk mendistribusikan lalu lintas aplikasi web secara dinamis across multiple target, seperti instance Amazon EC2, kontainer, dan alamat IP.
Konfigurasi Instance EC2
Pembuatan Instance Ganda
Proses dimulai dengan membuat dua instance EC2 secara simultan melalui AWS Management Console. Konfigurasi ini memastikan ketersediaan tinggi dan mendukung arsitektur fault-tolerant.
Antarmuka pembuatan instance EC2 pada AWS Management Console
Pengaturan Jaringan dan Key Pair
Pada tahap konfigurasi jaringan, penting untuk memastikan instance terletak dalam Virtual Private Cloud (VPC) yang sesuai dengan pengaturan keamanan yang diperlukan. Pemilihan key pair yang tepat diperlukan untuk mengamankan akses SSH.
Konfigurasi pengaturan jaringan dan pemilihan key pair
Konfigurasi Data Pengguna
User data digunakan untuk melakukan otomatisasi konfigurasi instance saat proses boot. Skrip berikut menginstal dan mengonfigurasi server web Apache:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
apt-get update -y
apt-get upgrade -y
apt-get install -y apache2
systemctl enable apache2
systemctl start apache2
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
systemctl restart apache2
Penamaan dan Pengelompokan Instance
Pemberian nama yang deskriptif pada setiap instance memudahkan identifikasi dan manajemen dalam lingkungan dengan banyak sumber daya.
Proses pemberian nama pada instance EC2
Konfigurasi Security Group
Security Group harus dikonfigurasi untuk mengizinkan lalu lintas HTTP pada port 80 guna memastikan akses web yang tepat.
Konfigurasi aturan masuk untuk lalu lintas HTTP
Implementasi Application Load Balancer
Inisiasi Load Balancer
ALB dibuat melalui konsol AWS dengan memilih layanan Load Balancer.
Antarmuka konsol Load Balancer
Seleksi Tipe Load Balancer
Application Load Balancer dipilih karena kemampuannya menangani lalu lintas HTTP/HTTPS dan mendukung fitur advanced routing.
Antarmuka pemilihan jenis load balancer pada AWS
Penamaan dan Zona Ketersediaan
ALB memerlukan penamaan yang unik dan harus diletakkan pada minimal dua Availability Zone (AZ) berbeda untuk memastikan redundansi dan ketersediaan tinggi.
Konfigurasi Security Group untuk ALB
Security Group khusus dibuat untuk ALB guna mengontrol lalu lintas yang diizinkan mengakses load balancer.
Pembuatan Security Group khusus untuk Application Load Balancer
Pembuatan Target Group
Target Group berfungsi sebagai kelompok tujuan yang menerima lalu lintas dari ALB. Konfigurasi meliputi penentuan protokol, port, dan pemeriksaan kesehatan.
Antarmuka konfigurasi Listeners and routing
Antarmuka konfigurasi Target Group
Registrasi Target
Instance EC2 yang telah dibuat didaftarkan sebagai target dalam Target Group.
Proses registrasi instance EC2 sebagai target dalam Target Group
Proses registrasi instance EC2 sebagai target dalam Target Group
Penyelesaian Konfigurasi ALB
Setelah Target Group berhasil dibuat, ALB dikonfigurasi untuk mengarahkan lalu lintas ke target group tersebut.
Penyelesaian konfigurasi dengan menghubungkan ALB ke Target Group
Validasi dan Pengujian
DNS Endpoint ALB
Setelah berhasil dibuat, ALB menyediakan endpoint DNS yang digunakan untuk mengakses aplikasi. Endpoint ini akan secara otomatis mendistribusikan lalu lintas ke instance yang sehat.
Endpoint DNS yang dihasilkan untuk mengakses Application Load Balancer
Pengujian Load Balancing
Akses berulang ke endpoint DNS akan menunjukkan respons dari instance, membuktikan bahwa lalu lintas didistribusikan secara acak (round-robin).
Hasil akses yang menunjukkan respons dari hostname instance
Uji Ketersediaan Tinggi
Untuk menguji kemampuan failover, salah satu instance dihentikan. ALB secara otomatis mendeteksi perubahan status kesehatan dan mengalihkan lalu lintas ke instance yang masih berjalan.
Proses penghentian (stop) salah satu instance EC2
Monitoring Status Kesehatan
Target Group secara kontinu memantau status kesehatan target. instance yang dihentikan akan menunjukkan status tidak digunakan (Unused), sementara instance lain tetap melayani lalu lintas.
Tampilan status kesehatan target dalam Target Group
Pemulihan dan Kesimpulan
Setelah instance yang dihentikan diaktifkan kembali, ALB secara otomatis akan mendeteksi pemulihan status kesehatan dan kembali memasukkan instance tersebut ke dalam rotasi layanan. Mekanisme ini menunjukkan kemampuan ALB dalam menjaga ketersediaan layanan secara otomatis tanpa intervensi manual.