Senin, 07 Oktober 2024

HA PROXY-ubuntu 22

 

Konfigurasi HAProxy di Ubuntu

Implementasi Load Balancer dengan HAProxy di Ubuntu 22.04

https://medium.com/@fadhilmuhhab/konfigurasi-haproxy-di-ubuntu-54126c244637
HAProxy

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
Install HAProxy
systemctl status apache2
Status HAProxy
  • 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>
Web server
# 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.

  1. Bind *:80 = Mendengarkan permintaan yang masuk pada port 80
  2. mode http = Mengelola lalu lintas protokol HTTP
  3. default backend = Menentukan baackend yang akan digunakan

Backend adalah kelompok server yang menerima lalu lintas dan menangani permintaan yang diteruskan oleh HAProxy.

  1. balance roundrobin = Metode loadbalancing secara bergantian dan adil
  2. option forwardfor = Menyampaikan IP klien kepada server Backend
  3. 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