Tutorial Load Balance Server (HAProxy) di Debian


 Tutorial Load Balance Server (HAProxy) di Debian

Apa Itu Load Balancing?

Load Balancing adalah suatu jaringan komputer yang menggunakan metode untuk mendistribusikan beban kerjaan pada dua atau bahkan lebih suatu koneksi jaringan secara seimbang agar pekerjaan dapat berjalan optimal dan tidak overload (kelebihan) beban pada salah satu jalur koneksi.

Apa Itu HAProxy?

HAProxy adalah perangkat lunak opens source yang berfungsi sebagai load balancing dan proxy untuk protocol TCP dan HTTP.

Topologi yang Akan Digunakan

Terdapat beberapa metode yang biasa digunakan di Load Balancing

1. Round Robin: mendistribusikan trafik ke setiap server secara bergantian
2. Least Connection: mendistribusikan trafik ke server yang paling sedikit koneksi aktifnya 
3. IP Hash: mendistribusikan trafik ke server yang sama ketika visitor pertama 

Installasi dan Konfigurasi Load Balance (HAProxy) 

1) Sebelum memulai konfigurasi terlebih dahulu kita siapkan 3 server. 1 server untuk konfigurasi Load Balancing.

2) Kemudian setting untuk network di server Load Balance

a) Adapater 1 arahkan ke Internal Network, dengan name : server. Adapter ini yang nantinya akan menghubungkan server1 dan server2.

b) Adapter 2 arahakan ke Host-Only Adapter, Adapter ini yang nantinya akan terhubung dengan client.

c) Adapter 3 arahkan ke Bridged Adapter untuk name-nya sesuaikan dengan ethernet laptop/pc yang digunakan, dan di sini ethernet saya adalah Qualcomm Atheros. Adapter 3 ini nantinya yang akan menghubungkan server ke internet karena untuk mendownload aplikasi dari internet.

3) Kemudian Setting untuk network di server1 dan server2. Gunakan Adapter 1 dan arahkan ke Internal Network dengan name-nya adalah server. Agar server1 dan server2 terhubung dengan server load balance


4) Kemudian masuk ke server Load Balance dan konfigurasi untuk IP nya 
#The primary network interface
auto enp0s3
iface enp0s3 inet static

address 192.168.28.254
netmask 255.255.255.0

auto enp0s8
iface enp0s8 inet static

address 192.168.10.1
netmask 255.255.255.0

auto enp0s9 
iface enp0s9 inet dhcp

5) Kemudian restart networknya dengan mengetikkan perintah /etc/init.d/networking restart kemudian cek IP apakah sudah berhasil atau belum dengan mengetikkan perintah ip a

6) Kemudian buat DNS untuk server Load Balance. Di sini saya sudah install dan konfigurasi DNS dengan nama loadbalanceserver.net 

untuk tutorial installasi dan konfigurasi DNS Server bisa klik ini 

7) Kemudian install juga web server apache. Ketik perintah apt install apache2

8) Masuk ke file /etc/apt/source.list

nano /etc/apt/source.list

tambahkan daftar repository berikut: 

deb http://kartolo.sby.datautama.net.id/debian/ buster main contrib non-free
deb http://kartolo.sby.datautama.net.id/debian/ buster-updates main contrib non-free
deb http://kartolo.sby.datautama.net.id/debian-security/ buster/updates main contrib non-free


repository tersebut digunakan untuk mendownload dan install aplikasi HAProxy nantinya. Karena di Debian 10 tidak ada aplikasi HAProxy

9) Kemudian update server dengan perintah apt-get update 

10) Lakukan installasi HAProxy. Ketik perintah apt install haproxy

11) Selanjutnya konfigurasi file /etc/haproxy/haproxy.cfg dengan mengetikkan perintah nano /etc/haproxy/haproxy.cfg
kemudian tambahkan script berikut pada bagian paling bawah :
menambahkan HAProxy listen
frontend http_front
bind *:80 
mode htpp
default_backend backend_server

Kemudian tambahkan konfigurasi untuk backend Web server
backend backend_server 
mode http
balance roundrobin
option forwardfor
server web1 192.168.28.1:80 check
server web2 192.168.28.2:80 check

Script berikut untuk menampilkan statistik dari HAProxy 
listen stats
bind *:8080 

