Yük dengeleme seçenekleri

Yük dengeleme terimi, işlemenin birden çok bilgi işlem kaynağı arasında dağılımını ifade eder. Kaynak kullanımını iyileştirmek, aktarım hızını en üst düzeye çıkarmak, yanıt süresini en aza indirmek ve tek bir kaynağı aşırı yüklemekten kaçınmak için yük dengelemesi yapılır. Yük dengeleme ayrıca bir iş yükünü yedekli bilgi işlem kaynakları arasında paylaşarak kullanılabilirliği artırabilir.

Azure, iş yüklerinizi birden çok bilgi işlem kaynağına dağıtmak için kullanabileceğiniz çeşitli yük dengeleme hizmetleri sağlar. Bu hizmetler Azure API Management, Azure Application Gateway, Azure Front Door, Azure Load Balancer ve Azure Traffic Manager'dır.

Bu makalede, iş yükünüzün ihtiyaçlarına uygun bir yük dengeleme çözümü belirlemenize yardımcı olacak önemli noktalar açıklanmaktadır.

Azure yük dengeleme hizmetleri

Yük dengeleme özelliklerine sahip aşağıdaki ana yük dengeleme hizmetleri ve hizmeti Azure'da kullanılabilir:

  • API Management , HTTP(S) API'lerini yayımlamak, korumak, dönüştürmek, korumak ve izlemek için kullanabileceğiniz bir yönetilen hizmettir. API'leriniz için bir ağ geçidi sağlar ve belirlenen yük dengeli arka uç havuzundaki düğümler arasında trafiği yük dengelemek için yapılandırılabilir. Üç farklı yük dengeleme yöntemi arasından seçim yapabilirsiniz: dönüşümlü, ağırlıklı ve öncelik tabanlı.

    Önemli

    API Management geleneksel, genel amaçlı bir yük dengeleyici değildir. Http API'leri için özel olarak tasarlanmıştır ve yük dengeleme özellikleri daha geniş API yönetimi işlevleri içinde isteğe bağlıdır. Api Management, belirli API barındırma topolojileri için yük dengeleme özellikleri sağladığından eksiksizlik için bu makalede yer almaktadır. Ancak birincil amacı yük dengeleme yerine API ağ geçidi işlevselliğidir.

  • Application Gateway bir ara sunucu yük dengeleyicidir. Yönetilen hizmet olarak uygulama teslim denetleyicisi işlevselliği sağlar. Çeşitli Katman 7 yük dengeleme, yönlendirme, TLS boşaltma ve web uygulaması güvenlik duvarı (WAF) işlevleri sunar. Sonlandırıcı bir yük dengeleyici olarak TCP ve TLS protokolleri için Katman 4 yük dengeleme de sunar. Application Gateway'i kullanarak trafiği ortak ağ alanından bir bölge içindeki özel ağ alanında barındırılan web sunucularınıza geçirebilirsiniz.

  • Kapsayıcılar için Application Gateway , Kubernetes kümesinde çalışan iş yükleri için bir uygulama katmanı (katman 7) yük dengeleme ve dinamik trafik yönetimi ürünüdür.

  • Azure Front Door , web uygulamaları için genel yük dengeleme ve site hızlandırma sağlayan bir uygulama teslim ağıdır. Performansı ve yüksek kullanılabilirliği geliştirmek için uygulamanız için Güvenli Yuva Katmanı (SSL) boşaltma, yol tabanlı yönlendirme, hızlı yük devretme ve önbelleğe alma gibi Katman 7 özellikleri sağlar.

  • Load Balancer , tüm Kullanıcı Veri Birimi Protokolü (UDP) ve İletim Denetimi Protokolü (TCP) protokolleri arasında gelen ve giden trafiği işleyen bir Katman 4 hizmetidir. Yüksek performans ve ultra düşük gecikme süresi için tasarlanmıştır. Çözümünüzün yüksek oranda kullanılabilir olmasını sağlarken saniyede milyonlarca isteği işleyecek şekilde derlenir. Yük dengeleyici, farklı kullanılabilirlik bölgeleri arasında yüksek kullanılabilirlik sağlayan alanlar arası yedeklidir. Hem bölgesel dağıtım topolojisi hem de bölgeler arası topolojiyi destekler.

  • Traffic Manager , yüksek kullanılabilirlik ve yanıt süresi sağlarken trafiği genel Azure bölgelerindeki hizmetlere en iyi şekilde dağıtmanızı sağlayan Etki Alanı Adı Sistemi (DNS) tabanlı bir trafik yük dengeleyicidir. Traffic Manager DNS tabanlı bir yük dengeleme hizmeti olduğundan yalnızca etki alanı düzeyinde yük dengelemesi yapılır. Bu nedenle, Azure Front Door kadar hızlı bir şekilde yük devredemiyor. DNS önbelleğe alma ve DNS yaşam süresi (TTL) değerlerini yoksayan sistemler genellikle bu gecikmeye neden olur.

