Backend Services
Backend Services Nedir?
Backend Services, TR7 üzerinden yönlendirilen trafiğin ulaştığı hedef sunucuları, yani Kurum Servislerini tanımlayan ekrandır. Web sunucuları, uygulama sunucuları, veritabanı sunucuları veya e-posta sunucuları gibi kurumsal altyapıdaki herhangi bir servis, Kurum Servisi olarak tanımlanabilir.
TR7 mimarisinde Kurum Servisleri, vService'lerin trafiği ilettiği uç noktalardır. Her Kurum Servisi bir IP adresi ya da alan adı ve port bilgisi ile tanımlanır. Kurum Servisleri yalnızca iç ağda (internete hizmet vermeyen) veya dışarıya açık (internete hizmet veren) servisler olabilir.
Kurum Servisleri ile yapılabilenler
- Kurumsal servisleri merkezi olarak yönetmek.
- Sağlık denetimleri ile servis durumunu izlemek.
- Trafik dağıtımını ağırlık ve limit değerleri ile kontrol etmek.
- SSL/TLS şifreli bağlantıları Kurum Servisine güvenli şekilde iletmek.
- Bakım modları ile servisleri geçici olarak devre dışı bırakmak.
Kurum Servislerinin Önemi
Modern load balancer mimarilerinde kurum servisleri, trafiğin nihai varış noktalarıdır ve başarılı operasyonların temel taşlarını oluşturur. Doğru yapılandırılmış kurum servisleri; yüksek erişilebilirlik, performans optimizasyonu ve hata toleransı için kritik öneme sahiptir.
Sağlık Denetimi ve Hata Toleransı
Kurum servislerinin sağlık durumu sürekli izlenir. Sağlık denetimi profili atandığında TR7, belirlenen aralıklarla kurum servisine kontrol istekleri gönderir. Yanıt vermeyen veya hatalı kurum servisleri otomatik olarak trafik dağılımından çıkarılır ve sağlıklı servisler üzerinden servis sürekliliği sağlanır. Başarısız kurum servisi sağlığa kavuştuğunda otomatik olarak trafiğe geri alınır.
Granüler Trafik Kontrolü
Ağırlık (weight) ve bağlantı limiti (connection limit) parametreleri ile trafik dağılımı hassas şekilde kontrol edilir. Bu, özellikle farklı kapasitelerdeki sunucuların aynı vService altında kullanıldığı senaryolarda kritiktir:
- 32 GB RAM'li bir sunucuya ağırlık 4 atanırken, 16 GB RAM'li sunucuya ağırlık 2 atanabilir.
- Yeni eklenen sunucuya düşük bağlantı limiti verilerek kademeli ısınma (warm-up) sağlanabilir.
- Eski donanıma sahip sunucular düşük ağırlıkla kullanılabilir.
Yapılandırma ve Yönetim Kolaylığı
Her kurum servisi bağımsız olarak yapılandırılabilir. SSL/TLS ayarları, SNAT yapılandırması, proxy protokol desteği ve bakım modu gibi özellikler her kurum servisi için ayrı ayrı tanımlanabilir.
Doğru yapılandırılmış kurum servisleri ile:
- Sunucu arızaları otomatik olarak tespit edilir ve trafik yönlendirilir.
- Kapasite farklılıkları ağırlık değerleri ile dengelenir.
- Bakım işlemleri trafik kesintisi olmadan gerçekleştirilebilir.
- SSL/TLS bağlantıları güvenli şekilde kurum servisine taşınabilir.
- Farklı yapılandırma gereksinimleri kolaylıkla karşılanır.
Etkiler ve Davranış
Kurum servisleri üzerinde yapılan yapılandırmalar, trafiğin nasıl dağıtıldığını ve servisin davranışını doğrudan etkiler.
INFO
Sağlık Denetimi (Health Check)
Sağlık denetimi profili atandığında, TR7 belirlenen aralıklarla kurum servisine kontrol istekleri gönderir. Her kontrol sonucu bağımsız değerlendirilir:
- Kontrol başarılı olduğunda kurum servisi sağlıklı işaretlenir ve trafik almaya devam eder.
- Kontrol başarısız olduğunda başarısızlık sayacı artar.
- Ardışık başarısızlık sayısı, profildeki Required Failures eşiğine ulaştığında kurum servisi otomatik trafik dışı bırakılır.
- Trafik dışı servis kontrol edilmeye devam eder; ardışık başarılı sayısı profildeki Required Successes eşiğine ulaştığında tekrar trafiğe dahil edilir.
Eşikler, kontrol aralığı ve zaman aşımı, seçilen Health Checks profilinden gelir.
INFO
Yedek Servis (Backup Service)
Yedek servis olarak işaretlenen kurum servisi, yalnızca aynı vService'e bağlı diğer tüm ana (non-backup) servisler kullanılamaz durumda olduğunda devreye girer. Normal koşullarda yedek servislere trafik yönlendirilmez. Birden fazla yedek servis tanımlıysa aynı anda yalnızca kullanılabilir durumdaki ilk yedek servis trafik alır. Ana servisler tekrar sağlıklı hale geldiğinde trafik otomatik olarak ana servislere döner. Bu davranış, failover senaryolarında kritik öneme sahiptir.
INFO
SSL Servisi (SSL Service)
SSL servisi aktif edildiğinde TR7, kurum servisine SSL/TLS üzerinden bağlantı kurar; böylece TR7 ile kurum servisi arasındaki trafik şifrelenir (backend encryption / re-encryption). Cipher suite, SNI ve ALPN ayarları servise uygulanır. Varsayılan olarak sunucu sertifikası doğrulanmaz (Certificate Verification: None); self-signed veya internal CA imzalı sertifikalar sorunsuz çalışır. Doğrulama gerekiyorsa Required seçeneği ile CA profili üzerinden zorunlu kılınabilir.
INFO
Bakım Modu (Maintenance Mode)
Bakım modu aktif edildiğinde kurum servisine hiçbir trafik yönlendirilmez. Sağlık denetimi durumundan bağımsız olarak servis trafik dışı bırakılır. Değişiklik uygulanırken mevcut aktif bağlantılar kesilmez; tamamlanmaya bırakılır ve servise yeni bağlantı gönderilmez. Bakım modu kapatıldığında sağlık denetimi yeniden başlar ve başarılı olursa trafik yönlendirilmeye başlar.
INFO
Ağırlık Değeri (Weight)
Ağırlık değeri, weighted round-robin ve benzeri dağıtım algoritmalarında servisin ne kadar trafik alacağını belirler. Yüksek ağırlıklı servisler, düşük ağırlıklılara göre orantılı olarak daha fazla trafik alır. Örneğin aynı vService'e bağlı üç servisin ağırlıkları 1, 2 ve 3 olduğunda toplam trafiğin sırasıyla %16.7, %33.3 ve %50'si bu servislere yönlendirilir.
Operasyonel En İyi Uygulamalar
- Sağlık denetimi profillerini etkin kullanın. Sağlık denetimi olmayan servisler kesintilerde tespit edilemez ve trafik almaya devam eder. Aynı türdeki servisler için ortak bir profil oluşturup paylaşımlı kullanın; farklı parametre gerektirenler için ayrı profil tanımlayın.
- Anlamlı isimler kullanın.
web-server-01,api-backend-prod,www.example.comgibi açıklayıcı isimler yönetimi kolaylaştırır ve hata ayıklamayı hızlandırır. - Ağırlık değerlerini kapasite ile orantılı belirleyin. Farklı kapasitelerdeki sunucular aynı Kurum Servisi listesindeyse ağırlığı kapasiteyle orantılı ayarlayın; güçlü sunucular daha yüksek ağırlık almalıdır.
- Bağlantı limitlerini dikkatli ayarlayın. Servisin kapasitesini aşan bağlantı sayılarından kaçının; limit, sunucunun kaldırabileceği maksimum eşzamanlı bağlantıya göre belirlenmelidir.
- Yedek servis stratejisi oluşturun. Kritik uygulamalar için yedek servis (backup) yapılandırması düşünün; ana servisler kullanılamaz olduğunda yedekler devreye girer.
- SSL kurum servisleri için cipher seçimini değerlendirin. Eski sunucularla uyumluluk gerekiyorsa "Low" cipher seçeneğini kullanın; modern altyapılar için "Standard" cipher yeterlidir.
Nasıl Eklenir?
Yeni bir Kurum Servisi, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlarla eklenir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Backend Services → Add adımları takip edilir.
- Kurum Servisi için benzersiz ve açıklayıcı bir isim girilir.
- Kurum Servisinin IP adresi ve port bilgisi girilir; ihtiyaç duyulan diğer ayarlar yapılandırılır.
Addbutonuna tıklanarak Kurum Servisi eklenir.
TIP
Hızlı arama ile sayfaya ulaşma
Menüde adım adım gezmek yerine, ekranın sol alt köşesindeki arama çubuğu kullanılarak ilgili sayfaya doğrudan ulaşılır. Arama çubuğu Windows'ta Alt + T, macOS'ta Opt + T kısayolu ile açılır; ardından aranan özelliğin adının yazılması yeterlidir.
Oluşturulan Kurum Servisi, vService'lerin Default Backend Services veya Conditional Backend Services listesine eklenerek kullanılır (Kullanım Yeri).
Backend Services Listeleme Ekranı
Load Balancer → Backend Services yolu izlenerek TR7 cihazı üzerinde tanımlı tüm Kurum Servislerinin listesine ulaşılır. Bu ekran üzerinden Kurum Servisi ekleme, düzenleme ve silme işlemleri yapılır.
Backend Services Listeleme Formu
Tablo varsayılan olarak şu kolonlarla açılır:
| Kolon | Açıklama |
|---|---|
| Health | Kurum Servisinin sağlık denetimi durumu renkli bir daireyle gösterilir (Health Durumu Göstergesi maddesinde yer alır). |
| Backend Service Name | Kurum Servisinin adı; yanında, ilgili ayar açıksa sırasıyla SSL (kilit), bakım modu (ambulans) ve yedek servis ikonları bulunur. İkonların üzerine gelindiğinde SSL Service, Maintenance Mode ve Backup Service ipuçları görüntülenir. |
| Route Table | Kurum Servisinin bağlı olduğu route tablosu. |
| Weight | Ağırlık değeri; tanımlı değilse -. |
| Cookie Content | Çerez değeri; tanımlı değilse -. |
| Address | Kurum Servisinin adresi, IP : port biçiminde. |
| Health Check Type | Atanan sağlık denetimi profili profil adı (Tür) biçiminde; profil atanmamışsa No Check. Profil adının yanındaki bilgi ikonuyla profilin özeti açılır, kalem ikonuyla profil bir düzenleme penceresinde açılır. |
| vDevice | Kurum Servisinin tanımlı olduğu vDevice. Sanal makine kurulumlarında bu kolon bulunmaz. |
Varsayılan olarak gizlenen kolon bulunmaz. Kolon başlığına tıklandığında önce azalan, sonra artan sıralama uygulanır; üçüncü tıklamada sıralama kalkar.
Araç çubuğundaki öğeler soldan sağa aşağıdaki sırayla yer alır; 11 numaralı öğe tablo hücresindeki göstergedir, son iki öğe (Page Information ve Page Size) tablonun altındaki bilgi şeridinde bulunur.
Columns
Tabloda hangi kolonların gösterileceği seçilir; bütün kolonlar varsayılan olarak açıktır. Aynı panelde kolonlar sürüklenerek yeniden sıralanır ve kolon başına hizalama (Align Left, Center, Align Right) seçilir; Fit rows to the page butonuyla satır yüksekliği sayfaya sığdırılır, Reset butonuyla kolon düzeni varsayılana alınır. Düzen kullanıcı bazında saklanır ve Backend Groups listesiyle ortaktır.
Filter
Filter butonu, listede gösterilen Kurum Servislerini belirli kriterlere göre süzmek için kullanılır; buton etkin filtre sayısını rozetle gösterir. Filtre şeridi varsayılan olarak açıktır ve üç kart içerir:
| Kart | Değerler |
|---|---|
| Health | Kurum Servislerine atanmış sağlık denetimi profilleri (profil adı (Tür)). Sağlık denetimi atanmamış servisler bu kartın değerlerinde yer almaz. |
| Route Table | Kurum Servislerinin bağlı olduğu route tabloları. |
| Used in | Kurum Servislerini kullanan vService'ler ve hiçbir yerde kullanılmayan servisleri listeleyen Unused Entries değeri. |
Kart başlığında filtre adı ile değer sayısı yer alır; karta tıklandığında değerler satır sayılarıyla altında listelenir.
Export
Export butonuna tıklanarak tablo Excel, CSV veya PDF olarak dışa aktarılır. Açılan pencerede Filename, Format ve Data Source ile dışa aktarılacak Columns belirlenir; kalan alanlar biçime göre görüntülenir: CSV'de CSV Separator, Excel'de Excel Sheet Name, PDF'te Page Orientation ve Page Size.
Add
Add butonuna tıklanarak yeni bir Kurum Servisi oluşturma formu Add sekmesinde açılır.
Delete
Bir veya birden fazla Kurum Servisi seçilip Delete butonuna tıklandığında ilgili Kurum Servisleri silinir. Silmeden önce tek seçimde "Are you sure that you want to delete backend service object?", çoklu seçimde "Are you sure you want to delete N backend service objects?" onayı istenir. Buton seçim yokken pasiftir.
WARNING
Bir vService'te kullanılan Kurum Servisi de silinir; silme işlemi kullanım nedeniyle engellenmez. Silinen Kurum Servisi, bağlı olduğu vService'lerin Default Backend Services ve Conditional Backend Services listelerinden çıkarılır. Silmeden önce önizlemedeki Used in sekmesi kontrol edilmelidir. Silinen her Kurum Servisi için bir Log kaydı yazılır.
Edit
Edit butonuna tıklanarak seçili Kurum Servisinin düzenleme formu Edit sekmesinde açılır. Buton yalnızca tek bir Kurum Servisi seçildiğinde etkinleşir.
Search
Tablodaki tüm bilgilerde arama yapmak için kullanılır.
RegExp Search
Tabloda bulunan tüm bilgilerde düzenli ifade (RegExp) ile arama yapmak için kullanılır.
Column Based Search
Tabloda bulunan bilgilerde sütun bazlı arama yapmak için kullanılır.
Usage Filter
Kurum Servislerinin hangi vService'lere bağlı olduğunu filtrelemek için kullanılır. Buton açıldığında arama kutusu bir vService seçicisine dönüşür ve ilk seçenek kendiliğinden seçilir; seçicide en az bir Kurum Servisi kullanan vService'ler ile en altta Unused Entries yer alır. Bir vService seçildiğinde yalnızca o vService'te kullanılan Kurum Servisleri, Unused Entries seçildiğinde hiçbir yerde kullanılmayan Kurum Servisleri listelenir.
Health Durumu Göstergesi
Health kolonundaki gösterge, Kurum Servisinin sağlık denetimi durumunu renkle bildirir; göstergenin üzerine gelindiğinde durumun adı görüntülenir:
Health Check Status
| Gösterge | Durum | Açıklama |
|---|---|---|
| ● Yeşil | OK | Kurum Servisi sağlık denetimine göre ayakta. |
| ● Kırmızı | Error | Kurum Servisi sağlık denetimine göre devre dışı. |
| ● Turuncu | Preparing | Denetim sonucu henüz kesinleşmemiş. |
| ● Gri | HC Disabled / No Data | Sağlık denetimi sonucu yok ya da henüz veri gelmemiş. |
| ⏻ Siyah ikon | Off | Kurum Servisine sağlık denetimi atanmamış. |
Cluster kurulumlarında gösterge iki yarım daireden oluşur: biri bu cihazın, diğeri eş cihazın gördüğü durumu gösterir; üzerine gelindiğinde her yarım için cihaz adı ve durum görüntülenir.
Page Information
Tanımlı toplam Kurum Servisi sayısı ile listede görüntülenen Kurum Servisi sayısına ait bilgiler yer alır: Showing N-M of T records ve seçili Kurum Servisi sayısı (N selected, seçim yokken Nothing selected). Süzgeç etkinken süzgeç özeti de görüntülenir.
Page Size
Sayfada görüntülenecek maksimum Kurum Servisi sayısı seçilir. Varsayılan 20; seçenekler 5, 10, 20, 50, 100, 200, 500 ve All.
Sağ Tık Menüsü
Bir satıra sağ tıklandığında, başlığında Kurum Servisinin adı bulunan bir menü açılır. Menüdeki iki işlem de yalnızca sağ tıklanan Kurum Servisine uygulanır; listede yapılmış seçim menüyü etkilemez.
| İşlem | Ne yapar |
|---|---|
| Edit | Kurum Servisinin düzenleme formunu Edit sekmesinde açar; araç çubuğundaki Edit butonunun açtığı formun aynısıdır. |
| Delete | Sağ tıklanan Kurum Servisini siler; araç çubuğundaki tekil silme ile aynı onay sorusu görüntülenir. |
Seçilen Kurum Servisinin Önizlemesi
Listede bir satıra tıklandığında ekranın sağında Kurum Servisinin önizlemesi açılır. Başlıkta sağlık denetimi durum göstergesi, Kurum Servisinin adı ve Backend Service alt başlığı, sağ üstte ise iki işlem ile bir menü bulunur. Panel kapatıldığında liste alanının sağ üstündeki ambulans simgeli tutamaçla yeniden açılır; tutamaç Kurum Servisinin sağlık denetimi rengini taşır.
Seçilen Kurum Servisinin Önizlemesi
| İşlem | Ne yapar |
|---|---|
| Dashboard | Kurum Servisinin Dashboard ekranını açar. |
| Edit | Kurum Servisinin düzenleme formunu Edit sekmesinde açar. |
| ⋮ | Kurum Servisinin kayıtlarını bir pencerede açan Log işlemini içeren menüyü açar. |
Panelde dört sekme bulunur; Health Checks yalnızca Kurum Servisine bir sağlık denetimi profili atanmışsa, Used in yalnızca Kurum Servisi en az bir yerde kullanılıyorsa görüntülenir:
Kurum Servisinin yapılandırma satırlarını ve sağlık denetimi kartını listeler (aşağıdaki tablo).
Kurum Servisi üzerinde yapılan kullanıcı işlemlerini (ekleme, düzenleme, silme) zaman çizelgesi olarak listeler.
Sağlık denetimi sonuç kayıtlarını listeler.
Kurum Servisinin kullanıldığı vService'leri listeler; sekme adının yanındaki rozet kullanım sayısını gösterir.
Health Checks sekmesinin kontrolleri ve kayıt biçimi Health Checks sayfasında anlatılır.
Details sekmesindeki satırlar sırasıyla aşağıdaki gibidir:
| Satır | Açıklama | Görünme koşulu |
|---|---|---|
| Backend Service Name | Kurum Servisinin adı. | Her zaman |
| vDevice | Kurum Servisinin tanımlı olduğu cihaz; ana cihazda Host Device. | Her zaman |
| Address | Kurum Servisinin adresi, IP : port biçiminde. | Her zaman |
| Health Check | Atanmış sağlık denetimi profilinin kartı: profil adı ve tür rozeti, bilgi ve düzenleme ikonları, güncel durum (Health Check State), varsa hata metni ve profilin Period, Timeout, Required Successes, Required Failures değerleri. Profil atanmamışsa güç ikonu ve No Check metni görüntülenir. | Her zaman |
| Use Different IP for Health Check | Sağlık denetiminin yapıldığı adres; ayrı bir adres tanımlanmamışsa Backend Address. | Her zaman |
| Health Check Source IP | Sağlık denetimi paketlerinin kaynak IP adresi; tanımlanmamışsa Default. | Her zaman |
| Backup Service | Kurum Servisinin yedek olarak işaretlendiğini gösterir. | Yedek servis işaretliyse |
| SSL Service | Kurum Servisine giden bağlantıda TLS kullanıldığını gösterir. | SSL işaretliyse |
| Maintenance Mode | Kurum Servisinin bakım modunda olduğunu gösterir. | Bakım modu işaretliyse |
| Use Frontend Port | Kurum Servisine vService'e gelen isteğin hedef portuyla bağlanıldığını gösterir. | Ayar işaretliyse |
| SNAT | Kurum Servisine giden trafikte kullanılan kaynak adres çevirisi; tanımlanmamışsa Default. | Her zaman |
| Spoofing | Spoofing ayarı; cluster kurulumunda cihaz başına ayrı kolonda. | Spoofing açıksa |
| Cookie Content | Çerez değeri. | Değer tanımlıysa |
| Connection Limit | Eşzamanlı bağlantı sınırı. | Değer tanımlıysa |
| Weight | Ağırlık değeri. | Değer tanımlıysa |
| Route Table | Kurum Servisinin bağlı olduğu route tablosu. | Her zaman |
| Proxy | Kurum Servisinin Proxy Protocol ayarı; ayar kaydedilmemişse NULL görüntülenir. | Her zaman |
| Status Code | Son sağlık denetiminde alınan HTTP durum kodu. | Sağlık denetimi tipi HTTP ya da HTTPS ise |
| DNS Answers | Son sağlık denetiminde alınan DNS yanıtları. | Sağlık denetimi tipi DNS ise |
"Used in" sekmesi mutlaka kontrol edilmelidir
Used in sekmesi, Kurum Servisinin hangi vService'lerde aktif olduğunu gösterir. Canlı ortamda servis ayarlarında yapılacak güncellemeler tüm bağlı servisleri anında etkileyeceğinden, değişiklik öncesi olası servis etkilerinin değerlendirilmesi kritik öneme sahiptir.
Kurum Servisi Ekleme Formu
Load Balancer → Backend Services → Add adımları takip edilerek TR7 cihazı üzerine yeni bir Kurum Servisi eklenir.
Kurum Servisi Ekleme Formu
INFO
Backend Service Name Zorunlu
Oluşturulacak Kurum Servisine benzersiz bir isim girilir. Alan boş bırakıldığında "Required field", daha önce kullanılmış bir isim girildiğinde "Name is used" uyarısı görüntülenir ve kayıt engellenir.
INFO
vDevice
Kurum Servisinin hangi vDevice üzerinde tanımlanacağı seçilir. Bu alan yalnızca seçilebilecek birden fazla vDevice varken görüntülenir; sanal makine kurulumlarında bulunmaz. vDevice değiştirildiğinde Route Table alanı DEFAULT değerine döner. Mevcut bir servis düzenlenirken vDevice değiştirilemez.
INFO
Address Zorunlu
Kurum Servisinin ağ üzerindeki konumunu belirleyen IP adresi ve port bilgisi girilir. IP alanı boş bırakıldığında "Required field" uyarısı görüntülenir. Ekleme formunda adresler çok satırlı bir liste olarak girilir (satırlar tutamaçtan sürüklenerek sıralanır ve ✕ ile silinir); düzenleme formunda tek bir IP ve port alanı bulunur.
IP Adresi
IPv4 veya IPv6 formatında IP adresi ya da DNS çözümlemesi yapılabilecek domain adı (FQDN) girilebilir.
- IPv4 adresi:
192.168.1.10,10.0.0.5 - IPv6 adresi:
2001:db8::1,fe80::1 - FQDN (domain adı):
web01.internal.company.com,api.backend.local
Port
Kurum Servisinin dinlediği port numarası girilir; geçersiz bir değerde "Invalid port" uyarısı görüntülenir. HTTP için genellikle 80 veya 8080, HTTPS için 443 kullanılır.
| Port | Protokol | Kullanım |
|---|---|---|
| 80 | HTTP | Standart web sunucu |
| 443 | HTTPS | SSL/TLS web sunucu |
| 8080 | HTTP | Alternatif web portu |
| 8443 | HTTPS | Alternatif SSL portu |
| 3306 | MySQL | Veritabanı sunucusu |
| 6379 | Redis | Cache sunucusu |
Adres listesinin altındaki Add satırıyla forma yeni IP:Port satırları eklenerek, aynı yapılandırmayla birden fazla Kurum Servisi tek seferde oluşturulur; isim ve adres dışındaki tüm alanlar ortak kopyalanır. TR7, isim çakışmasını önlemek için ikinci satırdan itibaren servisleri otomatik adlandırır: İsim, İsim (2), İsim (3)… Aynı IP:Port ikilisi birden fazla satıra girildiğinde form "Elements must be unique" uyarısı verir.
WARNING
Geri döngü (127.0.0.0/8, ::1, localhost), link-local (169.254.0.0/16), 0.0.0.0/8 ve TR7'nin iç kullanımına ayrılmış adreslere işaret eden bir Kurum Servisi, yapılandırmada otomatik olarak devre dışı bırakılır ve trafik almaz.
Birden Fazla Kurum Servisini Tek Formda Ekleme
Otomatik İsimlendirme
INFO
Route Table
Kurum Servisine erişim için kullanılacak route tablosu seçilir; seçili vDevice'ın route tabloları listelenir ve varsayılan olarak DEFAULT seçilidir. Route tabloları, farklı ağ segmentleri için ayrı routing kuralları tanımlamayı sağlar. Birden fazla route tablosu tanımlıysa servisin bulunduğu ağa erişebilecek tablo seçilmelidir; tek tablo varsa DEFAULT olarak kalmalıdır.
Route tablosu seçimi SNAT IP ve Health Check Source IP alanlarını da etkiler: bu alanlardaki cihaz IP listeleri, seçilen route tablosuna ait adreslerle sınırlanır. Varsayılan (Default) ayarlarda kaynak IP'yi seçilen tablonun yönlendirme kuralları belirler. Ayrıntılar Route Tables sayfasındadır.
INFO
Health Check
Kurum Servisinin erişilebilirliğini ve sağlık durumunu periyodik kontrol etmek için kullanılacak sağlık denetimi profili seçilir. Seçenekler No Check (varsayılan) ve profil adı (Tür) biçimindeki profillerdir; açılır listedeki Add butonuyla yeni bir profil oluşturulur ve oluşturulan profil kendiliğinden seçilir.
Nasıl çalışır: Profil atandığında TR7 belirlenen aralıklarla kontrol istekleri gönderir; kontrol başarısız olduğunda servis otomatik trafik dışı bırakılır, tekrar sağlıklı olduğunda trafiğe dahil edilir.
- Kontrol başarılı → servis sağlıklı işaretlenir, trafik almaya devam eder.
- Kontrol başarısız → başarısızlık sayacı artar.
- Ardışık başarısızlık, profildeki Required Failures eşiğine ulaşınca → trafik dışı bırakılır.
- Trafik dışı servis kontrol edilmeye devam eder; ardışık başarı, profildeki Required Successes eşiğine ulaşınca → tekrar trafiğe dahil edilir.
TLS bağlantısı kuran denetim türlerinde (ör. HTTPS, TCPS), Kurum Servisine tanımlı SSL ayarları (istemci sertifikası, CA profili ve SSL güvenlik profili) sağlık denetimi bağlantılarına da uygulanır; sağlık denetimi profilinde bu ayarlar için ayrıca seçim yapılmışsa profildeki seçim geçerlidir.
Profil seçerken dikkat edilecekler:
- Protokol uyumu: sunucunun desteklediği protokol (HTTP, HTTPS, TCP vb.) kullanılmalıdır.
- Health endpoint: sunucuların gerçekten yanıt verdiği bir endpoint seçilmelidir (ör.
/health,/status,/ping). - Timeout değeri: sunucunun normal yanıt süresinden yüksek, ancak gereksiz gecikmeleri önleyecek kadar düşük olmalı.
- Kontrol aralığı: çok sık kontrol sunucuları yorar, çok seyrek kontrol arızaları geç tespit eder. Genellikle 5–10 saniye idealdir.
Önemli
Production ortamlarında sağlık denetimi atanmayan servisler, erişilemez olsalar bile trafik almaya devam eder. Tüm servisler için uygun bir profil tanımlanması önerilir.
Ayrıntılar Health Checks profil sayfasındadır.
INFO
Enable HC Logs
Sağlık denetimi sonuçlarının kayıt olarak tutulmasını sağlar; varsayılan olarak açıktır. Bu alan yalnızca bir sağlık denetimi profili seçildiğinde görüntülenir. Kayıtlar önizleme panelinin Health Checks sekmesinden izlenir; ayrıntılar Health Checks sayfasındadır.
INFO
Backup Service Varsayılan: Kapalı
Kurum Servisini yedek (backup) olarak işaretler; varsayılan olarak kapalıdır. Aktif edildiğinde servis yalnızca aynı vService'e bağlı diğer tüm ana (non-backup) servisler kullanılamaz durumda olduğunda devreye girer. Normal koşullarda yedek servislere trafik yönlendirilmez; ana servisler düştüğünde de aynı anda yalnızca kullanılabilir durumdaki ilk yedek servis trafik alır.
Kullanım senaryoları: farklı veri merkezindeki disaster recovery sunucuları, düşük kapasiteli acil durum sunucuları, statik içerik sunan fallback sunucuları.
INFO
Maintenance Mode Varsayılan: Kapalı
Kurum Servisini bakım moduna alır; varsayılan olarak kapalıdır. Bakım modundaki servislere hiçbir trafik yönlendirilmez. Aktif edildiğinde servis, sağlık denetimi durumundan bağımsız olarak trafik dışı bırakılır. Değişiklik uygulanırken mevcut aktif bağlantılar kesilmez; tamamlanmaya bırakılır ve servise yeni bağlantı gönderilmez. Bakım modundaki servis, liste ekranındaki adının yanında bakım (ambulans) ikonuyla işaretlenir.
Kullanım senaryoları: sunucu bakımı/güncelleme, planlı yeniden başlatma, sorun giderme, kapasite yönetimi.
INFO
SSL Service Varsayılan: Kapalı
TR7 ile Kurum Servisi arasındaki bağlantının SSL/TLS şifrelemesi ile yapılmasını sağlar; varsayılan olarak kapalıdır. Aktif edildiğinde TR7, kurum servisine HTTPS (veya TLS üzerinden TCP) bağlantısı kurar (backend encryption / re-encryption). Servisin SSL/TLS kabul edecek şekilde yapılandırılmış olması gerekir; sunucular farklı portlarda (443, 8443 vb.) SSL dinleyebilir.
Sertifika doğrulaması: TR7, varsayılan olarak (Certificate Verification: None) kurum servislerinin SSL sertifikalarını doğrulamaz:
- Self-signed sertifikalar sorunsuz çalışır.
- Internal CA tarafından imzalanmış sertifikalar kabul edilir.
- Kurum Servislerinin sunduğu sertifikaların geçerliliği kontrol edilmez.
- Sertifika süresi dolmuş olsa bile bağlantı kurulur.
- Hostname eşleşmesi (CN/SAN) kontrol edilmez.
Bu varsayılan, Kurum Servislerinin güvenilir bir ağ içinde olduğu (internal network) senaryolar için tasarlanmıştır. Sertifika doğrulaması gerekiyorsa aşağıdaki Certificate Verification alanından Required seçilmelidir.
Kullanım senaryoları:
- TR7 ile Kurum Servisleri arasında end-to-end şifreleme sağlanması.
- Hassas verilerin (ödeme bilgileri, kişisel veriler) korunması.
- Güvenlik standartlarının (PCI-DSS, HIPAA) şifreleme gerektirmesi.
- Internal CA sertifikalarının kullanıldığı kurumsal altyapılar.
SSL Service
Ciphers
SSL/TLS bağlantısında kullanılacak cipher suite grubu seçilir.
- Standard: TR7'nin varsayılan cipher ayarı kullanılır; güncel sunucular için uygundur. Varsayılan.
- Low: tüm cipher suite'leri dahil eden geniş uyumluluk modu (
ALL:NULL:eNULL:aNULL:RC4-MD5:@SECLEVEL=0). RC4, DES gibi zayıf algoritmalar da dahildir. Yalnızca TLS 1.0/1.1 kullanan legacy sunucularla zorunlu uyumlulukta kullanılmalıdır; güvenlik riski taşır.
Bir Backend SSL Security Profile seçilmişse bu alan dikkate alınmaz; cipher listesi profilden gelir.
SNI
Server Name Indication değeri belirlenir. SNI, TLS handshake sırasında ClientHello mesajında gönderilen ve sunucuya hangi hostname için sertifika sunması gerektiğini bildiren bir TLS uzantısıdır (RFC 6066). Aynı IP üzerinde birden fazla sertifika sunan sunucularda (virtual hosting / name-based SSL) doğru sertifikanın seçilmesi için gereklidir; SNI olmadan sunucu varsayılan sertifikasını sunar. Girilen değer, TR7 tarafından bir transaction değişkenine atanır ve TLS bağlantısında sni parametresi olarak kullanılır. Alana sabit bir alan adı yazılabileceği gibi, yanındaki fx düğmesiyle Smart Variables de eklenebilir; bu durumda SNI her istekte yeniden hesaplanır.
TIP
Yaygın kullanım: Gelen isteğin Host başlığının olduğu gibi Kurum Servisine iletilmesidir. Alanın yanındaki fx butonuna tıklandığında pencere doğrudan Request HTTP header content değişkeniyle ve Header name alanında Host yazılı olarak açılır; Submit ile alana eklenir ve alanda ↓H rozeti görünür. SNI'nin zorunlu olduğu ve tek servis üzerinde birden fazla alan adı barındırılan senaryolarda kullanılır; Windows IIS'te Require Server Name Indication etkinse ve ADFS servislerinde SNI bu şekilde eklenir.
Bu değişken isteğin HTTP başlığını okur. L7 TCP vService'te başlık okunamadığı için alana sabit bir alan adı yazılmalıdır.
ALPN
Application-Layer Protocol Negotiation, TLS handshake sırasında uygulama katmanı protokolünün belirlenmesini sağlar (RFC 7301).
- HTTP 2.0 Disabled: Kurum Servisine HTTP/1.1 ile bağlanılır; ALPN önerisi yapılmaz. Varsayılan.
- HTTP 2.0 Enabled:
alpn h2,http/1.1ile bağlanılır; önce HTTP/2 (h2) denenir, desteklenmiyorsa HTTP/1.1'e fallback yapılır. Servisin HTTP/2 desteklemesi ve TLS üzerinden hizmet vermesi gerekir (h2 over TLS).
Backend SSL Security Profile
TR7'nin kurum servislerine kurduğu SSL/TLS bağlantısında kullanılacak kriptografik güvenlik parametrelerini (protokol sürüm aralığı ve cipher suite'ler) tanımlar. TLS Security Profiles seçilir. Bu profilde yalnızca Min. SSL Version, Max. SSL Version, Cipher Algorithms ve (destekleyen sürümlerde) eğri (curves) parametreleri kullanılır; profildeki diğer ayarlar bu bağlantıda etkisizdir. Profil seçildiğinde TR7, Kurum Servisi bağlantılarını bu güvenlik parametreleri ile sınırlar ve Kurum Servisi ile yapılan TLS handshake süreci bu kurallara göre gerçekleştirilir.
Senaryolar:
- TLS versiyon kısıtı olan kurumsal uygulamalar.
- Legacy ile modern TLS yapılandırmalarının birlikte kullanıldığı ortamlar.
- Güvenlik politikalarına uygun cipher ve TLS sürümü standardizasyonu.
Certificate Verification
TR7'nin kurum servisi ile kurduğu TLS bağlantısında sunucu sertifikasının doğrulanıp doğrulanmayacağı belirlenir (yalnızca TR7 → Kurum Servisi yönünü etkiler, istemci tarafı SSL'den bağımsızdır).
- None: sertifika doğrulanmaz: self-signed ve internal CA imzalı sertifikalar kabul edilir; süre, zincir ve hostname (CN/SAN) kontrol edilmez. Varsayılan.
- Required: sertifika zorunlu doğrulanır: güvenilir CA imzası, zincir doğrulaması, geçerlilik süresi ve CN/SAN eşleşmesi kontrol edilir.
Verification CA Profile
Certificate Verification alanında Required seçildiğinde görünür. Doğrulamada kullanılacak CA profili, Certificate Authorities (CA) ekranındaki profillerden seçilir.
Client Certificate Presented to Backend (mTLS)
TR7'nin kurum servisi ile TLS bağlantısında istemci sertifikası (client certificate) kullanmasını sağlar. Bir sertifika seçildiğinde TR7, handshake sırasında bu sertifikayı servise sunar; servis TR7'yi bu sertifikaya göre doğrulayabilir (mTLS / client certificate authentication). Sertifika yalnızca TR7 → Kurum Servisi bağlantısını etkiler. SSL/TLS Certificates ekranındaki istemci sertifikaları ve sertifikalar arasından seçim yapılır; varsayılan None.
INFO
Details
Formun altındaki Details anahtarı açılarak gelişmiş yapılandırma alanlarına erişilir; anahtar eklemede ve düzenlemede varsayılan olarak kapalıdır. Aşağıdaki alanlar bu bölümdedir ve trafik yönetimi, kaynak IP belirleme ve sağlık denetimi davranışını kontrol eder.
Kurum Servisi Details Bölümü
INFO
Use Frontend Port Varsayılan: Kapalı
Kurum Servisine bağlantıda kullanılacak hedef portu dinamik belirler; varsayılan olarak kapalıdır. Aktif edildiğinde, servis için tanımlanan port yerine vService'e gelen isteğin orijinal hedef portu kullanılır. Örneğin vService 80 ve 443 dinliyorsa, 443'e gelen istek servise de 443'ten iletilir.
Uyarı
Bu seçenek aktifken Address bölümünde girilen port değerleri yoksayılır. Kurum Servisinin vService portlarını dinliyor olması gerekir.
Kullanım senaryoları: tek servis tanımıyla birden fazla port üzerinden hizmet, port bazlı yönlendirme, dinamik port eşlemesi.
INFO
SNAT
Source Network Address Translation ayarları yapılandırılır. TR7'nin kurum servisine bağlanırken kullanacağı kaynak IP'yi belirler; bu, servisin log kayıtlarında ve erişim kontrollerinde görünen kaynak IP'yi etkiler.
Default
Servisin bağlı olduğu route tablosundaki ilk arayüz IP'si kaynak olarak kullanılır. Çoğu standart yapılandırma için uygundur; servis, TR7'nin IP'sini kaynak görür.
TIP
HTTP vService'lerde X-Forwarded-For istek başlığı ile gerçek istemci IP adresi kurum servisine iletilebilir.
Use Client IP
İstemcinin gerçek (orijinal) IP adresi, kurum servisine yapılan bağlantıda kaynak IP olarak kullanılır (transparent / kaynak IP koruma).
Gereksinimler:
- Kurum servisinin yanıt trafiği TR7 üzerinden dönmelidir.
- Bunun için kurum servisinin default gateway'i TR7 olmalı ya da aşağıdaki Spoofing özelliği kullanılmalıdır.
Kullanım senaryoları:
- Kurum servisinde gerçek istemci IP'si ile loglama.
- IP bazlı erişim kontrolü.
- Rate limiting uygulamaları.
Use Device IP
Cihaz IP'lerinden biri seçilerek Kurum Servisine bağlantı için kaynak olarak kullanılır. Bu seçenek işaretlendiğinde görüntülenen SNAT IP alanındaki liste, formda seçili Route Table'a ait adreslerle sınırlıdır ve ilk adres kendiliğinden seçilir.
Kullanım senaryoları:
- Kurum servisinde belirli bir kaynak IP'den gelen trafiği tanımlama.
- Firewall kurallarında kaynak IP filtreleme.
- Multi-tenant ortamlarda trafik ayrımı.
INFO
Use Different IP for Health Check
Sağlık denetiminin servisin kendi adresine mi yoksa farklı bir adrese mi yapılacağı belirlenir.
Backend Address
Varsayılan olarak servisin tanımlı IP:Port adresine sağlık denetimi yapılır.
Different Address
Açılan IP ve port alanlarına girilen farklı bir adrese sağlık denetimi yapılır. Bu alanda alan adı kabul edilmez ve port zorunludur.
Kullanım senaryoları:
- Servisin farklı bir health endpoint'i varsa (ör.
/healthpath'i farklı porttan sunuluyorsa). - Load balancer arkasındaki servis VIP adresi üzerinden kontrol edilecekse.
- Sağlık durumu farklı bir servis tarafından raporlanıyorsa.
INFO
Health Check Source IP
Sağlık denetimi isteklerinin hangi kaynak IP'den gönderileceği seçilir. Bu ayar, servisteki firewall kuralları veya erişim kontrollerini etkileyebilir.
Default
Kaynak IP'yi, seçili route tablosunun yönlendirme kuralları belirler.
Device IP
Açılan listeden cihaz IP'lerinden biri seçilir; liste, formda seçili Route Table'a ait adreslerle sınırlıdır. Servise belirli IP'lerden sağlık denetimi trafiğine izin verilmesi gerektiğinde kullanılır.
INFO
Spoofing Varsayılan: Kapalı
Bu alan yalnızca SNAT alanında Use Client IP seçiliyken görüntülenir; varsayılan olarak kapalıdır. Aktif edildiğinde TR7, kurum servisinin bulunduğu ağda ARP spoofing yaparak servisin yanıt trafiğinin TR7 üzerinden dönmesini sağlar; böylece kurum servisinin default gateway'ini değiştirmeye gerek kalmadan istemci IP'si korunabilir.
Spoofing IP VIP Condition
Spoofing'in hangi cihazda çalışacağını cluster VIP'ine bağlayan koşul seçilir. Bir VIP seçildiğinde spoofing, VIP'in etkin olduğu cihazda çalışır; None seçildiğinde yalnızca Spoofing Default Device alanında seçili cihazda çalışır. Cluster kapalıyken bu alan görüntülenmez.
Spoofing Default Device
Cluster kurulumlarında spoofing'i varsayılan olarak hangi cihazın yürüteceği seçilir; seçenekler cluster'daki cihazların adlarıdır ve varsayılan olarak birinci cihaz seçilidir. Cluster kapalıyken bu alan görüntülenmez.
Spoofing IP
Spoofing'in hedefleyeceği IP adresi girilir. Boş bırakıldığında, seçili route tablosunun varsayılan ağ geçidi (default gateway) hedeflenir.
INFO
Cookie Content
Çerez bazlı oturum kalıcılığı (cookie-based persistence) kullanıldığında bu servisi tanımlayan çerez değeri belirlenir. vService'te Cookie Based Connection Persistency aksiyonu aktif olduğunda TR7, istemcilere bir persistence cookie gönderir; bu cookie, istemcinin sonraki isteklerinde aynı servise yönlendirilmesini sağlar.
server1, backend-web-01 gibi okunabilir manuel değerler troubleshooting için faydalıdır; her sunucuya anlamlı ve benzersiz cookie değerleri atanmalıdır. Değerdeki harf, rakam ve tire dışındaki karakterler yapılandırmaya _ olarak yansır.
INFO
Connection Limit
Kurum servisine yönlendirilebilecek maksimum eşzamanlı bağlantı sayısı belirlenir; servisin aşırı yüklenmesini önler. Değer aralığı: 1–65535. Aralık dışındaki değerde "Connection limit must be in range 1-65535" uyarısı görüntülenir. Limite ulaşıldığında yeni bağlantılar aynı vService'e bağlı diğer servislere yönlendirilir; tek servis varsa bağlantılar kuyrukta bekletilir. Boş bırakıldığında bağlantı sayısı sınırlanmaz; kurum servisi kapasitesi kadar bağlantı kabul edilir.
Kullanım senaryoları: farklı kapasitelere farklı limit, yeni sunucunun kademeli yüklenmesi, belirli sunucuların aşırı yüklenmesinin önlenmesi.
INFO
Weight
Servisin trafik dağılımındaki göreli ağırlığı belirlenir; weighted round-robin ve benzeri algoritmalarda kullanılır. Değer aralığı: 1–256; alan boşken 1 uygulanır. Aralık dışındaki değerde "Weight must be in range 1-256" uyarısı görüntülenir. Yüksek ağırlıklı servisler orantılı olarak daha fazla trafik alır. Örneğin ağırlıklar 1, 2 ve 3 olduğunda: ilk %16.7 (1/6), ikinci %33.3 (2/6), üçüncü %50 (3/6). vService'te ağırlıkları yok sayan bir dağıtım algoritması seçilmişse bu değer uygulanmaz.
Kullanım senaryoları:
- Kapasite bazlı dağılım: farklı donanım kapasitelerine orantılı yük; güçlü sunucular daha yüksek weight alır.
- Canary deployment: yeni versiyon tek sunucuya düşük weight (ör. 1), diğerleri yüksek weight (ör. 10); sorunsuz çalışırsa weight kademeli artırılır.
- Blue-Green deployment: Blue (eski) weight 10, Green (yeni) weight 1; trafik kademeli olarak Green'e kaydırılır (2, 5, 10…).
- Coğrafi optimizasyon: kullanıcıya yakın veri merkezine daha yüksek weight ile latency iyileştirmesi.
- Maliyet optimizasyonu: pahalı sunuculara düşük, ekonomik sunuculara yüksek weight ile maliyet/performans dengesi.
INFO
Proxy
Proxy Protocol, TR7'nin Kurum Servisine ilettiği bağlantılarda gerçek istemci IP ve port bilgisinin korunmasını sağlayan bir protokoldür. İstemci IP/port bilgisi, uygulama verisi başlamadan önce bağlantının en başında servise iletilir. Böylece serviste gerçek istemci IP'si ile doğru loglama, IP bazlı erişim kontrolü, doğru rate limiting ve HTTP dışı TCP servislerinde de istemci bilgisi korunur.
Önemli gereksinim
Kurum Servisinin Proxy Protocol'ü desteklemesi ve bunu bekleyecek şekilde yapılandırılmış olması gerekir. Desteklemeyen bir servise Proxy header gönderilirse, sunucu bu veriyi uygulama verisi olarak yorumlar ve bağlantı başarısız olur.
No Proxy
Proxy Protocol kullanılmaz; servis kaynak IP olarak TR7'nin IP'sini görür. Varsayılan değer.
Ne zaman kullanılır:
- Kurum Servisi Proxy Protocol desteklemiyorsa.
- HTTP vService kullanılıyorsa ve X-Forwarded-For header yeterliyse.
- Kurum Servisinde istemci IP'sine ihtiyaç yoksa.
Proxy
Text (ASCII) tabanlı Proxy Protocol (v1). Kurum Servisine insan tarafından okunabilir (human-readable) formatta istemci bilgisi gönderilir.
Format örneği:
PROXY TCP4 192.168.1.100 10.0.0.50 54321 80\r\nPROXY: protokol identifierTCP4: iletim protokolü (TCP4 veya TCP6)192.168.1.100: istemci IP adresi (source)10.0.0.50: TR7 IP adresi (destination)54321: istemci port numarası80: hedef port numarası\r\n: satır sonu (CRLF)
Avantajlar:
- Basit ve yaygın olarak desteklenir.
- İnsan tarafından okunabilir yapıdadır (troubleshooting kolaylığı).
- HTTP ve genel TCP servisleriyle uyumludur.
Dezavantajlar:
- Binary'ye göre daha fazla byte kullanır.
- Parsing overhead daha yüksektir.
Destekleyen yazılımlar: NGINX, Apache (mod_remoteip), HAProxy, Envoy, Caddy.
Proxy v2
Binary (ikili) formatta çalışan, daha gelişmiş Proxy Protocol versiyonu. Proxy (v1) seçeneğiyle aynı temel amacı taşır ancak daha performanslı ve genişletilebilir bir yapı sunar.
Avantajlar:
- Binary format sayesinde daha verimli çalışır (daha az byte, daha hızlı parsing).
- IPv4 ve IPv6 desteği standarttır.
- Ek meta bilgilerin taşınmasına imkân tanır (TLV: Type-Length-Value alanları).
- Yüksek trafikli ve karmaşık mimariler için daha uygundur.
- SSL/TLS bilgileri (cipher, protocol version) eklenebilir.
Dezavantajlar:
- İnsan tarafından okunamaz (binary format).
- Daha az yazılım tarafından desteklenir (v1'e göre).
Ne zaman tercih edilir?
- Yüksek performans gerekiyorsa.
- Ek meta bilgi taşınması gerekiyorsa.
- Modern Kurum Servisi altyapısı v2'yi destekliyorsa.
Yapılandırma kontrolü. Proxy Protocol aktif edilmeden önce servisin doğru yapılandırıldığı doğrulanmalıdır:
- NGINX:
listen 80 proxy_protocol;veset_real_ip_fromdirektifleri. - Apache:
mod_remoteipmodülü ileRemoteIPProxyProtocol On.
Kullanım Yeri
Kurum Servisleri, TR7 mimarisinde bağımsız çalışmayan yapı taşlarıdır. Bir Kurum Servisi tanımladıktan sonra, ona trafik gönderebilmek için mutlaka bir vService ile ilişkilendirme yapılması gerekir. Trafik akışı şu sırayla gerçekleşir:
İlişkiyi kurabilmek için iki temel kavramı anlamak gerekir.
INFO
Default Backend Services
vService'e gelen tüm isteklerin, herhangi bir koşul olmaksızın yönlendirileceği varsayılan kurum servisleridir. Tek tip uygulama sunucularına trafik dağıtılan ve özel yönlendirme kuralı gerektirmeyen standart senaryolarda kullanılır.
Örnek: www.example.com adresine gelen tüm HTTP istekleri web-01, web-02, web-03 sunucuları arasında yük dengelenerek dağıtılır.
INFO
Conditional Backend Services
Belirli koşullar sağlandığında trafiğin farklı kurum servislerine yönlendirilmesini sağlar (Content Switching olarak da bilinir). TR7, koşulları yukarıdan aşağıya sırayla değerlendirir; ilk eşleşen koşul uygulanır ve değerlendirme durur. Hiçbir koşul eşleşmezse Default Backend Services kullanılır.
Farklı URL yollarını (/api/*, /admin/*, /images/*), mobil/masaüstü trafiğini (User-Agent), belirli IP'lerden gelen trafiği veya farklı domain'leri (Virtual Hosting) ayırmak için kullanılır.
Örnek: www.example.com/api/* istekleri api-backend-01 ve api-backend-02'ye, diğer tüm istekler varsayılan web sunucularına gönderilir.
Pratik Kullanım Adımları
Trafiğin dağıtılacağı tüm uygulama sunucuları için Load Balancer → Backend Services → Add ile Kurum Servisi tanımları oluşturulur.
Örnek tanımlar:
- web-server-01: Address:
192.168.1.10:80, Health Check:HTTP-Basic-Check - web-server-02: Address:
192.168.1.11:80, Health Check:HTTP-Basic-Check - api-backend-01: Address:
192.168.1.20:8080, Health Check:HTTP-API-Check
Load Balancer → Load Balancer vService List → Add (veya mevcut vService'i Edit).
vService ekleme/düzenleme ekranında Default Backend Services alanına varsayılan servisler (web-server-01, web-server-02) eklenir; özel koşul eşleşmediği sürece tüm istekler bu servisler arasında dağıtılır.
Content Switching için Conditional Backend Services butonuna tıklanır:
- Koşul:
Path→/api/ile başlıyor ise - Kurum Servisi:
api-backend-01
Bu kural ile /api/ ile başlayan tüm istekler api-backend-01'e yönlendirilir.
Gerçek Hayat Senaryoları
Senaryo 1: E-Ticaret Sitesi, Basit Yük Dengeleme
İhtiyaç: www.shop.com için 3 web sunucu arasında yük dengeleme.
Kurum Servisleri:
shop-web-01→192.168.10.11:80(Health Check: HTTP-80, Weight: 100)shop-web-02→192.168.10.12:80(Health Check: HTTP-80, Weight: 100)shop-web-03→192.168.10.13:80(Health Check: HTTP-80, Weight: 50; yeni sunucu, daha az trafik alır)
vService Yapılandırması:
- Name:
www.shop.com - Frontend IP:Port:
172.16.100.7:443(SSL: HTTP/2.0) - Default Backend Services:
shop-web-01,shop-web-02,shop-web-03 - Conditional Backend Services: Yok
Sonuç: Gelen tüm HTTPS trafiği üç sunucu arasında ağırlıklarına göre dağıtılır (shop-web-01 ve shop-web-02 toplam trafiğin %66'sı, shop-web-03 %33'ü). Bir sunucu health check'ten düşerse trafik otomatik olarak sağlıklı sunuculara yönlendirilir.
Senaryo 2: Mikroservis Mimarisi, İçerik Bazlı Yönlendirme
İhtiyaç: Tek domain üzerinden farklı mikroservislere yönlendirme (/api/auth/*, /api/payment/*, /api/products/*, geri kalan → ana web).
Kurum Servisleri:
auth-service-01→172.16.1.10:8081auth-service-02→172.16.1.11:8081payment-service→172.16.2.10:8082(SSL Service: Enabled, ödeme verileri için şifreli)product-service-01→172.16.3.10:8083product-service-02→172.16.3.11:8083web-frontend-01→172.16.4.10:80web-frontend-02→172.16.4.11:80
vService Yapılandırması:
- Name:
api.company.com - Frontend IP:Port:
192.168.50.7:443(SSL: HTTP/2.0) - Conditional Backend Services:
- Path →
/api/auth/ile başlıyor →auth-service-01,auth-service-02 - Path →
/api/payment/ile başlıyor →payment-service - Path →
/api/products/ile başlıyor →product-service-01,product-service-02
- Path →
- Default Backend Services:
web-frontend-01,web-frontend-02
Sonuç:
GET /api/auth/login→auth-service-01/auth-service-02POST /api/payment/process→payment-service(SSL ile)GET /api/products/list→product-service-01/product-service-02GET /→web-frontend-01/web-frontend-02
Senaryo 3: Yedek Sunucu Stratejisi
İhtiyaç: vService'de yedek sunucu kullanımı ile kesinti durumlarını minimuma indirme.
Kurum Servisleri:
prod-web-01→192.168.1.10:80(Backup: Disabled)prod-web-02→192.168.1.11:80(Backup: Disabled)back-web-01→10.10.10.10:80(Backup: Enabled)
vService Yapılandırması:
- Name:
www.example.com - Default Backend Services:
prod-web-01,prod-web-02,back-web-01
Sonuç: Normal şartlarda tüm trafik prod-web-01 ve prod-web-02 arasında paylaşılır; back-web-01 hiç trafik almaz. Hem prod-web-01 hem prod-web-02 health check'ten düşerse TR7 otomatik olarak back-web-01'e yönlendirmeye başlar. Ana sunuculardan biri tekrar sağlıklı olduğunda trafik ona geri döner.
Senaryo 4: Mobil ve Desktop Trafik Ayrımı
İhtiyaç: Mobil cihazlardan gelen trafik, optimize edilmiş mobil servislere yönlendirilsin.
Kurum Servisleri:
mobile-backend-01→192.168.5.10:80mobile-backend-02→192.168.5.11:80desktop-backend-01→192.168.6.10:80desktop-backend-02→192.168.6.11:80
vService Yapılandırması:
- Name:
www.responsive-site.com - Conditional Backend Services:
- User-Agent →
Mobile|Android|iPhoneiçeriyor →mobile-backend-01,mobile-backend-02
- User-Agent →
- Default Backend Services:
desktop-backend-01,desktop-backend-02
Sonuç: iPhone/Android isteği → mobil servislere; masaüstü tarayıcı isteği → desktop servislere yönlendirilir.
Senaryo 5: Bakım Modu ile Sunucu Güncelleme
İhtiyaç: Web sunucularından birini hizmet kesintisi olmadan güncellemek.
Kurum Servisleri: web-01 → 192.168.1.10:80, web-02 → 192.168.1.11:80, web-03 → 192.168.1.12:80
vService Yapılandırması: Default Backend Services: web-01, web-02, web-03
İşlem akışı:
web-01için Maintenance Mode aktif edilir (Edit → Maintenance Mode: Enabled).- TR7,
web-01'e yeni bağlantı göndermez; mevcut bağlantılar sonlanır. web-01üzerinde güncelleme yapılır (Apache restart, kod deploy vb.).- Güncelleme bitince Maintenance Mode devre dışı bırakılır.
- TR7 health check yapar; başarılı olursa trafik tekrar gönderilmeye başlar.
- Aynı işlem
web-02veweb-03için tekrarlanır.
Sonuç: Hiçbir zaman tüm sunucular aynı anda devre dışı kalmaz; kullanıcılar kesintisiz hizmet alır.
Sık Yapılan Hatalar ve Çözümleri
WARNING
🔴 Kurum Servisi oluşturdum ama trafik almıyor
- Neden: Kurum Servisi herhangi bir vService'e eklenmemiştir.
- Çözüm: İlgili vService'i düzenleyip Default Backend Services veya Conditional Backend Services listesine eklenir.
WARNING
🔴 503 Service Unavailable hatası alıyorum
- Neden: vService'te Default Backend Services boş bırakılmış ve hiçbir Conditional Backend Services ile eşleşmemiştir.
- Çözüm:
- Default Backend Services alanına en az bir Kurum Servisi ya da tüm istekleri karşılayacak bir koşul eklenir.
- Kurum Servisinin sağlık denetimi durumu kontrol edilir.
- SSL/TLS üzerinden çalışan bir serviste SNI alanına Host değişkeni girilir.
WARNING
🔴 Kurum Servisi Health Check'ten düşüyor
- Neden: Health Check profili yanlış yapılandırılmış olabilir (ör. backend
/yolunda değil/healthyolunda yanıt veriyor). - Çözüm: Health Check profili servisin gerçek sağlık endpoint'ine göre düzenlenir. Servis loglarında health check isteklerinin başarılı olduğu doğrulanır.
WARNING
🔴 Conditional Backend Services çalışmıyor
- Neden: Koşul yanlış tanımlanmış veya eşleşme sırası yanlış olabilir.
- Çözüm: Koşullar yukarıdan aşağıya kontrol edilir; daha spesifik kurallar üstte, genel kurallar altta tutulur. Debug mode ile hangi koşulun eşleştiği kontrol edilir.
WARNING
🔴 SSL Kurum Servisi bağlantısı kurulamıyor
- Neden: Kurum Servisi SSL/TLS kabul etmiyor veya cipher uyuşmazlığı var.
- Çözüm:
- Servisin gerçekten SSL portu (443) üzerinde dinlediği doğrulanır.
- Certificate Verification: None (varsayılan) iken self-signed sertifika sorun değildir; Required seçiliyse CA profilinin sunucu sertifikasını imzalayan CA'yı içerdiği kontrol edilir.
- Eski bir servis ise Ciphers alanında Low seçeneği denenir ya da bir Backend SSL Security Profile seçilir.
vService yapılandırmasının ayrıntıları HTTP (L7) vService, L7 TCP vService ve Network vService sayfalarındadır.
