Azure Traffic Manager Nedir?
Azure Traffic Manager, istekleri DNS katmanında tercih edilen yöntemlere göre End Pointlere yönlendiren Load Balancer (Yük Dengeleyici) türevi Azure servisidir. Load Balancer servisine ek olarak sağladığı yönlendirme metotları sayesinde ileri seviyede yönlendirme gereksinimlerine yanıt verebilir.
Traffic Manager Nasıl Kurulur?
Azure Portal üzerinden Traffic Manager Profiles > Add seçenekleri ile ulaştığımız oluşturma ekranı aşağıda ki gibidir.
Bu ekranda klasik Azure Servis oluşturma ekranları dışında Traffic Manager için bir isim (sonradan değiştirilemez) ve Routing Method (sonradan değiştirilebilir) tanımlarını yaparak Traffic Manager oluşturuyoruz. İlk kurulum sırasında default olarak gelen “Performance” metodunu seçerek devam edebiliriz. Aşağıda bu metotları detaylı olarak inceleyeceğiz.
Kurulum sonrasında yalnızca “Confiuguration” ve “Endpoints” menülerini kullanacağız.
Endpoints menüsünde, yönlendirmenin yapılacağı servisleri belirlerken, Configuration menüsünde, yönlendirme seçeneklerimizi ve servislerin sağlık durumunu kontrol eden parametreleri belirleyeceğiz. Öncelikle Endpoints > Add seçeneği ile başlayalım.
- Type :
- Azure Endpoint : Azure Cloud Service, App Service, App Service Slot ve Azure Public IP Address kategorileri arasında seçim yapabilirsiniz. Yönlendirme yapılacak tüm servisler Azure içerisindeyse, bu seçenek ile devam ediyoruz.
- External Endpoint : External (Public ya da Private Cloud veya farklı servisler) lokasyonları da Endpoint olarak ekleyebiliyoruz. External Endpoint ekleme işlemini FQDN ya da IP adresi olarak yapabiliyoruz.
- Nested Endpoint : Karmaşık yapılar için profil hedefli olarak belirlenen bu Endpoint tipi birlikte seçilemeyen Routing Method durumlarını kombinlemenizi sağlar. Alt profil olarak oluşturulan Traffic Manager profillerini kombinleyerek daha karmaşık yapılar için üst profil oluşturur.
Yapımızın tamamen Azure Servisleri üzerinde olduğunu varsayarak 1. seçenek ile devam ediyoruz. Senaryomuza göre 2 adet VM üzerinde HTTP servislerine yük dağıtacaksak, 1. seçenek ile VM’lere ait IP adreslerini seçiyoruz.
Yukarıda bahsettiğimiz Configuration bölümüne dönerek, sunucuların sağlık durumlarını nasıl kontrol edeceğimizi ve hangi yöntem ile dağıtım yapacağımızı belirleyeceğiz.
Bu aşamada yukarıda yarım bıraktığımız metotları inceleyelim.
- Performance : Adından anlaşılacağı üzere monitör tarafında verdiğimiz parametrelere bağlı olarak en performanslı servis hangisi ise ona yönlendirme yapılacaktır.
- Weighted : Basit anlamda yük eşit ağırlıklı olarak tüm servislere dağıtılır. Topolojide yük/servis dengesi düzgün planlandıysa kullanılmasını öneriririz.
- Priority : Endpoint tanımlamalarında öncelik belirlenebiliyor. Bu seçimde önceliği yüksek servislere gönderilir.
- Geographic : Farklı lokasyonlarda hizmet veren servisleriniz varsa, kullanıcıya en yakın lokasyona yönlendirme yapılır. Burada kullanıcının DNS sorgusunu gönderdiği lokasyon baz alınır.
- MultiValue : Bu metot yalnızca Endpoint’in External olması durumunda çalışır. Sorguda dönen birden fazla DNS kaydı varsa istekler çoklu olarak döner. Yalnızca yukarıda belirttiğimiz “Nested Endpoint” gibi karmaşık senaryolarda öneriyoruz.
- Subnet : Kaynak IP adresine göre Endpoint tanımlamanızı sağlayan yöntemdir.
Endpoint Monitor Settings
Bu seçenek performans ve diğer değerlerin kontrol edileceği ve Traffic Manager’ın dengelemeye karar vereceği parametreleri içerir. Örneğin web sitenizde kontrol.txt gibi bir dosya ile kontrolün sağlanmasını istiyorsanız, her servis için bu kontrol gerçekleştirilerek Performance durumuna ya da servisin yanıt verip/vermeme durumuna karar verilir.
Örnek olarak PHP bir projede öncelik veritabanı bağlantısı ise test.php sayfasında bağlantı test edilir. Bağlantı sağlanamazsa bu sayfa 500 hata kodu döndürüleceğinden sağlık durumuna bağlı olarak devre dışı bırakılır.
Bu kapsama girmesini istemediğiniz hata kodlarını “Expected Status Code Ranges” bölümünde verebilirsiniz. Örneğin kontrol edilen sayfada hata kodlarının kontrol edilmesini istemiyorsanız, 200-501 gibi bir değer verebilirsiniz.
Özet
Traffic Manager temelde sizin için kontrollü bir DNS dağıtımı gerçekleştirdiğinden, diğer Load Balancer modellerine göre daha performanslı çalışır. Klasik Load Balancer modelleri, önce Load Balancer ile bağlantı kurmanızı sağlarken, Traffic Manager istek ve yanıt koşullarına bağlı olarak DNS seviyesinde yanıt verir.
Ek kaynak : Nested Traffic Profile