← Listeye dön

Yük Dengeleme (Load Balance) Rehberi: F5 Olarak da Anılır, Gerçek Vaka Örnekleriyle

itadol5j

Sistem operasyonu ve güvenlik alanında çalışanlar neredeyse istisnasız bir kavramla karşılaşır — yük dengeleme. Yük dengeleme denince birçok kişinin aklına ilk gelen cihaz «F5» olur. İlginç olan şu: F5 aslında bir şirket adı (F5 Networks), ama ürünleri o kadar ünlü oldu ki zamanla yük dengeleyicilerin sinonimi haline geldi; tıpkı «Baidu'la» deyişinin aramanın yerine geçmesi gibi.

Yük dengeleme F5

Bu yazıda konuyu iyice açıyoruz: F5 tam olarak nedir, katman 4 ile katman 7 nerede ayrılır, gerçek senaryolarda nasıl yapılandırılır.

1. Yük dengeleme tam olarak neyi çözüyor

Yük dengeleme (Load Balance), özünde iş görevlerini birden fazla çalışma birimine dağıtarak yürütmektir — örneğin web sunucuları, FTP sunucuları, kurumsal kritik uygulama sunucuları; işi birlikte tamamlarlar.

Teknik açıdan bakıldığında dışarıya tek birsanal sunucu adresi sunar. Kullanıcı bağlandığında çift yönlü ağ adresi çevirisi (NAT) ile bağlantıyı en uygun gerçek sunucuya yönlendirir. Kullanıcı her zaman aynı giriş noktasını görür; arkada ise işi omuzlayan bir makine grubu vardır.

Çözmeye çalıştığı üç şey var:çökmekten korkmak(tek nokta hatası),dayanamamaktan korkmak(performans darboğazı),büyüyememekten korkmak(yatay ölçeklenememe).

2. Katman 4 ve Katman 7: En çok karıştırılan nokta

Farkın özü tek cümle:uygulama katmanı protokolünün çözümlenip çözümlenmeyeceği. Bu fark yetenek sınırlarını ve performansı doğrudan belirler.

Katman 4 yük dengeleme (taşıma katmanı)

  • Çalışma katmanı: OSI 4. katman, TCP/UDP protokolleri
  • Yönlendirme ölçütü: Kaynak IP, hedef IP, port numarası — uygulama verisine dokunmaz
  • Temel yetenekler: Port yönlendirme, TCP bağlantı yeniden kullanımı, katman 4 sağlık kontrolü (TCP el sıkışması), temel DDoS koruması
  • Performans: Yönlendirme verimliliği çok yüksek, donanım sınırına yakın, mikrosaniye düzeyinde gecikme
  • Tipik senaryolar: Veritabanları (MySQL/Redis), TCP hizmetleri (oyun sunucuları, Netty servisleri), veri merkezleri arası bağlantı yükü
  • Örnek ürünler: LVS, F5 (katman 4 modu), HAProxy (katman 4 modu), Nginx (stream modülü)

Katman 7 yük dengeleme (uygulama katmanı)

  • Çalışma katmanı: OSI 7. katman, HTTP/HTTPS, DNS, FTP gibi uygulama protokolleri
  • Yönlendirme ölçütü: URL, Cookie, HTTP başlıkları, istek parametreleri, JSON içeriği
  • Temel yetenekler: İçerik tabanlı yönlendirme, SSL offload, önbellekleme, hız sınırlama ve devre kesme, WAF entegrasyonu, oturum yapışkanlığı, kademeli (canary) yayınlama
  • Performans: Özellik açısından zengin ama uygulama protokolünü çözümlemesi gerekir; gecikme biraz daha yüksek (milisaniye düzeyi), küme genişletmeyle telafi edilir
  • Tipik senaryolar: Web uygulamaları, mikroservis API'leri, HTTPS hizmetleri, kademeli yayınlama, API ağ geçitleri
  • Örnek ürünler: Nginx, HAProxy (katman 7 modu), F5 (katman 7 modülü), Kong, Spring Cloud Gateway

Tek cümlelik hatırlatma: Katman 4 «tabelaya» (IP ve porta) bakıp yönlendirir; katman 7 «paketin içini açar» (içeriğe bakar), sonra nereye gideceğine karar verir. Performans istersen katman 4, zengin özellik istersen katman 7.

