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.

🌍 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.

person
Rıdvan Candan
Author
calendar_today schedule 2 min read

🏢 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) veya Shared (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.

  1. Domain Doğrulama: Her iki App Service için de DNS tarafında bir TXT kaydı (asuid.main) ve bir CNAME kaydı eklenerek domain sahipliği (Domain Ownership) doğrulanır.
  2. 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.
  3. SSL Binding: Oluşturulan bu pfx/private key, Add Binding menü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: 50 değeri verilirse, gelen traffic %50 / %50 (Round-robin benzeri) olarak iki bölgeye eşit dağıtılır.
  • 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.com adresine 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 Stop edilirse, 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.
Tagged: # Azure
person
Written by
Rıdvan Candan