HAProxy ile Load Balancer Konfigürasyonu

tarihinde yayınlandı.

Selamlar, bu yazıda HAProxy kullanarak load balance yapısı oluşturulmasından bahsedeceğim.

İlk olarak kullandığınız LinuxOS’a göre HAProxy uygulamasını makineye install ediyoruz.

Sonrasında /etc/haproxy/ dizininde haproxy.cfg dosyamız oluşuyor. Her ihtimale karşı konfigüre etmeden önce yedeğini alıyoruz.

Bir editor yardımıyla (nano, vim vs.) haproxy.cfg dosyamızı açarak load balance yapısını konfigüre etmeye başlıyoruz.

Yukarıdaki konfigürasyonu özetlemek gerekirse;

global tag’inin içinde, haproxy servisinin hangi user ve group yetkisinde çalışacağı, log path’leri, ssl sertifikası path’i gibi bilgiler yer alıyor.

default tag’inin içinde, client ve server tarafındaki timeout süreleri ve error file path’leri yer alıyor.

listen stats bölümü, aşağıdaki görseldeki gibi haproxy servisini izleyebileceğimiz bir monitoring ekranı oluşturmak için kullanılıyor. Giriş için, root ve password bilgilerini kullanmanız gerekli.

frontend bölümünde load balance konfigürasyonumuz başlıyor. Clientların ilk olarak geleceği yer burası. Bu kısma gireceğiniz configler üzerinden ilgili yerlere yönlendirmeler yapılıyor.

  • bind ile hangi portların dinleneceğini belirtiyoruz. SSL sertifikamız bulunuyorsa onun da path’ini belirtmemiz gerekli.
  • acl (Access Control List) ile birden fazla domainimiz ya da subdomainimiz varsa onları bu parametrenin içinde belirtiyoruz.
  • redirect scheme https if !{ ssl_fc } komutu ile SSL yönlendirmesini yapıyoruz.
  • use_backend komutu ile site1 adlı acl’nin, nurigundogan.net backend’ini kullanacağını belirtiyoruz.

backend bölümünde nurigundogan.net adlı sitemizin hangi makineler üzerinden yayın yapacağını belirtiyoruz.

  • mode parametresiyle http üzerinden yayın yapacağını belirtiyoruz.
  • balance parametresiyle 2 veya daha fazla makineye yükün hangi şekilde dağıtılacağını belirtiyoruz.
  • server kısmında yayın yapılacak makinelerin IP ve port bilgilerini belirtiyoruz.
  • IP ve port bilgisinden sonra gelen check parametresi ile node’ların sürekli olarak up/down olup olmadığının kontrolü yapılıyor.
  • Örnek olarak WEB01’in konfigürasyonuna göre; gelen 3 isteğe üst üste cevap veremezse makine down oluyor. Sonrasında, üst üste gelen 2 isteğe cevap verebilirse makine up durumuna geçiyor.

Konfigürasyonların aktif olması için aşağıdaki komut ile haproxy servisini reload ediyoruz. Ve artık load balancer’ımız hazır hale geliyor.

Bir sonraki yazıda görüşmek üzere…

Sosyal Medyada Paylaşın