Basit Yük Dengeleyici işlemleri
Bu kategoride basit bir yük dengeleme konfigürasyonu için gerekli adımları bulabilirsiniz
- Örnek topoloji
- Gerçek Sunucu tanımı
- Servis Grubu tanımı
- Sanal Servis tanımı
- Sertifika Yönetimi
- New Persistency tanımı
- XFF yada x forwarded for tanımları
- Nat pool tanımı
Örnek topoloji
Sistemlere giden yükleri dengelemek için, eğer servis ssl içeriyorsa aşağıdaki adımları içerir
- Yükü karşılayacak gerçek sunucuların adres ve port tanımları
- Gerçek sunuculardan oluşan havuzu ifade eden servis grubu tanımı
- Ssl trafiğini karşılayabilmek ve ssl terminasyonu yapmak için gerekli sertifikaların içeriye alınması ve ilgili sertifika template in tanımı
- Gelen http isteklerinin hep aynı sunucuya gönderilmesi için persistency tanımı
- Özellikle nat pool tanımı yapıldığında. kaybolan clientların ip adreslerini http header kısmına koymak için gerekli tanımın yapılması
- Servisi karşılamak için gerekli ve son tanımların bir arada toplanarak yapıldığı Virtual server, yani sanal servis tanımı
Bu işlemlerin sonucunda aşağıdaki gibi bir topolojiyi kurgulamış olursunuz.
Gerçek Sunucu tanımı
Kendi networkümüzde yer alan gerçek fiziksel veya sanal sunucularımızı ADC-SLB-Servers menüsü altından ekleyebiliriz.
Sağ üstten Create adımı altında Server ekleyebilir ve ilgili eklenilen Server'a port tanımı yapabiliriz.
Yapılan Konfigurasyonun CLI çıktısı aşağıdaki gibidir.
slb server SERVER-1 192.168.10.20
port 80 tcp
!
slb server SERVER-2 192.168.10.21
port 80 tcp
!
Servis Grubu tanımı
Gui aracılığı ile gerçek sunucuları gruplamak üzere servis grubunun tanımlanması
A10 ADC cihazımızda Servis grubu tanımı yapmak için ilgili cihazımızda ADC-SLB -Service Groups tabı altından tanım yapabiliriz.
Create butonu ile önceden eklediğimiz server'larımı burada oluşturduğumuz Servis Gruplarına bağlayabiliriz.
yukarıdaki değişikliğin show çıktısı aşağıdaki gibidir.
slb service-group SERVERS tcp
backup-server-event-log
health-check ping
member SERVER-1 80
member SERVER-2 80
!
Sanal Servis tanımı
Servis grubunu ve/veya templateleri bağlamak için virtual slb server tanımı
A10 ADC cihazımızda Virtual Service oluşturup buna göre ilgili bir destination IP servisini dinleyip buna gelen paketleri istediğimiz Servis grubuna yönlendirebilir ve bu trafik üzerinde istediğimiz gibi manipülasyon yapabiliriz.
Sırasıyla A10->>ADC->>SLB->> Virtual-Service ;
Virtual Servis oluştururken, istersek oluşturuğumuz bir nat pool'unu bu servise bağlayabiliriz.
Oluşturduğumuz bir HTTP Headerını bu servise bağlayıp trafiği istediğimiz gibi manipüle edebiliriz.
Yukarıdaki değişikliklerin show çıktısı aşağıdaki gibidir.
slb virtual-server VIP 5.5.5.5
port 80 http
name VIP_80_http
source-nat pool Local-Pool
service-group SERVERS
template persist source-ip Sticky-Local
template http X-forwarded
!
Sertifika Yönetimi
Cihaza sertifika yükleme silme ve değişiklik işlemleri Decryption veya ssl-offload işlemleri için cihaza sertifikalar yüklememiz gerekebilir.
Bu işlem için aşağıdaki adımları izleyebilirsiniz.
Sertifika ekleme
-
Logon olduktan sonra ADC -> SSL Management ekranına geçiyoruz
-
Certtificate opsyionunu seçip sertifikaya bir isim veriyoruz bu ismi kopyalamayı unutmayın, düzenli görünmesi için key adımında da aynı ismi kullanacağız.
-
Bu adımda da yine importa bastıktan sonra bu sefer key opsiyonunu seçip sertifika adımınındaki isimle aynı ismi veriyoruz.
-
Sertifika ve key inin birbirlerine uygun şekilde görüntülendiğine emin oluyoruz.
New Persistency tanımı
Load Balancer cihazımızda dışarıdan gelen istekleri source-ip header'ına bakılarak senaryo veya alt yapımıza göre aynı source ip'ye sahip istekleri sürekli aynı server'a yönlendirmek isteyebiliriz. Bunun için öncelikle Persistence template'i hazırlayıp bu template i ilgili virtual servis' e bağlamamız gerekiyor. Sırayla SLB-Template-Persistence altına gidiyoruz. Ardından Persistence altında source-ıp' ye göre template oluşturuyoruz.
Create ->>>> Persist Source IP
Source Ip template Detaylarını ekliyoruz.
Bu aşamada oluşturduğumuz Persiste Source IP template'ini virtual servise bağlamamız gerekiyor.
ADC->>>SLB->>>Virtual Services
İlgili daha önceden oluşturulan Virtual Service i editleyip ilgili template bağlamamız gerekiyor.
Yukarıdaki değişikliklerin show çıktısı
slb template persist source-ip Sticky-Local
!
slb virtual-server VIP 5.5.5.5
port 80 http
name VIP_80_http
source-nat pool Local-Pool
service-group SERVERS
template persist source-ip Sticky-Local
template http X-forwarded
!
XFF yada x forwarded for tanımları
saklanan client ip nin header içinde iletimi
Load Balancer cihazımız dışarıdan gelen isteği içeriye alırken NAT yapıyor olabilir.Bu durumda default olarak dışarıdan gelen talebin orjinal source IP bilgisi içeriye gönderilen paketin içerisinde yer almayacaktır.Bu durumda orjinal source ip imizi kaybetmiş olacağız.Bunu önlemek ve orjinal source ip header'ını pakete eklemek için L7 Template oluşturup, bu oluşturduğumuz template'de """ Client IP Header Insert """ fonksiyonunu açmamız gerekiyor.
Ardından bu oluşturulan Layer 7 Template'i ilgil virtual-service bağlamamız gerekiyor. ADC-SLB-Virtual Services
Yukarıdaki değişikliklerin show çıktıları aşağıdaki gibidir.
slb template http X-forwarded
insert-client-ip replace
!
slb virtual-server VIP 5.5.5.5
port 80 http
name VIP_80_http
source-nat pool Local-Pool
service-group SERVERS
template persist source-ip Sticky-Local
template http X-forwarded
!
Nat pool tanımı
Yük dengeleyiciler, varsayılan ağ geçidi -default gateway- olmadıklarında, erişmeye çalıştıkları sunucuların, trafiği kendilerine geri gönderebilmeleri için, erişim talebi yaparken, kaynak adreslerini değiştirirler.
Nat Pool oluştururken ADC->>>Ip Source Nat kısmına gidiyoruz.
Create kısmından yeni NAT poolumuzu oluşturabiliriz.
Ardından bu yaptığımız NAT pool tanımını ADC-SLB-Virtual Services altında ilgili Virtual Service' e bağlamamız gerekiyor.
Yukarıdaki değişikliğin show çıktısı aşağıdaki gibidir.
ip nat pool Local-Pool 192.168.10.50 192.168.10.55 netmask /24
slb virtual-server VIP 5.5.5.5
port 80 http
name VIP_80_http
source-nat pool Local-Pool
service-group SERVERS
template persist source-ip Sticky-Local
template http X-forwarded
!