WHAT'S NEW?
Loading...

Lab 8.19 Konfigurasi Reverse Proxy Pass Load Balance Nginx Web Server

Assalamualaikum

Pada kesempatan kali ini, saya akan melanjutkan materi dari Web Server Nginx, yaitu Konfigurasi Reverse Proxy Pass dengan 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.

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

Pertama, edit zona forward yang sudah kalian buat
nano /var/named/"namafilezonaforward"

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

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

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

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






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.
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 backeniqbal
Kemudian restart service Nginx agar konfigurasi yang sudah dilakukan dapat berjalan 



Konfigurasi Server Node1, Node2, dan Node3


Pertama edit konten web untuk Node1




Edit juga konten web untuk Node2


Lakukan hal yang sama untuk Node3



Untuk 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 4 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

Sekarang kita coba matikan server Node1
poweroff

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

Sekarang matikan server Node2

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

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

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



SELESAI




Semoga Bermanfaat



0 komentar:

Posting Komentar