GNU/Linux >> Belajar Linux >  >> Linux

Cara mengonfigurasi penyeimbang beban HAProxy

Ringkasan

Kami akan membahas langkah-langkah cara mengonfigurasi penyeimbang beban HAProxy. HAProxy dapat berjalan dengan instruksi round-robin dan dalam mode failover, tetapi juga dapat berjalan dengan keduanya secara bersamaan, memastikan HA (Ketersediaan Tinggi). Selain menjalankan HAProxy dalam mode round-robin saja, beberapa skenario HA memerlukan failover di mana Anda ingin memiliki server cadangan atau server untuk server utama yang melayani situs web atau aplikasi untuk lingkungan HA yang lebih andal dan dengan perawatan yang lebih mudah.

Selain itu, HAProxy juga dapat berjalan sebagai ssl passthrough yang digunakan untuk mengenkripsi semua lalu lintas masuk pada infrastruktur Anda yang tercakup dalam posting ini (menggunakan certbot dan mari mengenkripsi ssl.) Dalam posting ini, instruksi dan konfigurasi HAProxy dibahas untuk skenario di mana Anda menginstal HAProxy langsung di server (bare metal atau VM), dengan kata lain – bukan dalam wadah.

Jika Anda juga tertarik dengan cara menambahkan SSL ke HAProxy Anda, yang dibahas pada posting ini. Kami juga dapat mengonfigurasi penyeimbang beban haproxy dengan enkripsi SSL/HTTPS dan memiliki lalu lintas penyeimbang beban yang aman.

Mode round-robin

Algoritme round-robin adalah kumpulan instruksi untuk membagi lalu lintas secara merata (dalam contoh ini), artinya, jika Anda memiliki dua server – kedua server akan menerima lalu lintas secara merata atau dengan kata lain, round-robin akan memastikan bahwa kedua server mendapatkan jumlah lalu lintas yang sama dan memastikan bahwa server maupun bandwidth tidak kelebihan beban.

Mode kegagalan

Seperti disebutkan sebelumnya, dalam mode failover, Anda menetapkan ke HAProxy server mana yang akan menjadi server utama, yang akan menerima lalu lintas dan juga server cadangan yang akan mengambil alih lalu lintas penerima jika server utama mati. Artinya, saat server utama mati, server cadangan mengambil alih dan menggantikan server utama hingga server kembali online sehingga mengurangi waktu henti seminimal mungkin.

Ini juga berguna ketika pemeliharaan server perlu dilakukan, jadi ketika Anda menjalankan pembaruan &peningkatan pada satu server atau perlu di-boot ulang, server lain akan aktif dan berjalan dan akan mengambil alih peran sebagai server utama dan terus berlanjut. melayani situs/aplikasi.

Konfigurasikan penyeimbang beban HAProxy

Konfigurasi failover

Alamat IP dalam konfigurasi di bawah ini digunakan sebagai contoh. Konfigurasinya cukup lurus ke depan. Dalam file HAProxy cfg tambahkan konfigurasi seperti ini tepat di bawah konfigurasi default:

frontend haproxybind 10.0.51.119:80mode httpdefault_backend test_sitebackend test_sitemode httpserver testserver1 10.0.51.121:80 periksa inter 5s rise 3 fall 2server testserver2 10.0.51.120:80 periksa backup antar 5s rise 3 fall 2

Bagian frontend dari konfigurasi adalah HAProxy. Ikat HAProxy dengan alamat IP dan nomor portnya (port layanan). Dalam contoh ini, kami menggunakan port 80 untuk HTTP. Jika HAProxy Anda terekspos secara publik di internet, gunakan alamat IP publik HAProxy.

Tentukan untuk haproxy frontend yang memiliki backend, tempat kami mengonfigurasi dan menambahkan server.

Dalam contoh ini, kami menambahkan dua server untuk backend haproxy. Testserver 1 adalah server utama dan testserver2 adalah server cadangan. Kami juga akan mengklarifikasi parameter tambahan di server:

server testserver1 10.0.51.121:80 periksa antar 5 detik naik 3 jatuh 2 server testserver2 10.0.51.120:80 periksa cadangan antar 5 detik naik 3 turun 2

Di kedua server, kami menambahkan interval pemeriksaan server online. Untuk testserver1, jika menjadi tidak responsif setelah 5 detik dengan 3 pemeriksaan (3 pemeriksaan pada interval 5 detik), itu akan ditandai sebagai offline dan server cadangan akan diambil alih. Jika testserver1 kembali online, itu akan diambil alih setelah 2 pemeriksaan.

Parameter pemeriksaan yang sama ditambahkan untuk server cadangan.

Konfigurasi round-robin

HAProxy memiliki instruksi round-robin yang sudah terintegrasi di dalamnya, jadi di bagian konfigurasi yang didukung hanya perlu menambahkan baris konfigurasi – balance roundrobin.

Seperti pada konfigurasi di bawah ini:

frontend haproxy bind 10.0.51.119:80 mode http default_backend test_site backend test_site balance roundrobinmode http server testserver1 10.0.51.121:80 periksa inter 5s rise 3 fall 2 server testserver2 10.0.51.120:80 periksa backup antar 5s rise 3 fall 2 

Failover + round-robin

Kami menyebutkan bahwa HAProxy dapat dikonfigurasi dengan algoritma round-robin dan memiliki server failover juga. Untuk pengaturan ini, disarankan untuk memiliki lebih banyak server, server utama yang memuat keseimbangan lalu lintas masuk dan server failover (cadangan) terpisah untuk mengambil alih jika server utama mati. Konfigurasi untuk pengaturan semacam ini akan seperti ini:

backend test_site balance mode roundrobin http server testserver1 10.0.51.121:80 periksa antar 5 detik naik 3 turun 2 server testserver2 10.0.51.120:80 periksa antar 5 naik 3 turun 2 server testserver3 10.0.51.121:80 periksa cadangan antar 5 naik 3 turun 2

Jadi, dalam konfigurasi ini, kami menambahkan server ketiga, yang kami tetapkan di HAProxy untuk bertindak sebagai server cadangan, sedangkan dua yang pertama akan bertindak sebagai server utama dan HAProxy akan memuat lalu lintas keseimbangan pada mereka.

Ringkasan

Ini adalah contoh tentang cara mengkonfigurasi penyeimbang beban HAProxy. Ini hanya beberapa contoh bagaimana konfigurasinya paling umum. Jika Anda juga tertarik dengan cara menambahkan SSL ke HAProxy Anda, yang dibahas pada posting ini. Semoga postingannya bermanfaat untuk Anda.


Linux
  1. Cara mengkonfigurasi server web Apache

  2. Cara menginstal dan Mengonfigurasi penyeimbang beban HAProxy di Debian 11

  3. Cara Install dan Konfigurasi HAProxy load balancer di Rocky Linux/Alma Linux 8

  1. Cara Mengatur Load Balancer pada Server BMC s0.d1.small

  2. Cara Mengkonfigurasi HAProxy di Server Debian 9 / Ubuntu 16.04

  3. Cara menginstal dan Mengonfigurasi penyeimbang beban HAProxy di Ubuntu 20.04

  1. Cara Mengonfigurasi NGINX sebagai Penyeimbang Beban TCP/UDP di Linux

  2. Cara mengonfigurasi perutean Berbasis Host pada penyeimbang beban aplikasi AWS

  3. Cara membuat Network Load Balancer di AWS