Uyarı

Azure Container Apps veya Azure Kubernetes Service (AKS) gibi kümeleme teknolojileri yük dengeleme yapıları içerir. Bu yapılar çoğunlukla kendi küme sınırları kapsamında çalışır. Hazırlık durumu ve sağlık durumu kontrollerine göre trafiği kullanılabilir uygulama örneklerine yönlendirir. Bu makale, bu yük dengeleme seçeneklerinin tümünü kapsamaz.

Hizmet kategorileri

Azure yük dengeleme hizmetleri iki boyuta göre kategorilere ayırılabilir: genel ve bölgesel ve HTTP(S) ile HTTP(S) olmayan hizmetler.

Küresel ve bölgesel karşılaştırma

  • Küresel: Bu yük dengeleme hizmetleri trafiği bölgesel arka uçlar, bulutlar veya hibrit şirket içi hizmetler arasında dağıtır. Kullanıcı trafiğini genel olarak kullanılabilir arka uçlara yönlendiren tek bir denetim düzlemi sağlar. Bu hizmetler, kullanılabilirliği ve performansı en üst düzeye çıkarmak için hizmet güvenilirliği veya performansındaki değişikliklere tepki gösterir. Bunları farklı bölgelerde veya coğrafyalarda barındırılan uygulama damgaları, uç noktalar veya ölçek birimleri arasında yük dengelemesi yapan sistemler olarak düşünebilirsiniz.

  • Bölgesel: Bu yük dengeleme hizmetleri, sanal ağlar içindeki trafiği bir bölgedeki sanal makineler (VM) veya bölgesel ve alanlar arası yedekli hizmet uç noktaları arasında dağıtır. Bunları sanal ağdaki bir bölgedeki VM'ler, kapsayıcılar veya kümeler arasında yük dengelemesi sağlayan sistemler olarak düşünebilirsiniz.

HTTP(S) ve HTTP dışı

  • HTTP(S): Bu yük dengeleme hizmetleri yalnızca HTTP(S) trafiğini kabul eden Katman 7 yük dengeleyicilerdir. Web uygulamaları veya diğer HTTP(S) uç noktaları için tasarlanmıştır. Özellikler arasında SSL offload, WAF, yol tabanlı yük dengeleme ve oturum bağlılığı bulunur.

  • HTTP olmayanlar: Bu yük dengeleme hizmetleri Katman 4 TCP ve UDP hizmetlerini veya DNS tabanlı yük dengeleme hizmetlerini içerir.

Aşağıdaki tabloda Azure yük dengeleme hizmetleri özetlenmektedir.

Hizmet Genel veya bölgesel Önerilen trafik
API Yönetimi Bölgesel veya küresel Yalnızca HTTP(S) API'leri
Application Gateway Bölgesel HTTP(S), TCP, & TLS
Kapsayıcılar için Application Gateway Bölgesel HTTP(S)
Azure Ön Kapı Global HTTP(S)
Yük Dengeleyici Bölgesel veya küresel Non-HTTP(S)
Trafik Yöneticisi Global Non-HTTP(S)

Uyarı

Traffic Manager ve Load Balancer, HTTP(S) dahil olmak üzere herhangi bir trafik türünü dağıtabilir. Ancak bu hizmetler Katman 7 özellikleri sağlamaz. Load Balancer'ın aksine Traffic Manager trafiği doğrudan işlemez. Traffic Manager, istemcileri uygun uç noktalara yönlendirmek için DNS kullanır.

Senaryonuz için bir yük dengeleme çözümü seçin

Bir yük dengeleme çözümü seçerken aşağıdaki faktörleri göz önünde bulundurun:

  • Trafik türü: Bunun bir web HTTP(S) uygulaması olup olmadığını ve genel kullanıma yönelik mi yoksa özel bir uygulama mı olduğunu belirleyin.

  • Küresel ve bölgesel karşılaştırma: Tek bir sanal ağ içindeki VM'leri veya kapsayıcıları, yük dengeleme ölçek birimlerini veya bölgeler arasındaki dağıtımları ya da her ikisini birden yük dengelemeniz gerekip gerekmediğini netleştirin.

  • Kullanılabilirlik:Hizmet düzeyi sözleşmesini (SLA) gözden geçirin.

  • Masraf: Hizmetin maliyetini ve bu hizmet üzerinde oluşturulan bir çözümü yönetmenin operasyonel maliyetini hesaba katın. Daha fazla bilgi için bkz. Azure fiyatlandırması.

  • Özellikler ve sınırlar: Her hizmet tarafından desteklenen özellikleri ve geçerli hizmet sınırlarını belirleyin.

