Konfigurasi HAProxy di Ubuntu
Implementasi Load Balancer dengan HAProxy di Ubuntu 22.04
Pendahuluan
Mengelola lalu lintas web menjadi kunci penting untuk menjamin kinerja dan ketersediaan layanan. Salah satu solusi yang populer adalah menggunakan HAProxy sebagai load balancer. Disini, saya akan membahas langkah-langkah instalasi dan konfigurasi 2 server HAProxy sebagai load balancer di Ubuntu 22.04, dengan 2 server backend menggunakan Apache Web Server.
Persiapan
IP Web Server 1: 192.168.56.2
IP Web Server 2: 192.168.56.3
IP HAProxy: 192.168.56.100, 192.168.56.123
Step 1: Installasi dan Konfigurasi Server Backend
- 1.1. Install Apache Web Server pada Node 1 dan 2
apt update
apt install apache2
systemctl status apache2
- 1.2. Modifikasi Konten Server Backend
# Server backend 1
rm -rf /var/www/html/index.html
nano /var/www/html/index.html
<h1>Server Backend 1</h1>
# Server backend 2
rm -rf /var/www/html/index.html
nano /var/www/html/index.html
<h1>server backend2</h1>
systemctl restart apache2
- 1.3. Uji Akses ke Server Backend Akses ke web server 1:
http://<IP_Server1>
Akses ke web server 2:http://<IP_Server2>
Step 2: Installasi HAProxy sebagai Load Balancer
- 2.1. Install HAProxy pada Node 3 dan 4
sudo apt update
sudo apt install haproxy -y
nano /etc/haproxy/haproxy.cfg
- 2.2. Konfigurasi HAProxy
frontend my_frontend
bind *:80
mode http
default_backend my_backend
backend my_backend
mode http
balance roundrobin
option forwardfor
server backend1 <IP_Server1>:80 check
server backend2 <IP_Server2>:80 check
listen monitoring
bind *:8080
stats enable
stats hide-version
stats refresh 10s
stats show-node
stats auth username:password
stats uri /monitoring
Penjelasan Konfigurasi :
Frontend adalah konfigurasi yang mendefinisikan cara HAProxy berinteraksi dengan klien, memungkinkan kontrol yang fleksibel terhadap lalu lintas masuk.
- Bind *:80 = Mendengarkan permintaan yang masuk pada port 80
- mode http = Mengelola lalu lintas protokol HTTP
- default backend = Menentukan baackend yang akan digunakan
Backend adalah kelompok server yang menerima lalu lintas dan menangani permintaan yang diteruskan oleh HAProxy.
- balance roundrobin = Metode loadbalancing secara bergantian dan adil
- option forwardfor = Menyampaikan IP klien kepada server Backend
- server = Server yang menerima lalu lintas dari load balancer
Load balancing terjadi karena lalu lintas dari klien akan didistribusikan di antara backend. Hal ini meningkatkan kinerja dan ketersediaan sistem.
- 2.3 Konfigurasi Multiple Backends
Topologi tersebut memiliki HAProxy dengan ip 192.168.56.100 dan 192.168.56.123
frontend my_frontend
mode http
bind *:80
use_backend backendku if { req.hdr(host) -i 192.168.56.100 }
use_backend backendku2 if { req.hdr(host) -i 192.168.56.123 }
backend backendku
mode http
balance roundrobin
option forwardfor
server backend1 192.168.56.2:80 check
server backend2 192.168.56.3:80 check
backend backendku2
mode http
balance roundrobin
option forwardfor
server backend1 192.168.56.2:24 check
server backend2 192.168.56.3:24 check
Penjelasan Konfigurasi :
Frontend akan mengarahkan lalu lintas ke 2 backend (192.168.56.2 dan 192.168.56.3) yang berisi web server dengan port 80 dan 24. Jangan lupa untuk menambahkan virtualhost jika anda menggunakan apache2 di kedua web server.
- 2.4. Simpan dan Restart HAProxy
systemctl start haproxy
systemctl enable haproxy
sudo systemctl restart haproxy
Step 3: Pengujian Load Balancer
- Akses ke Load Balancer:
http://<IP_LoadBalancer>
- Refresh halaman untuk melihat load balancing
- Halaman statistik HAProxy:
http://<IP_LoadBalancer>:8080/monitoring
- Login: Username:
username
, Password:password
Apabila Terjadi Error
- Jika terjadi kesalahan saat me-restart HAProxy karena konflik port, gunakan langkah berikut:
# Cek port yang digunakan
netstat -tunlp | grep -i 80
# Hentikan proses dengan port tersebut
kill <PID_Process>
# Cek kembali penggunaan port
netstat -tunlp | grep -i 80
# Restart HAProxy
systemctl restart haproxy
Kesimpulan
Dengan mengikuti langkah-langkah ini, Anda telah berhasil mengimplementasikan load balancer menggunakan HAProxy di Ubuntu 22.04. Pastikan untuk mengkonfigurasi server backend dengan benar agar HAProxy dapat efektif mendistribusikan trafik. Semoga artikel ini bermanfaat untuk meningkatkan kinerja dan ketersediaan sistem Anda.
Tidak ada komentar:
Posting Komentar