Thursday 11 May 2017

LAB Centos 8.19 | NGINX | Proxy Pass with Load Balance

Assalamualaikum wr.wb

Hell-o guys, yoo whatsup ? Yup saya kembali lagi dengan detik detik terakhir mau pergi ada urusan :v. Ya pada kesempatan kali ini saya ngeshare materi tentang Web Server Nginx Yaitu Proxy Pass dengan Load Balance. Lanjutan dari materi sebelumnya ini. monggo dicheck untuk materi sebelumnya dengan klik bagian bar yang ada nama Admin Server.

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. -google

Yaa Untuk topologi yang lebih jelas tentang load balance
Ya langsung saja kita kekonfigurasi topologi diatas

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

 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

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

3. Dan restart service named agar konfigurasi yang sudah dilakukan dapat berjalan optimal


4. Lakukan perintah dig untuk melakukan pengetesan domain node1, node2, dan node3




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 beberapa 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
  • backendhafizi 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 backendhafizi
7. Kemudian restart service Nginx agar konfigurasi yang sudah dilakukan dapat berjalan secara optimal

Node 1, Node 2, Node 3
1. Pertama edit konten web untuk Node1


2. Edit Konten Node 2

3. Juga edit Node yang terakhir
Client

1. Sekarang lakukan verifikasi pada web browser client dengan cara mengakses Server Controller

Maka Hasil yang client request bakal dikasih dari server controller. dan jika si node 1 telah diakses oleh client sebanyak 3 kali maka diganti dengan ke node 2 dan jika node 2 telah diakses sebanya satu kali maka diganti lagi dengan node 1, sedangkan node 3 itu tidak digunakan karena node 3 bersifat bakcupan kalau kedua node itu mati.

2. Sekarang kita coba matikan server Node1
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. Setelah itu 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 ini Jika semua Server node dimatikan (video)

Ya cukup disitu saja saya sampaikan kalau ada kekurangan mohon dikomentar.
Wassalamualaikum wr.wb.


EmoticonEmoticon