3. F5 BIG-IP tam olarak nerede güçlü

F5'in ana ürünü BIG-IP LTM'nin resmî adıYerel Trafik Yöneticisi (Local Traffic Manager) ve 4-7 katman yük dengeleme yapabilir. Sadece bir yönlendirici değil; özellik listesi epey uzun: uygulama anahtarlama, oturum anahtarlama, durum izleme, akıllı NAT, genel kalıcılık, yanıt hata işleme, IPv6 ağ geçidi, gelişmiş yönlendirme, SSL hızlandırma, akıllı HTTP sıkıştırma, TCP optimizasyonu, içerik tamponlama, Cookie şifreleme, uygulama saldırı filtresi, DoS ve SYN Flood koruması, güvenlik duvarı paket filtreleme...

En kullanışlı birkaçını seçelim:

1. Çok bağlantılı yük dengeleme ve yedeklilik

Kritik iş yükleri genellikle kaliteyi güvence altına almak ve tek nokta hatasını ortadan kaldırmak için birden fazla ISP hattına bağlanır. Burada iki yön var:

  • OUTBOUND trafik(iç ağdan dış ağa erişim): BIG-IP LC trafiği farklı Internet arayüzlerine akıllıca dağıtır ve kaynak adres NAT'ı uygular
  • INBOUND trafik(dış ağdan iç ağa erişim): İki ISP'nin genel adreslerini bağlar, iki ISP'nin DNS isteklerini çözümleyerek sunucu sağlığına ve RTT süresine göre akıllıca yanıt verir

2. Sunucu yük dengeleme

VIP (sanal IP; bir IP adresi ve TCP/UDP portundan oluşur) üzerinden dış dünyaya hizmet verir ve hedef sunuculara sürekli L4'ten L7'ye sağlık kontrolleri uygular. Arızalı sunucu tespit edildiğinde yük dengeleme grubundan çıkarılır. Ayrıca iRules ile TCP/UDP paketlerini açıp içerik özelliklerine göre kural işletebilir — örneğin URL'ye göre trafiği farklı sunuculara yönlendirmek gibi.

3. Sistem yüksek erişilebilirliği

F5'in en çok övündüğü nokta burası. Çift cihazlı yedeklilik modundamilisaniye düzeyinde geçiş (en hızlı 200 ms içinde) yapar ve %99,999 erişilebilirlik iddiasındadır. İlke şu: Tüm oturumlar Active cihazdan geçerken senkron veri hattı üzerinden oturum bilgisi Backup cihaza senkronize edilir — böylece geçiş sırasında kullanıcı erişimi kesilmez. Cihazdaki watchdog çipi heartbeat hattıyla karşı tarafı izler; Active düştüğünde Backup'a Shared IP ve VIP'i devralması derhal bildirilir.

4. Güvenlik

BIG-IP güvenlik duvarı tasarım ilkesini izler,varsayılan olarak reddeder. Boştaki bağlantıları kopararak DoS'u önler, kaynak rota izleme ile IP sahteciliğine karşı koyar, ACK gönderilmeyen SYN'leri reddederek SYN saldırılarını engeller. Dynamic Reaping özelliği DoS saldırısındaki boşta bağlantıları verimli biçimde siler vesaldırı büyüdükçe bağlantı koparma hızını artırır — bu epey acımasız bir detay. Delay Binding teknolojisi ise arka uç sunuculara kapsamlı SYN Flood koruması sağlar.

5. SSL hızlandırma

Her BIG-IP'te SSL donanım hızlandırma çipi var; ayrıca 100 TPS'lik lisans dahil gelir, ayrıca ödeme gerekmez. Sonra kapasite artırmak isterseniz lisansı yükseltmeniz yeterli.

F5 BIG-IP yük dengeleyici

4. F5 mi Nginx mi? Seçim karşılaştırması

Gerçek hayatta en sık sorulan soru bu. İkisi rakip değil, daha çok birbirini tamamlıyor.

F5 BIG-IP (donanım)

  • Dağıtım biçimi: Özel donanım cihaz (özel çip içerir)
  • Performans: Milyon düzeyinde TCP bağlantısı, mikrosaniye düzeyinde yönlendirme gecikmesi
  • Özellikler: Çok yönlü — katman 4+7, SSL offload, DDoS koruması, WAF, VPN, bağlantı yükü
  • Güvenilirlik: Donanım yedekliliği (çift cihaz aktif-beklemede), %99,999 erişilebilirlik
  • Maliyet: Yüksek (on binlerce ila milyonlarca), uzman mühendis bakımı gerekir
  • Ölçeklenebilirlik: Donanım yükseltmesine bağlı, esneklik düşük
  • Operasyon: Karmaşık; özel yapılandırma arayüzünü ve CLI'ı bilmek gerekir

Nginx (yazılım)

  • Dağıtım biçimi: Yazılım; genel amaçlı sunucularda veya bulut makinelerinde çalışır
  • Performans: Yüz binler düzeyinde TCP bağlantısı, milisaniye düzeyinde gecikme, kümeyle ölçeklenebilir
  • Özellikler: Hafif ve verimli — katman 7 merkezli; katman 4, SSL offload, önbellekleme, hız sınırlama, ters proxy desteği
  • Güvenilirlik: Çift cihaz aktif-beklemede (Keepalived) elle yapılandırılmalı; sunucu donanımının kararlılığına bağlı
  • Maliyet: Açık kaynak ve ücretsiz; Nginx Plus ücretli ama görece düşük
  • Ölçeklenebilirlik: Küme dağıtımını destekler; bulut ortamında esnek ölçeklenir
  • Operasyon: Basit; yapılandırma dosyaları okunabilir, backend mühendisleri hızlıca adapte olur

Seçim kavşağı, buna göre ilerleyin:

  • Yüksek eşzamanlı TCP hizmetleri (oyun, menkul kıymet) + en yüksek erişilebilirlik → F5 katman 4
  • Kritik iş girişi + güvenlik ihtiyacı (WAF/DDoS) → F5 katman 7
  • Mikroservis API ağ geçidi + bulut ortamı dağıtımı → Nginx katman 7
  • Veritabanı/Redis yükü + yüksek maliyet verimi → Nginx katman 4
  • Küçük ve orta ölçekli işler + hızlı yineleme → Nginx (katman 4/7)
  • Kurumsal veri merkezi + çoklu bağlantı → F5 giriş noktası, Nginx dahili hizmet yükü

Son kombinasyon büyük şirketlerde çok yaygın — F5 dış kapıyı bekler, Nginx iç düzeni yönetir.

5. Gerçek vaka: F5 yapılandırması ne kadar dolambaçlı

Birçok kişinin F5'i ilk aldığındaki tepkisi:bu, switch mantığından tamamen farklı, hiçbir yerden başlanamıyor. Yapılandırma mantığı bambaşka bir sistem.

Senaryo: İki web sunucusu dış dünyaya hizmet veriyor; IP'leri 192.168.192.10-20/24. Dış adres 192.168.27.100 üzerinden 80 portu ile yük dengeleme yapılması isteniyor.

En basit yük dengeleme yalnızca üç parametre gerektirir; ilişkileri katman katman bağlıdır:

  • Node (düğüm): En temel tanım; her sunucu bir Node'dur
  • Pool (kaynak havuzu): Trafiği alan ve işleyen Node grubu; örneğin web sunucu kümesi
  • Virtual Server (sanal sunucu): Dışarıya açık giriş noktası; Pool'a bağlıdır

Veri akışı: İstemci isteği → Virtual Server → Pool → Node.

Uygulama adımları (BIG-IP yönetim arayüzü):

  • Birinci adım: Cihazı etkinleştirme. F5'i alınca önce etkinleştirin; sihirbaz çok basit ama şunu unutmayın:internet bağlantısı şart, ideali rafa kurmadan önce bitirmek — bu, tuzak yaşayanların tecrübesidir
  • İkinci adım: Giriş. Tarayıcıdan https://yönetimIP adresini açın; varsayılan kullanıcı adı ve şifre admin
  • Üçüncü adım: VLAN oluşturma. Network → VLANs bölümünden VLAN oluşturup arayüzleri ekleyin (Untagged seçin)
  • Dördüncü adım: IP yapılandırma. Networks → Self IPs bölümünden her VLAN'a adres tanımlayın
  • Beşinci adım: Yönlendirme yapılandırma. Networks → Routes bölümünden varsayılan ağ geçidi veya statik rota ayarlayın
  • Altıncı adım: Pool yapılandırma. Local Traffic → Virtual Servers → Pools bölümünden ad, sağlık kontrolü (ör. TCP), yük dengeleme algoritması (ör. observed-member gözlem yöntemi), gerçek sunucu IP ve portlarını ayarlayın
  • Yedinci adım: Virtual Server yapılandırma. Local Traffic → Virtual Servers bölümünden yukarıdaki Pool'u ilişkilendirin, dağıtım yöntemini seçin (RoundRobin yaygın)
  • Sekizinci adım: Monitor yapılandırma. Local Traffic → Monitors bölümünden sunucu sağlığını kontrol edip Pool'u ilişkilendirin
  • Dokuzuncu adım: Redundant yapılandırma, çift cihazlı yedeklilik kurmak

6. Virtual Server'ın birkaç kritik parametresi

F5'in çekirdeği Virtual Server'dır; birkaç parametreye dikkat edilmezse sorun çıkar.

VS Type (tür), yaygın üç tür var:

  • Performance L4: Saf katman 4 yönlendirme; TMM yalnızca bağlantı dağıtımından sorumludur, TCP parametrelerini değiştirmez, istemci-sunucu bağlantısı 1:1'dir. Yönlendirme hızı yüksektir, kurumsal ortamda yaygındır. Uygulama üzerindeki etkiyi azaltmak içinseçebiliyorsanız bunu öncelikli tercih edin
  • Standard VS: İstemci ve sunucu TCP bağlantıları tamamen bağımsızdır. Katman 7 özellikleri gerektiğinde kullanılır (Cookie oturum yapışkanlığı, Session ID sürdürme, Header sürdürme, işlem tabanlı uzun bağlantı bölme, SYN saldırısı koruması). Bir özelliğe dikkat:portu her zaman dışarıya açıktır — arka uç Node'ların tamamı down olsa bile VIP'in 80 portu telnet'e cevap verir, sadece sayfa açılmaz. Sorun gidermede bunu kullanırken aklınızda tutun
  • Forwarding IP: İç-dış ağ bağlantıları için kullanılır; Pool Member yoktur, yönlendirme yerel rotaya bağlıdır. Varsayılan olarak F5'in yönlendirme yeteneği yoktur; yönlendirmeyi etkinleştirmek için tümü 0 olan bir VS oluşturmak gerekir

Timeout hizalanmalı(burada gerçekten tuzak var). VS üzerinde TCP Profile yapılandırıldıysa UDP bağlantıları kabul edilmez. Daha önemlisi tcp içindeki Idle Timeout değerine dikkat edin —sunucuyla uyumlu olmalı. F5'te 150 saniye, IIS sunucusunda 300 saniye ayarlıysa büyük miktarda hata oluşur. İki tarafın süreleri birbiriyle uyumlu olmalı.

Address/Port Translation: Varsayılan olarak ikisi de enabled. VS IP ile gerçek makine IP'si farklıysa Address Translation açılmalı; VS'nin 8080 portu gerçek adresin 80 portuna karşılık geliyorsa Port Translation açılmalı.

SNAT AutoMap: İstek hangi VLAN'dan çıkıyorsa SNAT kaynak adresi o VLAN'daki Self IP olur. Bir VLAN'da birden fazla Self IP varsa sırayla kullanılır.

7. Neden «oturum yapışkanlığını» bilmek şart

Yük dengelemede en kolay gözden kaçan ve en çok soruna yol açan kavram bu.

E-ticaret, çevrimiçi kimlik doğrulama gibi sistemlerde bir müşteri bir işlemi tamamlamak için birçok etkileşimden geçer. Bu etkileşimlerbirbiriyle sıkı bağlıdır — sunucu ikinci adımı işlerken çoğu zaman ilk adımın sonucunu bilmek zorundadır. Bu da tüm bu etkileşimlerinaynı sunucu tarafından yürütülmesini gerektirir, yük dengeleyici tarafından farklı makinelere dağıtılamaz.

