Konfigurasi Reverse Proxy Pass dengan Load Balance Pada Web Server Nginx
Assalamu'alaikum Wr Wb
Yap, bertemu lagi dengan saya Dimas Trihandika selaku Admin dari blog ini.
Setelah sebelumnya saya telah posting kurang lebih 7 artikel mengenai Web Server Nginx, Pada kesempatan kali ini saya masih memposting tutorial yang berkaitan dengan Web Server Nginx, yaitu tutorial Konfigurasi Reverse Proxy Pass dengan Load Balance yang sepertinya ini akan menjadi lab terakhir tentang Web Server.
Sebelumnya, Apa itu load balance?
Load Balance adalah metode untuk membagi beban trafik pada dua atau lebih jalur koneksi. Hal ini berfungsi agar trafik berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan meminimalisir terjadinya overload.
Pada Load Balance ini terdapat server controller yang digunakan untuk mengatur berapa beban yang ditanggung terhadap server tertentu. Misalnya server A di konfigurasi untuk bisa menangani 3 request client, sedangkan server B menangani 1 request klien, dan Server C sebagai server backup apabila server A dan B sedang Overload atau dalam kondisi mati.
Pada postingan kali ini saya membuat 4 server yang dimana 1 sebagai controller dan 3 sisanya sebagai server yang akan dibalancing oleh controller
Topology :
Berikut cara konfigurasinya
1) Pertama edit terlebih dahulu zona forward yang sudah kalian buat
Tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini, sesuaikan IP node1 node2 dan juga node3
2) Setelah itu, edit pula zona reversenya
Tambahkan syntak yang sudah saya tandai pada gambar dibawah ini, sesuaikan ip dan domain node1, node2, dan node 3
3) Restart sevice DNS agar konfigurasi yang baru berjalan dengan baik
4) Lakukan perintah dig untuk pengetesan domain node1, node2 dan node3
5) Edit file konfigurasi Web Server Nginx. Disini saya mengeditnya pada file Virtual Host yang sudah saya buat pada lab sebelumnya
6) Tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini
7) Masih di file konfigurasi Nginx, cari syntak location { kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini. Atur pelatakannya sebelum tanda kurawal tutup ("}")
8) Restart Service nginx agar konfigurasi yang baru berjalan
Edit konten Web Pada node1, node2 dan node3 untuk pembuktian
1) Edit konten web node1
2) Lakukan hal yang sama pada node2
3) Begitu pula pada node3
Assalamu'alaikum Wr Wb
Yap, bertemu lagi dengan saya Dimas Trihandika selaku Admin dari blog ini.
Setelah sebelumnya saya telah posting kurang lebih 7 artikel mengenai Web Server Nginx, Pada kesempatan kali ini saya masih memposting tutorial yang berkaitan dengan Web Server Nginx, yaitu tutorial Konfigurasi Reverse Proxy Pass dengan Load Balance yang sepertinya ini akan menjadi lab terakhir tentang Web Server.
Sebelumnya, Apa itu load balance?
Load Balance adalah metode untuk membagi beban trafik pada dua atau lebih jalur koneksi. Hal ini berfungsi agar trafik berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan meminimalisir terjadinya overload.
Pada Load Balance ini terdapat server controller yang digunakan untuk mengatur berapa beban yang ditanggung terhadap server tertentu. Misalnya server A di konfigurasi untuk bisa menangani 3 request client, sedangkan server B menangani 1 request klien, dan Server C sebagai server backup apabila server A dan B sedang Overload atau dalam kondisi mati.
Pada postingan kali ini saya membuat 4 server yang dimana 1 sebagai controller dan 3 sisanya sebagai server yang akan dibalancing oleh controller
Topology :
Berikut cara konfigurasinya
Konfigurasi Server
Sebelum konfigurasi Load Balance, edit terlebih dahulu file konfigurasi DNS pada zona forward dan juga zona reverse untuk menambahkan domain node1, node2 dan node3
1) Pertama edit terlebih dahulu zona forward yang sudah kalian buat
nano /var/named/"forward zone name"
Tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini, sesuaikan IP node1 node2 dan juga node3
nano /var/named/"reverse zone name"
Tambahkan syntak yang sudah saya tandai pada gambar dibawah ini, sesuaikan ip dan domain node1, node2, dan node 3
3) Restart sevice DNS agar konfigurasi yang baru berjalan dengan baik
systemctl restart named
4) Lakukan perintah dig untuk pengetesan domain node1, node2 dan node3
dig "nama domain"
5) Edit file konfigurasi Web Server Nginx. Disini saya mengeditnya pada file Virtual Host yang sudah saya buat pada lab sebelumnya
6) Tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini
- upstream digunakan untuk mendefinisikan sebuah cluster yang dapat request proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing
- banckendimas yaitu penamaan saja dari cluster yang akan di balancing
- server merupakan pendefinisian server mana saja yang akan dibalancing, disini saya mengaturnya untuk node1, 2, dan 3
- weight merupakan beban yang dapat ditanggung pada server tertentu
- backup berfungsi sebagai server mana yang berperan sebagai backup pada saat server yang lainnya sedang overload ataupun tidak aktif
- proxy_pass_header yaitu identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, ditentukan dengan menggunakan resolver.
7) Masih di file konfigurasi Nginx, cari syntak location { kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini. Atur pelatakannya sebelum tanda kurawal tutup ("}")
- proxy_pass digunakan untuk menetapkan 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 backendimas
8) Restart Service nginx agar konfigurasi yang baru berjalan
Konfigurasi Server Node1, Node2 dan Node3
Edit konten Web Pada node1, node2 dan node3 untuk pembuktian
1) Edit konten web node1
2) Lakukan hal yang sama pada node2
3) Begitu pula pada node3
Pengetesan
1) Lakukan pengetsan pada Web Browser client dengan cara mengakses Server Controller
Maka hasilnya akan sesuai dengan yang sudah dikonfigurasi pada server controller, karna node1 diatur untuk menampung beban request client sebanyak 3 kali maka pada saat request ke 4, controller akan mengarahkan ke node2, sedangkan server node3 tidak akan digunakan, karna dia berperan sebagai backup yang hanya akan digunakan pada saat server lainnya sedang down atau tidak aktif
2) Sekarang coba matikan server node1
poweroff
3) Kemudian akses kembali server controller pada web browser client
Karna node1 mati, maka konten web akan dibebankan pada node2, sedangkan node 3 masih belum digunakan, karna server balancing (controller) menganggap masih ada server yang aktif dan kemudian request client akan diserahkan pada server tersebut.
4) Nah sekarang coba matikan server node2
poweroff
5) Setelah itu, akses kembali server controller pada web browser client
Pada saat ini lah server backup (node3) digunakan. Karena node1 dan node2 mati, maka server balancing (controller) akan mencari server backup dan menyerahkan request client pada server backup tersebut.
6) Lantas bagaimana jika semua server mati? jika ingin tahu coba matikan server node3nya
poweroff
7) Jika semua server mati, pada saat client mengakses, maka outputnya akan seperti ini
Ga percaya? liat video ini
Mungkin sampai sini saja untuk postingan kali ini
Sekian dan Semoga Bermanfaat
Comments
Post a Comment