Aşağıdaki akış grafiği, uygulamanız için bir yük dengeleme çözümü seçmenize yardımcı olur. Akış grafiği, bir öneriye ulaşmak için bir dizi önemli karar verme ölçütünde size yol gösterir.

Tip

Azure Copilot'ı, burada açıklanan akış grafiğine benzer şekilde bu kararda size yol göstermesine yardımcı olması için kullanabilirsiniz. Daha fazla bilgi için bkz. Microsoft Azure Copilot kullanarak Azure Load Balancer ile çalışma.

Her uygulamanın basit karar ağaçlarında yakalanmayan benzersiz gereksinimleri vardır. Bu akış grafiğini veya Copilot önerisini başlangıç noktası olarak değerlendirin. Ardından daha ayrıntılı bir değerlendirme gerçekleştirin.

Azure'da yük dengelemeye yönelik bir karar ağacını gösteren diyagram.

Görüntüde, her yolun bir yük dengeleme veya uygulama teslim çözümüne yol açtığı dallanmış akış çizelgesi gösterilir. Birinci yol Web uygulamasında (HTTP/HTTPS) başlar, "Hayır" okunundan geçerek İnternet'e yönelik uygulamaya, ardından Yük Dengeleyici'ye gider. İkinci yol, Web uygulamasında (HTTP/HTTPS) başlar, Evet oku aracılığıyla İnternet'e yönelik uygulamaya, ardından Hayır oku aracılığıyla birden çok bölgede Genel/dağıtılan'a gider ve Application Gateway'de biter. Üçüncü yol, Web uygulamasında (HTTP/HTTPS) başlar, Evet aracılığıyla İnternet'e yönelik uygulamaya, ardından Evet aracılığıyla birden çok bölgede Genel/dağıtılmış bölümüne, ardından Evet aracılığıyla performans hızlandırmaya ihtiyacınız var mı bölümüne gider ve Azure Front Door'da biter. Dördüncü yol, Web uygulamasında (HTTP/HTTPS) başlar, Evet aracılığıyla İnternet'e yönelik uygulamaya, ardından Evet aracılığıyla birden çok bölgede Genel/dağıtılmış bölümüne, Ardından Hayır aracılığıyla performans hızlandırmaya mı ihtiyacınız var? bölümüne, ardından Evet aracılığıyla istek başına SSL boşaltma veya uygulama katmanı işlemeye ihtiyacınız var mı bölümüne gider ve Azure Front Door ve Application Gateway'de biter. Beşinci yol, Web uygulamasında (HTTP/HTTPS) başlar, Evet aracılığıyla İnternet'e yönelik uygulamaya, ardından Evet aracılığıyla birden çok bölgede Genel/dağıtılmış bölümüne, Ardından Hayır aracılığıyla performans hızlandırmaya mı ihtiyacınız var? bölümüne, ardından Evet aracılığıyla istek başına SSL yük boşaltma veya uygulama katmanı işlemeye ihtiyacınız var mı bölümüne gider ve yalnızca API barındırma için Azure Front Door ve API Management'ta biter. Altıncı yol, Web uygulamasında (HTTP/HTTPS) başlar, Evet aracılığıyla İnternete bakan uygulamaya, ardından Evet aracılığıyla Genel/birden çok bölgede dağıtılmış uygulamaya, ardından Hayır aracılığıyla Performans hızlandırmaya mı ihtiyacınız var?, ardından Hayır aracılığıyla istek başına SSL yük boşaltma veya uygulama katmanı işlemesine mi ihtiyacınız var?, ardından Barındırma türüne gider ve PaaS için Azure Front Door'da, IaaS VM'leri için Azure Front Door ve Yük Dengeleyici'de veya AKS için Azure Front Door ve Uygulama Ağ Geçidi giriş denetleyicisinde biter. Her yol, uygulama kapsamı, genel erişim, performans gereksinimleri, SSL gereksinimleri ve barındırma ortamına göre seçilen bir veya daha fazla Azure hizmetiyle (Load Balancer, Application Gateway, Azure Front Door veya API Management) sona erer.

İş yükünüz yük dengeleme gerektiren çeşitli hizmetler içerdiğinde, her hizmeti ayrı ayrı değerlendirin. Etkili bir kurulum genellikle birden fazla yük dengeleme çözümü türü kullanır. Bu çözümleri, benzersiz işlevlere veya rollere hizmet etmek için iş yükünüzün mimarisinde farklı yerlere dahil edebilirsiniz.

Tanımlar

  • Web uygulaması (HTTP/HTTPS), aşağıdaki özelliklerden en az birini gerektiren bir uygulamayı ifade eder:

    • URL yolu gibi Katman 7 verileri için yönlendirme kararı verir
    • HTTP isteği gövdesi gibi iletişim yükünün denetimini destekler
    • Aktarım Katmanı Güvenliği (TLS) işlevselliğini işler
  • HTTP olmayan uygulama , Katman 4 (TCP veya UDP protokolleri) veya Aktarım Katmanı Güvenliği (TLS protokolü) desteği gerektiren bir uygulamayı ifade eder. Hem Azure Load Balancer hem de Azure Application Gateway bu tür trafiği işlemek için özellikler sağlar. Ancak, özellikleri ve davranışları bu karşılaştırma makalesinde açıklandığı gibi farklılık gösterir.

  • İnternet'e yönelik uygulama , İnternet'ten genel olarak erişilebilen bir uygulamayı ifade eder. En iyi uygulamalardan biri olarak, uygulama sahipleri kısıtlayıcı erişim ilkeleri uygular veya WAF ve dağıtılmış hizmet reddi koruması gibi teklifler ayarlayarak uygulamayı korurlar.

  • Genel veya birden çok bölgeye dağıtılan yük dengeleyicinin, trafiği genel olarak dağıtılmış uygulamanızdaki genel uç noktalara yönlendiren tek, yüksek oranda kullanılabilir bir denetim düzlemi olması gerektiği anlamına gelir. Bu yapılandırma, bölgeler arasında etkin-etkin veya aktif-pasif topolojileri destekleyebilir.

    Uyarı

    Birden çok bölgeye yayılan arka uçlar arasında yük dengelemesi yapmak ve tek bir denetim düzlemi üzerinden yönlendirmeyi denetlemek için Application Gateway gibi bölgesel bir hizmet kullanabilirsiniz. Bölgeler arası özel bağlantı, genel sanal ağ eşlemesi ve hatta diğer bölgelerdeki hizmetlerin genel IP adresleri kullanılarak çalışır.

    Bu senaryo, bu kararın birincil noktası değildir.

    Bölgesel bir kaynağın genel olarak dağıtılmış arka uçlar için yönlendirici olarak kullanılması bölgesel tek bir hata noktasına neden olur. Trafik başka bir bölgeye gitmeden önce bir bölge üzerinden yönlendirildiği ve sonra tekrar geri döndüğü için ayrıca ek gecikmeye neden olur.

  • Hizmet olarak platform (PaaS), VM'leri veya ağ kaynaklarını yönetmeye gerek kalmadan uygulamanızı dağıtabileceğiniz yönetilen bir barındırma ortamı sağlar. Bu durumda PaaS, bir bölge içinde tümleşik yük dengeleme sağlayan hizmetleri ifade eder. Daha fazla bilgi için bkz. Ölçeklenebilirlik için işlem hizmeti seçme.

  • AKS , kapsayıcılı uygulamaları dağıtmanızı ve yönetmenizi sağlar. AKS sunucusuz Kubernetes, tümleşik bir sürekli tümleştirme ve sürekli teslim (CI/CD) deneyimi ve kurumsal düzeyde güvenlik ve idare sağlar. Bu AKS iş yükleri AKS arka uçları olarak adlandırılır. Daha fazla bilgi için bkz. AKS mimarisi tasarımı.

  • Hizmet olarak altyapı (IaaS), ilgili ağ ve depolama bileşenlerinin yanı sıra ihtiyacınız olan VM'leri sağladığınız bir bilgi işlem seçeneğidir. IaaS uygulamaları, Load Balancer kullanarak sanal ağ içinde iç yük dengeleme gerektirir.

  • Uygulama katmanı işleme , bir sanal ağ içindeki özel yönlendirmeyi ifade eder. Örnek olarak VM'ler veya sanal makine ölçek kümeleri arasında yol tabanlı yönlendirme verilebilir. Daha fazla bilgi için bkz. Azure Front Door'un arkasında Application Gateway dağıtma.

  • Yalnızca API'ler , web uygulaması olmayan HTTP(S) API'lerinin yük dengeleme gereksinimini ifade eder. Bu durumda, iş yükünüz ağ geçidi özellikleri için API Management'ı zaten kullanıyorsa, trafiği başka bir mekanizma aracılığıyla yük dengelemesi olmayan API arka uçlarına yönlendirmek için isteğe bağlı yük dengeleme özelliğini göz önünde bulundurabilirsiniz. İş yükünüz API Management kullanmıyorsa yalnızca yük dengeleme için kullanmayın.

  • İçerik teslim ağı (CDN), coğrafi olarak dağıtılmış sunucu ağı aracılığıyla web sayfası yükleme sürelerini hızlandıran bir özelliği ifade eder. CDN, hedef ağa hızlandırılmış istemci ekleme için performans hızlandırma veya iyileştirilmiş iletişim noktası girişi sağlar. Azure Front Door bir içerik teslim ağıdır ve trafik hızlandırmayı da destekler. Mimaride Application Gateway ile veya Application Gateway olmadan her iki özelliğin de avantajlarından yararlanabilirsiniz.

  • Geçiş yük dengeleyici , bir istemcinin yük dengeleyicinin dağıtım algoritması tarafından seçilen bir arka uç sunucusuyla doğrudan bağlantı kurduğu bir yük dengeleyicidir.

  • Yük dengeleyiciyi sonlandırmak , bir istemcinin yük dengeleyici (ara sunucu) ile bağlantı kurduğu ve yük dengeleyiciden arka uç sunucusuna ayrı bir bağlantının başlatıldığı yerdir.

Dikkat edilmesi gereken diğer noktalar

Her yük dengeleme hizmetinin dikkate almanız gereken özellik desteği veya uygulama ayrıntıları da vardır. Yük dengeleme senaryonuzla ilgili olabilecek bazı örnekler aşağıda verilmiştir:

  • WebSockets desteği
  • Sunucu tarafından gönderilen olaylar desteği
  • HTTP/2 desteği (hem alma hem de arka uç düğümlerine iletme)
  • Yapışkan oturum desteği
  • Arka uç düğümü sistem durumu izleme mekanizması
  • Sağlıksız düğüm algılama ile yönlendirme mantığından kaldırma arasındaki istemci deneyimi veya gecikme

Yük dengeleyicinize kapasite boşaltma

Azure'daki bazı yük dengeleme seçenekleri, özellikleri arka uç düğümlerinden yük dengeleyiciye boşaltmanıza olanak sağlar. Bu seçenekler Gateway Offloading bulut tasarım kalıbını uygular. Örneğin, Application Gateway TLS'yi boşaltabilir, bu nedenle iş yükünüzün genel kullanıma yönelik sertifikası arka uç düğümleri yerine tek bir konumda yönetilir. API Management, JSON Web Belirteci (JWT) erişim belirteçlerindeki talepleri doğrulama gibi bazı temel yetkilendirme sorunlarını boşaltacak şekilde yapılandırılabilir. Çapraz kesme sorunlarını boşaltmak arka uçlarınızdaki mantığın karmaşıklığını azaltmaya ve bunların performansını artırmaya yardımcı olabilir.

Örnekler

Aşağıdaki tabloda, çözümde kullanılan yük dengeleme hizmetlerini temel alan çeşitli makaleler listelenmektedir.

Hizmetler Makale Açıklama
Yük Dengeleyici Kullanılabilirlik bölgelerindeki VM’lerde yük dengeleme Uygulamalarınızın ve verilerinizin olası bir hataya veya veri merkezinin tamamının kaybına karşı korunmasına yardımcı olmak için kullanılabilirlik alanları arasında VM'lerin yük dengelemesini yapın. Alanlar arası yedeklilik sayesinde bir veya daha fazla kullanılabilirlik alanı başarısız olabilir ve bölgedeki bir bölge sağlıklı kaldığı sürece veri yolu devam eder.
Trafik Yöneticisi Yüksek kullanılabilirlik ve olağanüstü durum kurtarma için oluşturulmuş çok katmanlı web uygulaması Yüksek kullanılabilirlik ve olağanüstü durum kurtarma için oluşturulmuş dayanıklı çok katmanlı uygulamalar dağıtın. Birincil bölge kullanılamaz duruma gelirse Traffic Manager ikincil bölgeye yük devreder.
Uygulama Geçidi ve API Yönetimi API Management iniș bölgesi mimarisi WAF ve TLS'yi boşaltmak için Application Gateway'i kullanın. API arka uçları arasında yük dengelemesi yapmak için API Management'ı kullanın.
Traffic Manager ve Application Gateway Traffic Manager ve Application Gateway ile çok bölgeli yük dengeleme HTTP(S) ve HTTP olmayan protokoller için WAF ve Azure Güvenlik Duvarı aracılığıyla katmanlı trafik denetimi ile birden çok Azure bölgesinde dayanıklı çok katmanlı uygulamalar dağıtın.

Sonraki Adımlar