🌍 Azure Traffic Manager ve Managed SSL: Multi-Region Web App Mimarisi
Bu doküman, Azure üzerinde farklı Region'larda host edilen web uygulamalarına (App Service) gelen trafiği dağıtmak ve High Availability bir yapı kurmak için Azure Traffic Manager kullanımını içermektedir. Ayrıca bu mimaride "Free SSL" App Service Managed Certificate yapılandırması anlatılmaktadır.
🏢 1. App Service Plan ve Tier Gereksinimleri
Traffic Manager'ın arkasına koyacağınız web uygulamaları için App Service'ler oluşturulur (Örn: Biri Central US, diğeri West India bölgesinde).
- Kritik Kural: Azure'da
Free (F1)veyaShared (D1)tier'ları Custom Domain (Özel alan adı) ve SSL sertifikasını desteklemez. - Bu mimariyi kurabilmek için App Service Plan'in en az Basic (B1) tier veya üzerinde (Standard, Premium) olması zorunludur.
🔐 2. Custom Domain ve SSL (Managed Certificate) İşlemleri
Trafiği Traffic Manager üzerinden dağıtmadan önce, her iki App Service endpoint'ine de aynı Custom Domain'i (Örn: main.domain.com) tanımlamak ve SSL ile güvenliğini sağlamak gerekir.
- Domain Doğrulama: Her iki App Service için de DNS tarafında bir
TXTkaydı (asuid.main) ve birCNAMEkaydı eklenerek domain sahipliği (Domain Ownership) doğrulanır. - App Service Managed Certificate: Azure'un sunduğu ücretsiz TLS/SSL sertifikasıdır. Her iki App Service'in TLS/SSL settings bölümünden ilgili Custom Domain için bu sertifika generate edilir.
- SSL Binding: Oluşturulan bu pfx/private key,
Add Bindingmenüsü üzerinden Custom Domain'e "SNI SSL" metoduyla bind edilir.
🚥 3. Traffic Manager Profile Yapılandırması
App Service'ler kendi başlarına SSL ile çalışabilir hale geldikten sonra, önlerine Traffic Manager konumlandırılır.
- Routing Method (Yönlendirme Metodu): Traffic Manager Layer-4 seviyesinde (DNS bazlı) çalışır. Videodaki senaryoda "Weighted" (Ağırlıklı) metod kullanılmıştır.
- Weighted: Her iki endpoint'e de
Weight: 50değeri verilirse, gelen traffic %50 / %50 (Round-robin benzeri) olarak iki bölgeye eşit dağıtılır.
- Weighted: Her iki endpoint'e de
- Endpoints (Uç Noktalar): Her iki App Service, Traffic Manager'a "Endpoint" olarak eklenir.
🌐 4. Son DNS Yönlendirmesi (The Final CNAME)
Tüm yapılandırma bittikten sonra, kullanıcıların giriş yapacağı ana domain (Örn: main.domain.com), doğrudan App Service'lerin IP'sine değil, Azure Traffic Manager'ın URL'ine (Örn: myprofile.trafficmanager.net) bir CNAME kaydı ile yönlendirilir.
🔄 5. Failover (Hata Devri) ve Test
- Kullanıcı
main.domain.comadresine gittiğinde, DNS sorgusu Traffic Manager'a ulaşır. - Traffic Manager, Weighted kuralına göre uygun olan App Service'in Public IP'sini (veya CNAME'ini) client'a döndürür.
- Test Senaryosu: Endpoint 1 (Central US) Manuel olarak
Stopedilirse, Traffic Manager "Degraded" durumunu algılar ve bir sonraki DNS sorgularında tüm traffic'i otomatik olarak Endpoint 2'ye (West India) yönlendirmeye (Failover) başlar.
💡 Azure Architect Best Practice Notu
- Layer 4 vs. Layer 7 Seçimi: Bu videodaki gibi sadece HTTP/HTTPS (Web) trafiği dağıtıyorsanız ve uygulamanız public internete açıksa, modern Azure mimarilerinde Traffic Manager (DNS-based, Layer 4) yerine Azure Front Door (Layer 7) kullanmak Best Practice'tir.
- Front Door'un Avantajı: Front Door, App Service'lere ayrı ayrı gidip Free SSL kurma zahmetinden sizi kurtarır; SSL sonlandırmasını (SSL Termination) kendi üzerinde (Edge location'larda) yapar, WAF (Web Application Firewall) desteği sunar ve Anycast protokolü ile Traffic Manager'dan çok daha hızlı failover gerçekleştirir. Traffic Manager ise web harici traffic'ler (TCP/UDP) veya DNS seviyesinde multi-region yönlendirme gerektiğinde tercih edilmelidir.