Bulutta yük dengeleme ve trafik yönetimi yapılandırması
Beceri rehberi

Bulutta yük dengeleme ve trafik yönetimi yapılandırması

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 7 dk okuma

Yük dengeleme ve trafik yönetimini öğrenin: katmanlar, algoritmalar, sağlık denetimi, DNS yönlendirme, WAF ve TLS ayarları ile test yöntemi.

Yük dengeleme nedir, hangi sorunu çözer?

Yük dengeleme (load balancing), gelen istekleri birden fazla sunucu ya da hizmet örneği arasında dağıtarak hiçbirinin aşırı yüklenmesini ve tek bir arızanın tüm hizmeti durdurmasını önleyen tekniktir. Kullanıcı tek bir adrese bağlandığını sanır; arkada ise bir dağıtıcı, isteği o an uygun görünen örneğe iletir.

Yük dengelemenin ürettiği temel faydalar şunlardır: ölçeklenebilirlik, kullanılabilirlik ve bakım kolaylığı. Trafik arttığında yeni örnekler havuza eklenerek kapasite büyütülür. Bir örnek arızalandığında sağlık denetimi onu havuzdan çıkarır ve trafik sağlam örneklere yönlenir. Sürüm geçişi ya da bakım gerektiğinde bir örnek trafikten alınır, güncellenir ve geri verilir; kullanıcı kesinti görmez.

Trafik yönetimi, yük dengelemenin daha geniş halidir. Yalnızca isteği dağıtmaz; hangi isteğin nereye gideceğine yol, alan adı, coğrafya ya da istek başlığı gibi ölçütlerle karar verir, saldırı niteliğindeki trafiği süzer, şifrelemeyi sonlandırır ve gerektiğinde bölgeler arası yedeklemeyi yönetir. Bulut ortamında bu işlevler birkaç ayrı hizmet arasında paylaşıldığı için doğru bileşeni doğru katmanda seçmek, yapılandırma becerisinin merkezidir.

Trafik yönetimi katmanları ve servis seçimi

Yük dengeleyiciler çalıştıkları ağ katmanına göre ayrılır. Taşıma katmanında çalışanlar bağlantıları adres ve port bilgisine göre dağıtır; çok hızlıdır ama istek içeriğini görmez. Uygulama katmanında çalışanlar ise HTTP isteğinin içini okuyabilir; yola, alan adına ya da başlığa göre farklı arka uçlara yönlendirme yapabilir, çerezle oturum yapışkanlığı sağlayabilir. Daha geniş ölçekte, alan adı çözümleme (DNS) katmanında yapılan yönlendirme ise kullanıcıya hangi adresin döndürüleceğine karar verir.

Microsoft Azure ortamında bu görev dağılımı genel olarak şöyledir: • Application Gateway: Tek bir bölge içinde uygulama katmanında çalışan yük dengeleyicidir. Yol tabanlı yönlendirme, çok siteli barındırma, TLS sonlandırma ve Web Application Firewall (WAF) gibi işlevleri bir arada sunar. • Azure Front Door: Küresel ölçekte çalışan giriş noktasıdır. Kullanıcıya en yakın noktadan karşılar, birden fazla bölgedeki arka uçlar arasında yük dağıtır, bölge arızasında trafiği başka bölgeye yönlendirir ve içerik önbellekleme yeteneği sunar. • Yük dengeleyici (Azure Load Balancer): Daha düşük katmanda, hızlı ve yüksek hacimli bağlantı dağıtımı içindir.

Amazon Web Services tarafında DNS temelli yönlendirme için Amazon Route 53 kullanılır. Uygulama ve ağ düzeyinde yük dengeleme ise ayrı yük dengeleyici hizmetleri tarafından yapılır. Seçimin temel ölçütleri şunlardır: trafik tek bölgede mi, çok bölgede mi; istek içeriğine göre karar verilecek mi; uygulama güvenlik duvarı gerekiyor mu; dünya çapındaki kullanıcı yakınlığı önemli mi; DNS düzeyinde bir yönlendirme yeterli mi?

Yük dağıtım algoritmaları ve sağlık denetimi

Dağıtıcı isteği hangi örneğe vereceğini bir algoritmayla belirler. En basit yöntem sıralı dağıtımdır (round robin): istekler sırayla örneklere verilir. Örneklerin kapasitesi farklıysa ağırlıklı dağıtım kullanılır; güçlü örnek daha fazla istek alır. En az bağlantı yöntemi, o an en az aktif bağlantısı olan örneği seçer ve uzun süren isteklerin olduğu uygulamalarda dengeyi daha iyi korur. İstemci adresine göre karma (hash) yöntemi ise aynı istemcinin hep aynı örneğe gitmesini sağlar.

