{CentOS 7}{LAB 8.19} Konfigurasi Proxy Pass dengan Load Balance pada Nginx
Assalamualaikum wr wb
Pada kesempatan kali ini saya akan teruskan pembahasan tentang web server nginx, yang kali ini sudah masuk pada pembahasan tentang Load Balance pada Nginx.
Apa itu load balance?
Load Balance merupakan metode untuk membagi beban trafik kepada dua atau lebih jalur koneksi di jaringan. Hal ini berfungsi agar trafik berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap/respon dan meminimalisir terjadinya overload.
Pada Load Balance ini terdapat server controller yang digunakan untuk mengatur berapa beban yang ditanggung oleh server tertentu. Misalnya server A di konfigurasi untuk bisa menangani 3 request client, sedangkan server B menangani 1 request client, dan Server C berperan sebagai server backup yang akan aktif apabila server A dan B sedang Overload atau sedang dalam keadaan mati.
Topologi
Langsung di simak aja gan
Konfigurasi Server Controller
Sebelum kita konfigurasi Load Balance, edit terlebih dulu file konfigurasi DNS pada zona forward dan juga reverse nya untuk menambahkan domain node1, node2, dan node3
1) Langkah pertama edit file zona forward yang sebelumnya sudah anda buat pada saat mengkonfigurasi dns.
nano /var/named/forward.net
2) Kemudian pada file forward tersebut, tambahkan syntax yang sudah saya tandai dibawah ini.
3) Selanjutnya edit juga file zona reversenya
nano /var/named/"namafilereverse"
4) Pada file reverser tersebut, tambahkan syntax yang sudah saya tandai dibawah ini.
5) Restart service named agar konfigurasi dns tadi berjalan dengan baik.
systemctl restart named
6) Lakukan pengujian domain dengan perintah dig pada masing masing domain yaitu node1, node2, dan node3.
dig "nama domain"
node1
node2
node3
7) Selanjutnya edit file konfigurasi web server nginx. Disini saya mengedit nya pada file Virtual Host yang sudah saya buat pada lab sebelumnya.
nano /etc/nginx/conf.d/"namafile virtual host"
8) Tambahkan script berikut ini yang sudah saya tandai warna kuning.
upstream digunakan untuk mendefinisikan sebuah cluster yang dapat direquest proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing.
backend merupakan penamaan dari cluster yang akan di balancing
server merupakan pendefinisian server mana yang akan dibalancing, disini saya mengaturnya untuk server node1, node2, dan node3
proxy_pass_header yaitu identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.
backup berfungsi untuk menentukan server mana yang akan berperan sebagai backup pada saat server lainnya sedang overload atau sedang dalam keadaan mati.
weight merupakan beban yang dapat ditanggung pada server tertentu
9) Masih dalam file vhost.conf, cari script location / { kemudian tambahkan script proxy pass seperti yang sudah saya tandai dibawah ini.
Penjelasan :
proxy_pass digunakan untuk menentukan alamat server proxied dan URI ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar diatas saya mengaturnya ke cluster upstream backenivan10) Restart service Nginx, agar konfigurasi diatas berjalan dengan baik.
systemctl restart nginx
Konfiguasi Server node1, node2 dan node 3
1) Konfigurasi file index.html untuk membuat tampilan halaman web pada node1
2) Konfigurasi file index.html untuk membuat tampilan halaman web pada node2
3) Konfigurasi file index.html untuk membuat tampilan halaman web pada node3
Pengujian pada client
Berikut ini adalah video client pada saat mengakses web server controller.
Maka hasilnya pasti akan sesuai dengan yang sudah dikonfigurasi pada Server Controller, karena Node1 diatur agar bisa menampung bebab request client sebanyak 3 kali maka pada saat request ke 4, Server Controller akan mengarahkan request tersebut ke Node2, sedangkan server Node3 tidak akan digunakan, karena server Node3 hanya berperan sebagai backup yang hanya akan digunakan jika server lainnya sedang mati ataupun overload
Alhamdulillah telah berhasil
semoga bermanfaat
wassalamualaikum wr wb
0 comments: