IT Bootcamp

Belajar Mengenai Jaringan, Server, dan Website.

LAB 8.19. Konfigurasi Reverse Proxy dengan Load Balancing Nginx CentOS7

Konsep Dasar

Load balancing di beberapa contoh aplikasi adalah teknik yang umum digunakan untuk mengoptimalkan pemanfaatan sumber daya, memaksimalkan throughput, mengurangi latency, dan memastikan konfigurasi fault-tolerant.

Hal ini dimungkinkan untuk menggunakan nginx sebagai penyerah beban HTTP yang sangat efisien untuk mendistribusikan lalu lintas ke beberapa server aplikasi dan untuk meningkatkan kinerja, skalabilitas dan keandalan aplikasi web dengan nginx.

Mekanisme load balancing berikut (atau metode) didukung dalam nginx:
  • Round-robin - permintaan ke server aplikasi didistribusikan secara round-robin,
  • Least-connected - permintaan berikutnya diberikan ke server dengan jumlah koneksi aktif paling sedikit,
  • Ip-hash - fungsi hash digunakan untuk menentukan server mana yang harus dipilih untuk permintaan berikutnya (berdasarkan alamat IP klien).


Topologi dan Ketentuan


  • Domain yang digunakan adalah gilang.net
  • 4 Buah Server yakni 1 sebagai controller dan 3 sebagai node
  • Server Controller sebagai penyedia DNS
  • Server Node sebagai penyedia layanan web server
  • Server Node3 sebagai backup web server jika Server Node1 dan Server Node2 tidak aktif

Konfigurasi Server Controller

Hal pertama yang harus kita lakukan adalah membuat identifikasi untuk ketiga server node. Dalam hal ini kita akan membuat domain khusus yang digunakan untuk mengidentifikasi ketiga server node tersebut. Domain ini hanya untuk identitas saja, bukan untuk domain aslinya. Domain aslinya masih tetap mengambil dari server controller.

1. Tambahkan dahulu ketiga server node pada file forward.
Edit file Forward


2. Tambahkan juga ketiga server node pada file reverse.
Edit file Reverse


3. Lakukan restart pada named agar server dapat melakukan perubahan.
Restart named


4. Lakukan pengetesan identitas pada setiap server node menggunakan perintah dig.
Mengecek Domain
Mengecek identitas Server Node1

Mengecek Domain
Mengecek identitas Server Node2

Mengecek Domain
Mengecek identitas Server Node3

5. Kemudian edit file vhost.conf pada direktori /etc/nginx/conf.d/ Untuk membuka file vhost.conf anda dapat mengetikkan command berikut.
[root@gilang ~]# nano /etc/nginx/conf.d/vhost.conf
Lalu masukkan script seperti gambar dibawah.
Edit file vhost.conf
Keterangan:
  • upstream --> mendefinisikan sebuah cluster yang dapat direquest proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing.
  • backend --> penamaan dari cluster yang akan di balancing.
  • server --> pendefinisian server mana yang akan dibalancing, disini kita mengaturnya untuk server node1, node2, dan node3
  • weight --> beban yang dapat ditanggung pada server tertentu, konsepnya sama saja seperti load factor.
  • backup --> menentukan server mana yang akan berperan sebagai backup pada saat server lainnya sedang overload atau sedang dalam keadaan mati
  • proxy_pass_header --> identifikasi nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.


6. Agar server dapat melakukan perubahan terhadap file yang kita konfigurasi, lakukan restart pada nginx.
Restart Nginx


Konfigurasi Server Node1

1. Buat tampilan web untuk server node1. Buat file html pada direktori default web server di direktori /usr/share/nginx/html/ kemudian masukkan scipt html seperti gambar dibawah ini.
Membuat tampilan web server node1


Konfigurasi Server Node2

1. Buat tampilan web untuk server node2. Buat file html pada direktori default web server di direktori /usr/share/nginx/html/ kemudian masukkan scipt html seperti gambar dibawah ini.
Membuat tampilan web server node2


Konfigurasi Server Node3

1. Buat tampilan web untuk server node3. Buat file html pada direktori default web server di direktori /usr/share/nginx/html/ kemudian masukkan scipt html seperti gambar dibawah ini.
Membuat tampilan web server node3


Verifikasi

Untuk verifikasi yang pertama kita mencoba mengakses web server pada client dan web server yang pertama terbuka adalah web server dari server node1, kemudian saat direfresh yang kedua kali akan muncul web server dari server node2. Saat direfresh kembali, akan muncul lagi web server dari server node1. Begitulah seterusnya....Mengapa web server dari server node3 tidak muncul? karena web server dari server node3 hanyalah sebagai backup jika server node1 dan server node2 tidak aktif

Pada verifikasi yang kedua ini kita coba menonaktifkan server node1. Saat kita mengakses web server maka hanya akan muncul tampilan web server dari server node2.

Pada verifikasi yang ketiga ini kita coba kembali menonaktifkan server node1 dan server node2. Saat kita mengakses web server maka akan muncul tampilan web server dari server node3. Mengapa? karena server node3 ini sebagai backup jika server node1 dan server node2 tidak aktif.


Demikianlah artikel pada kali ini jika terdapat kesalahan kata pada artikel yang anda baca, saya mohon maaf sebesar-besarnya. Jika anda masih kurang paham atau kurang mengerti akan artikel yang saya sampaikan, anda dapat mengetikkan keluhan anda melalui kolom komentar. Terima kasih.

2 komentar

Search Panel