Oturum yapışkanlığı (session affinity), bir kullanıcının ardışık isteklerinin aynı örneğe gitmesini istemektir. Uygulama oturum verisini örneğin belleğinde tutuyorsa gerekli olabilir; ancak yük dağılımını bozar ve örnek arızasında oturumu kaybettirir. Uzun vadede oturum verisini ortak bir depoya taşımak, yapışkanlığa bağımlılığı azaltır.

Sağlık denetimi, dağıtıcının hangi örneğin sağlıklı olduğunu öğrendiği mekanizmadır. Dağıtıcı belirli aralıklarla örneklere bir yoklama gönderir; yanıt gelmezse ya da beklenmeyen bir kod dönerse örneği havuzdan çıkarır. İyi yapılandırma için yoklama yolu uygulamanın gerçek sağlığını yansıtmalıdır. Yalnızca ana sayfanın açılmasına bakan bir denetim, veritabanı bağlantısı koptuğunda bile örneği sağlıklı gösterebilir. Çok sık yoklama gereksiz yük bindirir, çok seyrek yoklama ise arızanın geç fark edilmesine yol açar.

DNS ile trafik yönlendirme nasıl çalışır?

DNS tabanlı yönlendirmede dağıtım, kullanıcı isteği ulaşmadan önce, alan adının çözümlendiği anda yapılır. Aynı alan adı için birden fazla kayıt tanımlanır ve yönlendirme politikası, çözümleyici sorgusuna hangi yanıtın döneceğini belirler. Bu yöntem hafif ve ucuzdur; uygulama içeriğine bakmaz, yalnızca adresi verir.

Sık kullanılan politikalar şunlardır: • Basit yönlendirme: Alan adı tek bir kaynağa ya da birkaç adrese çözülür. • Ağırlıklı yönlendirme: Trafiğin belirli bir oranı bir kaynağa gönderilir; yeni sürümü küçük bir kullanıcı grubunda denemek için uygundur. • Gecikme tabanlı yönlendirme: Kullanıcı, kendisine en az gecikmeyle ulaşabilen bölgeye yönlendirilir. • Coğrafi yönlendirme: Kullanıcının konumuna göre farklı yanıt verilir; yasal gereklilikler ya da yerel içerik için kullanılır. • Yedekleme (failover) yönlendirmesi: Birincil kaynak sağlık denetiminden geçemezse trafik yedeğe aktarılır.

DNS yönlendirmesinin sınırı, çözümleme sonuçlarının istemci ve ara sunucularda önbelleğe alınmasıdır. Yaşam süresi (TTL) uzun tutulursa bir yönlendirme değişikliği geç etkili olur; çok kısa tutulursa sorgu sayısı artar. Yedekleme senaryosu planlanırken bu gecikme hesaba katılmalıdır. Bu nedenle kritik uygulamalarda DNS yönlendirmesi çoğunlukla uygulama katmanındaki bir dağıtıcıyla birlikte kullanılır.

Güvenlik, TLS ve alan adı yönetimi

Dağıtıcı, uygulamanın önünde durduğu için güvenlik denetimlerinin doğal yerleridir. Şifreleme sonlandırma (TLS termination), istemciden gelen şifreli bağlantıyı dağıtıcıda açar ve arka uca ya şifresiz ya da yeniden şifrelenmiş olarak iletir. Sertifikaların tek noktada yönetilmesi işi kolaylaştırır. Ancak veri hassassa dağıtıcı ile arka uç arasındaki hattın da şifrelenmesi gerekebilir, bu yaklaşıma uçtan uca şifreleme denir.

Web Application Firewall, uygulama katmanındaki yaygın saldırı örüntülerini süzer: enjeksiyon denemeleri, betik çalıştırma girişimleri, bilinen kötü amaçlı istemciler. Kural kümeleri hazır gelir ancak uygulamaya göre ince ayar gerekir. İlk aşamada kuralları yalnızca kayıt tutma modunda çalıştırıp yanlış alarmları ayıklamak, doğrudan engelleme moduna geçmekten daha güvenlidir.

Sertifika ve alan adı yönetiminde sık görülen sorun, süresi dolan sertifikanın fark edilmemesidir. Otomatik yenileme ve süre bitimi uyarıları bu riski azaltır. Ayrıca alan adının doğru bir şekilde dağıtıcıya yönlendirilmesi, alt alan adlarının ve özel alan adlarının sertifikalarla eşleşmesi ve yönlendirme kurallarının tutarlılığı, yapılandırmanın temizliği için denetlenmelidir.

İzleme, test ve sorun giderme

Yük dengeleyici yapılandırması kurulduktan sonra çalıştığı varsayılmaz; sınanır. Yük testi, beklenen trafik altında dağılımın dengeli olup olmadığını gösterir. Arıza testi, bir örnek kapatıldığında trafiğin sağlam örneklere akıp akmadığını doğrular. Bölge devri testi, birincil bölge devre dışı kaldığında yedeğin devreye girdiğini ve kullanıcıların bunu ne kadar sürede fark ettiğini ölçer. Bu testler planlı bir pencere içinde yapılmazsa gerçek arıza anında ilk kez denenmiş olur.

