Merhabalar,
Bu yazımda bir web sayfasının 2 farklı serverda host edildiği durumda aktif/pasif beklemede modunda yük dengeleme olacak şekilde birincil sunucunun (server1) tüm yükü alacağı, yedek sunucunun (server2) trafik almayacağı ve aktif beklemede modunda gerektiği durumda trafiği üzerine olacak şekilde F5-LoadBalancer konfigürasyonunun nasıl yapılacağını anlatacağım.
Aşağıdaki topology de anlaşılacağı üzere client istek yaptığında F5 üzerine gelen trafik öncelikli olarak tüm trafiğin server1 e gönderileceği, Server1 down olduğu durumda trafik server2 üzerinden gerçekleşip, server1 up olduğu durumda trafik tekrardan server1 üzerinden devam edecektir. Şimdi bu konfigürasyonun nasıl yapılacağını inceleyelim;
- Her iki sunucu için node (server1, server2) konfigürasyonu yapılacak.
- Sunucuda çalışan servis portları için (443, 7273) ayrı ayrı pool oluşturulacak.
- Virtual Server tanımlamaları çalışan portlar için (443, 7273) yapılacak.
- Yeni tanımlayacağımız server Node’ları için sırasıyla şu adımları izliyoruz; Local Traffic > Nodes > Create > ile aşağıdaki gibi yeni serverlar için (server1 ve server2); Node Name, Server ip address ve Health Monitör olarak icmp seçeneği konfigurasyonu yapıp finished ile kaydediyoruz. Böylece Node tanımlamamızı yapmış olduk. Şimdi pool tanımlama adımına geçelim.
- Yukardaki adımda oluşturmuş olduğumuz yeni node’lar üzerinde çalışan servis portları için yeni bir pool oluşturarak pool ile node’ları birbirine bağlayacağız.
İki farklı port için sırasıyla şu adımları izliyoruz; Local Traffic > Pools > Create > ile aşağıdaki gibi yeni pool’lar için Pool Name, Heath Monitör olarak Tcp, Loadbalancing Method olarak Round Robin ( Bu yöntem, yükü tüm pool üyelerine (Node lara) eşit olarak dağıtmak için tasarlanmıştır. Aynı zamanda varsayılan yük dengeleme yöntemidir. Bu yük dengeleme yöntemi genellikle CPU, RAM ve Bellek gibi eşit donanıma sahip sunucularda kullanılmaktadır. )
Priority Group Activation değerini Less than 1 olarak seçiyoruz. Buradaki 1 değeri sadece 1 adet öncelikli server olduğunu ifade ediyor. Birden çok sunucu aynı öncelik grubunun parçası olabilmektedir. Bizim örneğimizde sadece server1 öncelikli durumda olacak. Server1 down durumdaysa F5 istekleri ikinci en yüksek gruptaki üyeye yani server2 ye yönlendirir. Eğer varsa başka serverlar bu durum bu şekilde devam eder. Kısaca eğer 2 adet öncelikli server olsaydı Less than değerini 2 yapacaktık.
Group Priority değeri için ise sayı ne kadar yüksek olursa, öncelik o kadar yüksek olur. Server1 için “2”, server2 için “1” değerini verip priority değeri yüksek olan öncelikli olarak trafiği server1 e yönlendirir. Server1 down olduğunda ise “2” den sonra en yüksek değer olan “1” server2 ye trafik geçecek server1 up olduğu duruda tekrardan trafik server1 üzerinden devam etmiş olacak. Bu şekilde aktif pasif öncelikli konfigürasyonu burada yapmış olacağız.
Node list kısmından tanımladığımız server1 node unu seçiyoruz. Service Port olarak 443 için add ile ekleyip finished diyoruz. Ardından aynı tanımlar portu 7273 olacak şekilde kaydedip 2 adet pool oluşturmuş oluyoruz.
- Tanımladığımız pool’ları aşağıdaki gibi göreceğiz. Bu pool’ların üstüne tıklayıp içerisine girdiğimizde members olarak sadece node list olarak yukarda seçtiğimiz server1 i göreceğiz. Ama bizim server2 adında bir node’umuz daha var onu da eklemek için add ile hangi portun pool un içerisindeysek o port ile node’u ekliyoruz. Group Priority değeri için server1 “2”, server2 için “1” değeri olacak şekilde düzenliyoruz. Aşağıda görsellerini görebilirsiniz.
- Node ve Pool ayarlamalarını yaptıktan sonra Virtual Server kısmına gelelim. Bu tanımlamalar daha öncesinde yapıldığı için aşağıdaki şekilde görüyoruz. Port 80 olan 443 e yönlendirmek için tanımladığımız Virtual Server, ayrıca 7273 için de Virtual Server tanımlaması yapıldığını görüyoruz. Şimdi nasıl yapıldığını görsellerle beraber inceleyelim.
- 80 portunun tanımlamasının amacı tarayıcıya http://abc.com olarak istek geldiğinde 443 ile Virtual Server’a redirect yapmaktır. Bu şekilde tarayıcıda istek https://abc.com a dönüşmüş olacak.
- Virtual Server 443 profili için tanımlamaları aşağıdaki şekilde yapıyoruz. Source adres kısmına tüm networklerden, Destination adres kısmına ise Virtual server a verdiğimiz IP adresinin tanımlarını giriyoruz. Port olarak 443 portu ile “http profile” sonra domaine ait SSL sertifika profilini seçiyoruz.
- Son olarak bu web sayfası 7273 portu ile de çalışıyordu. Bu sebepten Virtual Server profilini tanımlarken 7273 service portu için de tanımlama yapmamız gerekiyor. Bu şekilde hem 443 hem de 7273 portu ile çalışan web sayfasının konfigürasyonunu yapmış olduk.
Okuduğunuz için teşekkürler.
Arif BAYRAKTAR