VMware NSX-T Load Balancing Architecture
Load balancer, bir sanal IP adresi (VIP) ve UDP / TCP bağlantı noktası ile tanımlanan bir sanal hizmeti veya sanal sunucuyu temsil eder. Load balancer tarafından alınan trafik, hizmeti sağlayan arka taraftaki aynı işi yapan sunucular grubuna dağıtır. Bu model bizlere uygulama ölçeğini genişletme ve yüksek kullanılabilirlik sağlamaktadır.
Application scale-out:
Uygulama ölçeklendirme aşağıdaki şemada da görüleceği üzere, kullanıcılar Load balancer’ın VIP’sine gelir daha sonrasında bu trafik, önceden tanımlanmış bir server havuzunun üyeleri arasında dağıtılır.
Application high-availability:
Load balancer ayrıca sunucuların sağlığını izler ve sorun olan bir sunucuyu havuzdan ayırarak, trafiği diğer üyelere yeniden dağıtır.
NSX-T Load Balancing Deployment Modes
- In-line load balancing
Bu modelde istemciler Tier-1 uplink tarafında, sunucular Tier-1 downlink tarafındadır.İstemci ve sunucular arasındaki trafik zorunlu olarak Load balancer üzerinden geçtiğinden herhangi bir LB Source NAT yapılmasına gerek yoktur.
Artı yönü, istemcilerin server havuzuna direk ulaşabilir arada herhangi bir NAT işlemine gerek kalmaz. Bu modelin dezavantajı, Tier-1 ağ geçidinin artık merkezi bir bileşene sahip olması nedeniyle, farklıTier-1 arkasındaki Segmentler Doğu-Batı trafiğini SR’ye ulaşmak için bir Edge Node’a atanmalıdır..Bu, Load balancer’dan geçmesine gerek olmayan trafik için de bu rotayı takip eder.
- One-arm load balancing
Bu modda, hem istemci trafiği hem de sunucu trafiği aynı yük dengeleyici arayüzünü kullanır.Bu durumda, LB SNAT sunuculardan istemciye giden trafiğin gerçekten de yük dengeleyiciden geçmesini sağlamak için kullanılır. Aynı subnet veya farklı subnet te de konumlandırılabilirler. Load balancer istemcinin gerçek ip adresini görebilmek için HTTP / HTTPS “X-Forwarded-For” başlığı enjekte edebilir, bu durumu firewallarda proxy arkdasından gelen istemciler içinde kullandığımızı hatırlatalım.İki farklı kullanım senaryosu vardır.
- Clients and servers on the same subnet
Farklı Tier-1 üzerindeki segmentlerin birbirlerine erişimi için burada da Edge Nodlara ihtiyac olacak ve “In-line load balancing” dezavantajı burda da geçerlidir.
- Load Balancer One-Arm attached to Segment
Aşağıdaki tasarımda, mavi Tier-1 ağ geçidi herhangi bir Load balancer hizmeti çalıştırmaz. Bunun yerine, Load balancer, servis interface’ ine sahip olan yeni bir Tier-1 ağ geçidi (turuncu ile gösterilir) konumlandırılır. Bu şekilde segmentlerin kendine özel Load balancer’ları vardır.
Tier-1 One-Arm LB, aşağıdaki şekilde gösterildiği gibi fiziksel VLAN segmentlerine de eklenebilir ve böylece VLAN’daki uygulamalar için de yük dengeleme hizmeti sunar.
Load-balancer Monitor
L4 VIP load balances UDP and TCP connections.
İstemci bağlantısı VIP tarafından karşılanır ve tcp/udp portuna göre arka tarafdaki server havuzuna iletilir.
L7 VIP load balances HTTP or HTTPS connections
İstemci bağlantısı VIP tarafından sonlandırılır ve istemcinin HTTP veya HTTPS isteği alındığında Load balancer erişmeye çalıştığı url lere server ataması işlemi gerçekleştirebilir. Gerekirse static olarak da belirlenebilir.
L7 VIP HTTPS, NSX-T LB offers 3 modes
HTTPS Off-Load, HTTPS End-to-End SSL, and SSL Passthrough.
HTTPS Off-Load
• Güvenlik: Trafik istemci tarafında şifrelenir.
• Performans: Web sunucularının şifreleme işlemi çalıştırması gerekmez.
• LB esnekliği: HTTP trafiğindeki tüm gelişmiş yapılandırma, örneğin URL yük dengeleme yapılabilir.
HTTPS End-to-End SSL
VIP HTTPS trafiğinin şifresini çözer ve sunucu erişimi için trafiği yeniden şifreler.
En iyi güvenlik ve LB esnekliği sunar.
• Güvenlik: Trafik uçtan uca şifrelenir.
• Performans: Trafik iki kere şifreleneceği için performans diğerlerine göre düşüktür.
• LB esnekliği: HTTP trafiğindeki tüm gelişmiş yapılandırma, URL yük dengeleme gibi kullanılabilir.
HTTPS SSL Passthrough
İstemciden sunucu havuzuna kadar bir kere şifrelenir. Güvenlik ve performans olarak en ideal tercihlerden biridir. Fakat bazı limitasyonlar vardır.
• Güvenlik: trafik uçtan uca şifrelenir.
• Performans: LB, SSL trafiğini sonlandırmadığından en yüksek performansı sunar.
• LB esnekliği: HTTP trafiğine dayalı gelişmiş yapılandırma mevcut değildir. SSL SNI yük dengeleme gibi yalnızca SSL trafiğine dayalı gelişmiş yapılandırma mevcuttur.
Demo:
One Arm Load balance demosu için yapımda iki adet Web Server’ım var.
1.Adım
Networking > Tier-1 Gateway
ONE-ARM-LB adında Tier-1 oluşturuyorum ve bunu herhangi bir Tier-0 a yada VRF e bağlamıyorum.
Ardından “Services Interface” kısmından Web Server ların subnetinden bir ip atıyorum ve Connected Segment kısmından ilgili Segmentimi seçiyorum (NSX10 web sunucular için kullandığım segment)
External networkden VIB interface’sine erişim için route yazıyorum.
2.Adım
Web Serverlarımın bulunduğu bir Server Pools yaratıyorum ve SNAT tanımının Automap işaretli olduğuna emin oluyorum.
3.Adım
Networking> Load Balancing> Load Balancers
Add Load Balancer yeni bir isim veriyorum Attachment kısmında başta oluşturduğum ONE-ARM-LB adındaki Tier-1 imi seçiyorum.
4.Adım
Networking>Load Balancing>Virtual Servers
Add L7 HTTP seçiyorum.
Virtual servers kısmında VIB ip adresi 10.10.10.50, Web portu 80, Load Balancer kısmında bir önceki adımda oluşturduğum LB-1 ve Server Pool olarak LB-SERVER-POOL tanımlarını birleştiriyorum.
Roudrobin olarak tanımladığım Load balance yöntemini test ediyorum.