stats enable 
stats hide-version 
stats refresh 30s
stats show-node
stats auth admin:123
stats uri /stats

Untuk lebih jelasnya bisa lihat gambar di bawah ini:


NB* Penjelasan perintah di atas:
a) bind *:80 -> Mengarahkan seluruh akses ip dari port 80
b) mode http -> protocol yang akan diarahkan adalah protocol http (port 80)
c) default_backend backend_server -> kelanjutan dari konfigurasi frontend header menuju konfigurasi backend_server
d) balance roundrobin -> metode load balancing yang digunakan 
e) server -> menjelaskan bahwa akses load balancing akan diarahkan menuju salah satu dari dua server tersebut
f) bind *:8080 -> alamat bind
g) stats auth admin:123 -> membuat usernam dan password agar bisa melihat statistik HAProxy

12) Setelah selesai konfigurasi, restart HAProxy dengan perintah /etc/init.d/haproxy restart

13) Konfigurasi untuk server Load Balance telah selesai, kemudian konfigurasi untuk server1 dan server2.

14) Konfigurasi IP terlebih dahulu 

#server1
auto enp0s3 
iface enp0s3 inet static
address 192.168.28.1
netmask 255.255.255.0
gateway 192.168.28.254

#server2
auto enp0s3 
iface enp0s3 inet static
address 192.168.28.2
netmask 255.255.255.0
gateway 192.168.28.254

Server1

Server2

15) Restart konfigurasi IP dengan perintah /etc/init.d/networking restart dan cek ip dengan perintah ip a

Server1


Server2

16) selanjutnya ping ke IP server load balance pastikan sudah dapat terhubung dengan baik

17) Install web server apache pada server1 dan server2 dengan perintah apt install apache2

18) kemudian masuk di directory /var/www/html/ dan hapus file index.html

cd /var/www/html/ -> masuk kedirectory /var/www/html/
rm index.html -> menghapus file index.html

Lakukan hal yang sama pada server1 dan server2

19) Kemudian ketik perintah nano index.html di sini kita membuat file index.html yang baru

ketikkan script berikut ini:

#server1
<html>
<h1>WEB SERVER 1</h1>
</html>

#server2
<html>
<h1>WEB SERVER 2</h1>
</html>

Server1

Server2

20) Kemudian restart apache dengan perintah /etc/init.d/apache2 restart

21) Selanjutnya konfigurasi IP untuk client. masuk ke Network Connections dan konfigurasi IP pada ethernet Host-Only Adapater

IP Address : 192.168.10.3
Subnet Mask : 255.255.255.0
Default gateway : 192.168.10.1
Preferred DNS server : 192.168.10.1

22) Selanjutnya uji coba PING ke server load balance dan pastikan berhasil.

23) Kemudian buka browser dan ketikkan DNS Server Load balance atau IP Address load balance maka yang akan tampil adalah tampilan dari web server server1 atau 2. Coba untuk refresh berkali kali maka akan secara otomatis kita akan mengakses web server1 atau web server2 secara bergantian 


24) Untuk melihat statistik haproxy bisa tambahkan :8080/stats di bagian belakang alamat web

contoh loadbalanceserver.net:8080/stats

Maka akan disuruh untuk memasukkan username dan password. Masukkan username dan password yang sudah dibuat pada langkah ke 12, yaitu username admin dan passwordnya 123

25) Jika berhasil masuk ke statistik HAProxy maka tampilannya akan seperti berikut ini

26) Kita uji coba dengan mematikan server1. kemudian refresh pada statistik HAProxy maka pada bagian web1 akan berwarna merah, itu tandanya server sedang tidak aktif.

27) dan coba kita akses lagi dengan memasukkan IP Server load balance atau DNS Server Load balance, maka yang terjadi adalah kita mengakses web server2, coba di refresh berkali kali maka yang tampil akan tetap web server2. karena web server1 sudah dimatikan

28) Konfigurasi Load Balance server dengan HAProxy telah selesai 

Selamat Mencoba..!!

Sekian tutorial dari saya semoga bermanfaat, dan terimakasih telah berkunjung di blog saya dan jangan lupa kunjungi terus blog saya untuk mendapatkan informasi-informasi yang lebih bagus lagi dan lebih bermanfaat......

1 comment: