F5, Citrix, Kemp veya HAProxy'den geliyorum; virtual server, pool, node, monitor, iRule gibi kavramların TR7'deki karşılıkları nelerdir?
Kısa cevap
Temel yapı taşları aynıdır, adları farklıdır: virtual server → vService, pool → Backend Group ya da vService'in Default Backend Services listesi, pool member → Backend Service, monitor → Health Checks profili, iRule / LTM policy → Condition + Action, SNAT → Kurum Servisindeki SNAT alanı. TR7'de betik dili yoktur; kurallar arayüzden kod yazmadan tanımlanır. Arayüzde karşılığı olmayan ileri ihtiyaçlar için Manual Condition ve Manual Action bulunur.
Kavram Eşlemesi
Tablodaki üretici terimleri, üreticilerin kendi dokümanlarındaki adlarıyla yazılmıştır (F5 BIG-IP LTM, NetScaler, Progress Kemp LoadMaster, HAProxy).
| Kavram | F5 BIG-IP | NetScaler (Citrix ADC) | Kemp LoadMaster | HAProxy | TR7 |
|---|---|---|---|---|---|
| Trafiği karşılayan dinleyici | Virtual Server | Load balancing virtual server (LB vServer) | Virtual Service | frontend | vService |
| Sunucu havuzu | Pool | Service Group ya da LB vServer'a bağlanan service'ler | Virtual Service'e atanan Real Server'lar | backend | Backend Group ya da vService'in Default Backend Services listesi |
| Havuzdaki tek sunucu | Pool Member (Node + port) | Service / Service Group üyesi | Real Server | server | Kurum Servisi (adres:port) ya da Backend Group'taki bir sunucu satırı |
| Yalnızca IP adresiyle tanımlanan sunucu nesnesi | Node | Server | - | - | Karşılığı yok; Kurum Servisi doğrudan adres:port'tur |
| Health check | Monitor | Monitor | Real Server Check | check / option httpchk | Health Checks profili |
| İçeriğe göre yönlendirme | Local Traffic Policy (LTM Policy) | Content Switching virtual server + CS policy | SubVS / Content Rules | acl + use_backend | Conditional Backend Services (Content Switching) |
| Trafik kuralı | iRule (Tcl) / LTM Policy | Responder / Rewrite policy | Content Rules: Add / Delete / Replace Header | acl + http-request | Condition + Action |
| Persistence | Persistence profile | LB vServer üzerindeki persistence türü | Persistence Options | cookie / stick-table | vService'teki Persistence alanı |
| Sunucuya giden bağlantının kaynak adresi (SNAT) | SNAT / SNAT Automap | SNIP (USNIP mode) | Non-transparent mode | Varsayılan olarak kendi adresi; source ile belirlenir | Kurum Servisindeki SNAT alanı (Default, Use Device IP) |
| İstemci IP'sini sunucuya koruyarak iletmek | SNAT kullanılmaması (sunucunun ağ geçidi BIG-IP) | USIP mode | Transparency | source 0.0.0.0 usesrc clientip | SNAT → Use Client IP |
| İzole yönlendirme alanı | Route Domain | Traffic Domain | - | - | Route Table |
Dikkat Edilmesi Gereken Farklar
- Ayrı "node" nesnesi yoktur. F5'teki Node ve NetScaler'daki Server nesnesinin (yalnızca IP adresiyle tanımlanan sunucu kaydı) TR7'de karşılığı yoktur; Kurum Servisi doğrudan adres:port tanımıdır. Aynı Kurum Servisi birden fazla vService'te kullanılabilir.
- Pool iki biçimde kurulur. vService'in Default Backend Services listesine tek tek Kurum Servisleri eklenebilir; aynı hizmeti veren sunucular ortak ayarlarla yönetilecekse Backend Group kullanılır. Backend Group'ta Health Check, SSL Service, SNAT ve Maintenance Mode grup düzeyinde; adres, Weight, Connection Limit ve Cookie Content sunucu düzeyindedir.
- Persistence ayrı bir profil değildir. vService formundaki Persistence alanından seçilir: New Cookie, Current Cookie, Hash ya da Session Affinity Manager (SAM). Network vService'te L4 Persistence ve SIP Persistence kullanılır.
- SNAT seçenekleri: Default, Kurum Servisinin route table'ında sunucuya giden arayüzün, sunucuyla (gateway üzerinden gidiliyorsa gateway'le) aynı subnet'teki Interface IP'sini kaynak adres yapar (F5'teki SNAT Automap'e en yakın seçenek); Use Device IP belirli bir cihaz IP'sini kaynak yapar; Use Client IP istemcinin IP'sini korur ve sunucunun yanıtının TR7 üzerinden dönmesini gerektirir (NetScaler'daki USIP mode, Kemp'teki Transparency).
- İçeriğe göre yönlendirme tek ekrandadır. NetScaler'da Content Switching için ayrı bir CS virtual server ve hedef LB vServer'lar gerekir; TR7'de koşullu hedefler aynı vService'in Conditional Backend Services bölümünde tanımlanır.
iRule Yerine Ne Kullanılır?
| İhtiyaç | TR7 |
|---|---|
| Çoğu kural (yönlendirme, header düzenleme, engelleme, istek hacmi limiti, hata sayfası…) | Condition ("ne zaman") + Action ("ne yap"); arayüzden, kod yazmadan. İstek hacmi ve bot koruması için L7 DDoS Protection |
| Arayüzde karşılığı olmayan ileri bir ihtiyaç | Manual Condition: tek satırlık ham koşul ifadesi · Manual Action: vService yapılandırmasının seçilen bölümüne yazılan ham satırlar |
Manual condition ve Manual action ileri kullanım içindir
Girilen satırlar sözdizimi denetimi yapılmadan vService yapılandırmasına aynen yazılır; hatalı bir ifade vService'in çalışmasını durdurabilir. Manual action'a condition bağlanamaz; gerekiyorsa koşul satırın içine yazılır. Her ikisi de yalnızca HTTP ve L7 TCP vService'lerde kullanılır.
Sık Karıştırılan Noktalar
- "TR7'de iRule gibi betik yazılır." Betik dili yoktur; kurallar Condition + Action ile kurulur.
- "Pool için mutlaka Backend Group gerekir." vService'in Default Backend Services listesine birden fazla Kurum Servisi doğrudan eklenebilir.
- "Persistence profili ayrı bir nesnedir." vService formundaki bir alandır.
- "NetScaler'daki USIP ile TR7'deki SNAT Default aynıdır." USIP istemci IP'sini korur; TR7'deki karşılığı Use Client IP'dir. SNAT Default ise TR7'nin kendi IP'sini kullanır (NetScaler'da SNIP / USNIP).
Dokümantasyonda nasıl yapılır
