Lab 8.19 Konfigurasi Reverse Proxy Pass Dengan Load Balance Nginx





Assalamu'alaikum Wr Wb,

Pada kesempatan kali ini, saya akan melanjutkan materi dari Web Server Nginx, yaitu Konfigurasi Reverse Proxy Pass dengan Load Balance.


Load Balance itu apa sih ?

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.

Pada postingan kali ini, saya membuat 4 server, dimana 1 server sebagai controller dan 3 server lainnya sebagai server yang akan dibalancing oleh controller.


Topologi :



Sekarang kita masuk ke tahap konfigurasi :



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). Pertama, edit zona forward yang sudah kalian buat
nano /var/named/"namafilezonaforward"



Kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah, sesuaikan IP nya dengan IP node kalian masing-masing





2). Setelah itu, kita edit juga zona reverse nya
nano /var/named/"namafilezonareverse" 



Kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah, sesuaikan IP dan juga domain node1, node2, dan node3





3). Selanjutnya, restart service named agar konfigurasi yang sudah dilakukan dapat berjalan




4). Lalu lakukan perintah dig untuk melakukan pengetesan domain node1, node2, dan node3
dig "nama domain"









5). Setelah itu, edit file konfigurasi web server nginx. Disini saya mengedit nya pada file Virtual Host yang sudah saya buat pada lab sebelumnya




Lalu tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah


 Keterangan :

  • upstream digunakan untuk mendefinisikan sebuah cluster yang dapat direquest proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing
  • backendivan 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
  • weight merupakan beban yang dapat ditanggung pada server tertentu
  • backup berfungsi untuk menentukan server mana yang akan berperan sebagai backup pada saat server lainnya sedang overload atau sedang dalam keadaan mati
  • 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.


6). Masih pada file konfigurasi Nginx, cari syntak location { kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah



 Keterangan :

  • 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 backenivan




7). Kemudian restart service Nginx agar konfigurasi yang sudah dilakukan dapat berjalan 








Konfigurasi Server Node1, Node2, dan Node3


1). Pertama edit konten web untuk Node1






2). Edit juga konten web untuk Node2






3). Lakukan hal yang sama untuk Node3








Pengetesan/Verifikasi


1). Sekarang lakukan verifikasi pada web browser client dengan cara mengakses 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


2). Sekarang kita coba matikan server Node1
poweroff





3). Setelah itu coba akses lagi server controller pada web browser client



Maka pasti akan muncul konten web dari Node 2, itu karena Node1 sedang mati, maka konten web akan dibebankan pada Node2. Sedangkan Node3 masih belum muncul karena server Controller menganggap masih ada server yang aktif dan kemudian request dari client akan diserahkan pada server tersebut




4). Sekarang matikan server Node2





5). Selanjutnya, coba akses lagi server controller pada web browser client



Dan pada akhirnya Node3 digunakan juga. Hal ini dikarenakan Node1 dan Node2 sedang dalam keadaan mati, maka server Controller akan mencari Server Backup, yaitu Node3 dan kemudian akan menyerahkan request client kepada server Backup tersebut



6). Sekarang kita coba matikkan seluruh server Node, disini kita akan mematikan server Node terakhir, yaitu Node3





7). Jika semua server Node mati, maka pada saat client mengakses web, tampilannya akan menjadi seperti ini



Dan berikut adalah video verifikasi jika semua server Node mati 



Mungkin cukup sekian untuk postingan saya kali ini...

Wassalamu'alaikum Wr Wb.

Comments

Popular posts from this blog

Spesifikasi Minimum (Minimum Requirements) Windows Server 2012

Pengertian Port Dan Contohnya

Troubleshooting Jaringan