İzlemede dikkat edilecek ölçütler arasında istek sayısı, hata kodlarının dağılımı, yanıt süresi, sağlıksız örnek sayısı ve arka uç yanıt gecikmesi vardır. Hata kodları arasında dağıtıcının kendisinden gelen hatalar ile arka uçtan gelen hataların ayrılması, sorunun nerede olduğunu hızlıca gösterir.

Sık karşılaşılan sorunlar şunlardır: sağlık yoklamasının yanlış yola bakması nedeniyle tüm örneklerin sağlıksız görünmesi, güvenlik kuralının dağıtıcıdan arka uca gelen yoklamayı engellemesi, sertifika adının alan adıyla uyuşmaması, yapışkan oturum yüzünden yükün tek örnekte yığılması ve DNS önbelleği yüzünden devrin geç gerçekleşmesi. Sorun gidermede önce sağlık durumu, sonra yönlendirme kuralı, sonra ağ ve güvenlik kuralları sırasıyla incelenir.

Bu beceriyi Mindset programlarında nerede çalışırsınız?

Mindset'in Azure Front Door ve Application Gateway ile Trafik Yönetimi eğitimi, Azure tarafında şu başlıkları işler: trafik yönetimi katmanları ve servis seçimi, Application Gateway kurulumu ve yönlendirme, Web Application Firewall politikaları, Azure Front Door ile küresel yük dengeleme, TLS, sertifika ve alan adı yönetimi, izleme, test ve sorun giderme.

Amazon Route 53 ile DNS ve Trafik Yönlendirme eğitimi ise DNS tarafını kapsar: ad çözümleme temelleri ve bölge yönetimi, kayıt yönetimi ve takma ad kullanımı, yönlendirme politikaları, sağlık kontrolleri ve devir teslim, hibrit çözümleme ve özel ağlar, güvenlik, izleme ve tatbikat. Bu eğitimler birlikte düşünüldüğünde, DNS düzeyinde yönlendirme ile uygulama düzeyinde yük dengeleme arasındaki iş bölümü de görünür olur.

İlgili Mindset programı

Azure Front Door ve Application Gateway ile Trafik Yönetimi

Sık sorulanlar

Sık sorulan sorular

Yük dengeleyici ile ters vekil sunucu (reverse proxy) aynı şey midir?

Birbirine yakın ama aynı değil. Ters vekil, istemci ile sunucu arasında durup istekleri ileten, önbellekleme ve şifreleme sonlandırma gibi işleri yapabilen bileşendir. Yük dengeleyici ise isteği birden fazla örnek arasında dağıtmaya odaklanır. Pratikte birçok ürün bu rolleri birlikte yürütür, bu yüzden terimler sıkça iç içe kullanılır.

DNS tabanlı yönlendirme tek başına yük dengeleme için yeterli mi?

Basit senaryolarda yeterli olabilir, ancak önbellekleme nedeniyle değişiklikler gecikmeli yayılır ve DNS isteğin içeriğini görmez. Hızlı arıza devri, yola göre yönlendirme ya da güvenlik süzgeci gereken uygulamalarda, DNS yönlendirmesi uygulama katmanındaki bir dağıtıcıyla birlikte kurulur.

Application Gateway ile Front Door arasında nasıl seçim yapılır?

Ölçüt, trafiğin kapsamıdır. Uygulama tek bir bölgede çalışıyorsa ve bölge içi yönlendirme ile güvenlik duvarı gerekiyorsa Application Gateway yeterlidir. Kullanıcılar dünyanın farklı yerlerindeyse, birden fazla bölgeye yayılan uygulama varsa ya da küresel devir isteniyorsa Front Door öne çıkar. Birlikte de kullanılabilirler.

Sağlık denetimi neden yanlış alarm verebilir?

Yoklama yolu uygulamanın gerçek bağımlılıklarını yansıtmıyorsa ya da yoklama hedefi güvenlik kuralıyla engelleniyorsa dağıtıcı sağlıklı örneği sağlıksız görebilir. Ayrıca yoklama zaman aşımı uygulamanın yavaş yanıt verdiği anlara göre çok kısa seçilirse geçici gecikmeler örneğin gereksiz yere havuzdan çıkmasına yol açar.

Sürüm geçişlerinde yük dengeleme nasıl kullanılır?

Yeni sürüm küçük bir trafik oranıyla denenebilir; ağırlıklı yönlendirme bunun için kullanılır. Sorun görülürse oran sıfırlanır, sorun yoksa kademeli olarak artırılır. Bir başka yaklaşımda yeni sürüm ayrı bir havuzda hazırlanır ve hazır olduğunda trafik tek adımda ona çevrilir, eski havuz geri dönüş için bir süre saklanır.

Yük Dengeleme Nasıl Yapılandırılır: Trafik Rehberi