Oturum yapışkanlığının (Persistence) varoluş nedeni budur. F5 bunu Connectivity ile sağlar; seçilebilir modlar şunlardır:

  • Kaynak adres yapışkanlığı: İstemci kaynak IP'sine göre bağlama
  • Cookie yapışkanlığı: F5 oturum Cookie'sini otomatik ekler; katman 7'de en yaygın
  • SSL Session ID yapışkanlığı: SSL oturumunu yeniden kullanma
  • Oturum yapışkanlık tablosu: Çeşitli zaman aşımı ve eşleşme kurallarını destekler

Yanlış yapılandırılırsa ne olur? Kullanıcı sepete ürün ekler, sayfayı yeniler ve ürünler kaybolur — çünkü istek başka bir sunucuya dağıtılmıştır. Bu tür canlı ortam arızalarını ayıklamak çok zahmetlidir.

8. Gerçek hayattan kaçınılmaz birkaç ayrıntı

Son olarak başkalarının düştüğü birkaç tuzağı seçip doğrudan sonuçları verelim:

  • Sağlık kontrolünde katmanı doğru seçin: Yalnızca TCP el sıkışmasına bakarsanız sunucu portu canlı ama uygulama çökmüş olsa da trafik yönlendirilir; uygulama katmanını kontrol etmek için HTTP tipi Monitor ile /actuator/health gibi uç noktaları yoklayın
  • Güvenlik duvarında «sandviç» kurun: Tek bir güvenlik duvarı genellikle hat hızının yalnızca %30'u kadar verim verir; artırmak için birden fazla cihaz eklemek gerekir. Ama güvenlik duvarı verinin aynı cihazdan girip çıkmasını ister, aksi halde bağlantı reddedilir — F5'in güvenlik duvarı yük dengeleme çözümü bu sorunu çözer ve şeffaf cihazlarda süreklilik sağlar
  • SSL offload, CPU tasarrufunun en büyük kalemi: HTTPS el sıkışması ve şifreleme/çözme işini F5'e bırakın; arka uçtaki Java uygulaması yalnızca HTTP işlesin, performans artışı belirgindir
  • Üretime bağlamadan önce yük testi yapın: Katman 4 hızlıdır ama katman 4 VS üzerinde oturum yapışkanlığını açarsanız durum eklemiş olursunuz; performans beklentisini yeniden hesaplamanız gerekir
  • İzleme ölçütünde üçüne bakın: Havuz durumu, sanal sunucu verim hacmi, düğüm sağlık durumu
  • Sorun giderme komutları: tmsh show ltm pool <pool-name> havuz durumunu, tmsh show ltm virtual <vs-name> sanal sunucu durumunu gösterir
Katman 4 ve katman 7 yük dengeleme

Son söz

Yük dengeleyici bir «yönlendirme cihazı» gibi görünür ama aslında tüm mimarinin en kritik noktasında durur — bütün trafik onun elinden geçer. İyi yapılandırılırsa kullanıcı varlığını hissetmez; kötü yapılandırılırsa gece yarısı telefonu sizi bulur.

Bugün bulut yerlisi dalgasında LVS, Nginx, HAProxy gibi yazılım çözümleri küçük ve orta ölçekli senaryolarda fazlasıyla yeterli; maliyet avantajı açık. Ama finans, menkul kıymetler ve büyük ölçekli e-ticaretin kritik girişleri söz konusu olduğunda donanım yük dengelemenin kararlılık, milisaniye düzeyi geçiş ve uçtan uca güvenlik yeteneklerindeki değeri kısa vadede ikame edilemiyor.

«F5» adına gelince, bir şirketten bir kategoriye dönüşme süreci kendi başına çok şey anlatıyor — bir ürün fiil gibi kullanılmaya başlandığında o pazarı çoktan kazanmıştır.

Katman 4 tabelaya bakar, katman 7 paketin içini açar; performans için katman 4, zengin özellik için katman 7.

Kaynaklar: F5 BIG-IP LTM resmî dokümantasyonu, Ağ Operasyonu ve Yönetimi F5 yük dengeleme vakaları, katman 4/7 yük dengeleme teknik karşılaştırması