Aracılığıyla paylaş


Azure Load Balancer'da güvenilirlik

Azure Load Balancer, gelen trafiği iyi durumdaki hizmet örnekleri arasında dağıtan bir katman 4 (TCP/UDP) yük dengeleme hizmetidir. Load Balancer, uygulamalarınıza ultra düşük gecikme süresiyle yüksek kullanılabilirlik ve ağ performansı sağlar.

Azure'ı kullandığınızda güvenilirlik paylaşılan bir sorumluluktır. Microsoft, dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sunar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.

Bu makalede, Load Balancer'ın geçici hatalar, kullanılabilirlik alanı kesintileri ve bölge kesintileri gibi çeşitli olası kesintilere ve sorunlara karşı nasıl dayanıklı hale getirilmeye başlandığı açıklanmaktadır. Ayrıca Load Balancer hizmet düzeyi sözleşmesi (SLA) hakkındaki bazı önemli bilgileri de vurgular.

Önemli

Genel çözümünüzün güvenilirliği, yük dengeleyicinizin trafiği yönlendirdiği Azure sanal makineleri (VM' ler) veya Azure sanal makine ölçek kümeleri gibi arka uç örneklerinin (sunucuların) yapılandırmasına bağlıdır.

Arka uç örnekleriniz bu makalenin kapsamında değildir, ancak kullanılabilirlik yapılandırmaları uygulamanızın dayanıklılığını doğrudan etkiler. Her hizmetin güvenilirlik gereksinimlerinizi nasıl desteklediğini anlamak için çözümünüzdeki tüm Azure hizmetlerinin güvenilirlik kılavuzlarını gözden geçirin. Arka uç örneklerinizin de yüksek kullanılabilirlik ve alanlar arası yedeklilik için yapılandırıldığından emin olarak, uygulamanız için uçtan uca güvenilirlik elde edebilirsiniz.

Üretim dağıtımı önerileri

Azure Well-Architected Framework güvenilirlik, performans, güvenlik, maliyet ve operasyonlar hakkında öneriler sağlar. Bu alanların birbirini nasıl etkilediğini anlamak ve güvenilir bir Load Balancer çözümüne katkıda bulunmak için bkz. Azure Well-Architected Framework'te Load Balancer için mimari en iyi yöntemleri.

Güvenilirlik mimarisine genel bakış

Yük dengeleyici genel veya iç olabilir. Genel yük dengeleyici, genel IP adresi kaynağı üzerinden İnternet'ten gelen trafiği kabul eder. İç yük dengeleyiciye yalnızca sanal ağınızda ve sanal ağa bağladığınız diğer ağlarda erişilebilir.

Her yük dengeleyici aşağıdakiler dahil olmak üzere birden çok bileşenden oluşur:

  • Trafiği alan ön uç IP yapılandırmaları. Genel yük dengeleyici, trafiği genel IP adresi üzerinden alır. İç yük dengeleyici, sanal ağınızdaki bir IP adresine trafik alır.
  • Uygulamanızı çalıştıran tek tek VM'ler gibi trafik alabilen arka uç örnekleri koleksiyonu içeren arka uç havuzları.
  • Bir ön uçtan gelen trafiğin arka uç havuzuna nasıl dağıtılacağını tanımlayan yük dengeleme kuralları.
  • Arka uç örneklerinin kullanılabilirliğini izleyen sistem durumu testleri.

Load Balancer'ın nasıl çalıştığı hakkında daha fazla bilgi edinmek için bkz. Load Balancer bileşenleri.

Genel olarak dağıtılan çözümler için, çözümünüzün farklı bölgesel dağıtımları arasında trafiği yönlendirmek için tasarlanmış özel bir genel yük dengeleyici türü olan genel yük dengeleyiciyi dağıtabilirsiniz. Genel yük dengeleyici tek bir anycast IP adresini sağlar. İstemci yakınlığı ve bölgesel sistem durumu temelinde trafiği en yakın iyi durumdaki bölgesel yük dengeleyiciye yönlendirir. Daha fazla bilgi için bkz. Bölge genelindeki hatalara dayanıklılık.

Geçici hatalara dayanıklılık

Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.

Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.

Load Balancer kullanırken, uygulamanızı etkileyen geçici hata riskini en aza indirmek için aşağıdaki en iyi yöntemleri göz önünde bulundurun:

  • Yeniden deneme mantığını uygulayın. İstemciler, üstel geri alma stratejileri de dahil olmak üzere geçici bağlantı hataları için uygun yeniden deneme mekanizmaları uygulamalıdır.

  • Durum yoklamalarını toleransla yapılandırın. Sağlık yoklamalarınızı, hızlı hata algılama ile geçici sorunlar sırasında olumsuz hatalı sonuçları önleme arasında denge sağlamak için yapılandırın.

  • SNAT bağlantı noktası ayırmasını takip edin. Giden bağlantılar için SNAT port tahsisini izleyin ve port yetersizliği nedeniyle geçici bağlantı hatalarını önlemek amacıyla giden kuralları yapılandırın.

Kullanılabilirlik alanı hatalarına dayanıklılık

Kullanılabilirlik alanları , bir Azure bölgesi içindeki veri merkezlerinin fiziksel olarak ayrı gruplarıdır. Bir bölge başarısız olduğunda hizmetler kalan bölgelerden birine devredilebilir.

Load Balancer, oluşturduğunuz her bir ön uç IP yapılandırmasını yapılandırarak bölge yedekli olarak dağıtılabilir. Alanlar arası yedekli ön uç IP yapılandırması, birden çok bölgedeki bağımsız altyapıdan aynı anda sunulur. Bu yapılandırma, bölge hatalarının yük dengeleyicinin trafik alma ve dağıtma yeteneğini etkilememesini sağlar.

Aşağıdaki diyagramda alanlar arası yedekli genel yük dengeleyici gösterilmektedir ve alanlar arası yedekli genel IP adresi oluşturularak yapılandırılır:

Alanlar arası yedekli genel yük dengeleyiciyi gösteren, alanlar arası yedekli genel IP adresi olan ve trafiği farklı kullanılabilirlik alanlarındaki üç farklı VM'ye yönlendiren diyagram.

Aşağıdaki diyagramda, benzer bir alanlar arası yedekli yapılandırma kullanan bir iç yük dengeleyici gösterilmektedir:

Alanlar arası yedekli iç yük dengeleyiciyi gösteren ve trafiği farklı kullanılabilirlik alanlarındaki üç farklı VM'ye yönlendiren diyagram.

Uyarı

Bölgesel yük dengeleyicileri dağıtabilirsiniz ancak tek bir bölgeye dağıtılan iş yükleri için bile her zaman alanlar arası yedekli yük dengeleyiciler kullanmanızı öneririz. Microsoft şu anda tüm genel IP adreslerini ve yük dengeleyicileri alanlar arası yedekli olacak şekilde geçiriyor.

Kullanılabilirlik alanı olmayan bölgelerde, yük dengeleyiciler, bölge yapılandırılmamış bir ön uç yapılandırması kullanılarak bölgesel veya bölgesel olmayan bir yapılandırmada oluşturulur. Bölgede kesinti yaşanırsa, bölgesel olmayan yük dengeleyiciler kapalı kalma süresiyle karşılaşabilir.

Backend örnekleri ve kullanılabilirlik bölgeleri

Arka uç örneklerinizin kullanılabilirlik alanı yapılandırması, yük dengeleyicinizin ön uç IP yapılandırmasından bağımsızdır.

İlgili hizmeti, ait oldukları hizmetin güvenilirlik özelliklerine ve tasarladığınız mimariye uygun olarak yapılandırarak arka uç örneklerinizi bölgeler arasında dağıtın.

Uyarı

Arka uç örneklerinin birden çok kullanılabilirlik alanına dağıtılması dayanıklılık için gereklidir. Tüm arka uç örnekleri tek bir bölgede yer alıyorsa, alanlar arası yedekli yük dengeleyici kullansanız bile bu bölgedeki bir kesinti uygulamanızı kullanılamaz hale getirir.

Örneğin, VM'leri kullandığınızda, üretim iş yükleri için ortak bir tasarım yaklaşımı, 1, 2 ve 3. bölgelere birden çok bölgesel VM yerleştirerek bölge dayanıklılığını elde etmektir. Yük dengeleme için alanlar arası yedekli bir yük dengeleyici oluşturabilir ve bu VM'leri yük dengeleyici içinde arka uç örnekleri olarak yapılandırabilirsiniz. Yük dengeleyicinin sistem durumu yoklamaları, bölge konumlarından bağımsız olarak iyi durumda olmayan VM'leri otomatik olarak rotasyondan kaldırır.

Ancak, VM'lerinizi aynı kullanılabilirlik alanına dağıtmayı seçerseniz, yük dengeleyicinizde alanlar arası yedekli bir ön uç IP yapılandırması dağıtmaya devam edebilirsiniz. Bu yapılandırma aşağıdaki diyagramda gösterilmiştir:

Alanlar arası yedekli genel yük dengeleyiciyi gösteren ve trafiği bölge 1'deki iki farklı VM'ye yönlendiren diyagram.

Gereksinimler

Bölge desteği: Alanlar arası yedekli yük dengeleyiciler kullanılabilirlik alanlarını destekleyen herhangi bir bölgeye dağıtılabilir.

Maliyet

Kullanılabilirlik alanı yapılandırması, yük dengeleyicinin faturalandırılan şeklini değiştirmez. Faturalama, bölge yapılandırmasından bağımsız olarak yapılandırılan kuralların ve işlenen verilerin sayısına bağlıdır. Daha fazla bilgi için bkz. Azure Load Balancer fiyatlandırması.

Kullanılabilirlik alanı desteğini yapılandırma

Load Balancer ile çalışırken, ön uç IP yapılandırmasında kullanılabilirlik alanı desteğini ayarlarsınız.

  • Kullanılabilirlik alanı desteğiyle yeni bir yük dengeleyici oluşturun.

  • Mevcut yük dengeleyicinin kullanılabilirlik alanı yapılandırmasını değiştirin. Mevcut bir yük dengeleyicinin kullanılabilirlik alanı yapılandırmasını değiştirmek için ön uç IP yapılandırmasını değiştirmeniz gerekir. Bu yaklaşımı bir bölgeselden alanlar arası yedekli ön uç IP yapılandırmasına geçmek için kullanabilirsiniz. Üst düzey yaklaşım:

    1. İstenen kullanılabilirlik alanı yapılandırmasıyla yeni bir ön uç IP yapılandırması oluşturun.

      Genel yük dengeleyiciler için önce istediğiniz kullanılabilirlik alanı yapılandırmasını kullanan yeni bir genel IP adresi oluşturun. Ardından yük dengeleyicinizi yeniden yapılandırarak bu genel IP adresine başvuran bir ön uç IP yapılandırması ekleyin.

      İç yük dengeleyiciler için, istediğiniz kullanılabilirlik yapılandırmasıyla yeni bir ön uç IP yapılandırması eklemek için yük dengeleyicinizi yeniden yapılandırın. Bu adım, alt ağınızdan yeni bir özel IP adresi atar.

    2. Yük dengeleme kurallarınızı yeni ön uç IP yapılandırmasını kullanacak şekilde yeniden yapılandırın.

      Önemli

      Bu işlem, istemcilerinizi yeni ön uç IP adresine trafik gönderecek şekilde yeniden yapılandırmanızı gerektirir. İstemcilerinize bağlı olarak, işlem arıza süresi gerektirebilir.

    3. Eski ön uç IP yapılandırmasını kaldırın.

Tüm bölgeler sağlıklı olduğunda davranış

Bu bölümde, bir yük dengeleyici alanlar arası yedekli ön uç IP yapılandırması kullandığında ve tüm kullanılabilirlik alanları çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arasında trafik yönlendirme: Yük dengeleme herhangi bir kullanılabilirlik alanında gerçekleştirilebilir. Trafik, arka uç örneğinin hangi kullanılabilirlik alanında olduğu dikkate alınmadan arka uç havuzunda belirtilen iyi durumdaki arka uç örneklerine gönderilir.

  • Bölgeler arasında veri çoğaltma. Load Balancer, uygulama verilerini depolamayan veya çoğaltmayan bir ağ geçiş hizmetidir. Yük dengeleyicide oturum kalıcılığını etkinleştirseniz bile yük dengeleyicide hiçbir durum depolanmaz. Oturum kalıcılığı, istekleri aynı arka uç örneğine yönlendirmek için karma işlemini ayarlar. Ancak oturum kalıcılığı garanti değildir. Arka uç havuzunda değişiklik olduğunda, istemci isteklerinin dağıtımı yeniden hesaplanır. Bu işlem, durum depolanmadan veya eşitlenmeden gerçekleştirilir.

    Hizmet, bölgeler arasında eş zamanlı çoğaltma ile yapılandırma durumunu korur ve tüm bölgelerde yük dengeleme kurallarının, sağlık denetimi yapılandırmalarının ve arka uç havuzu üyeliğinin anında tutarlı olmasını sağlar.

Bölge hatası sırasındaki davranış

Bu bölümde, bir yük dengeleyici alanlar arası yedekli ön uç IP yapılandırması kullandığında ve kullanılabilirlik alanı kesintisi olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Algılama ve yanıt: Azure platformu, kullanılabilirlik alanındaki bir hatayı algılamaktan ve yanıtlamaktan sorumludur. Bölge yük devretmesini başlatmak için herhangi bir işlem yapmanız gerekmez.
  • Bildirim: Bir bölge kapatıldığında Microsoft sizi otomatik olarak bilgilendirmez. Ancak, tek bir kaynağın durumunu izlemek için Azure Kaynak Durumu'nı kullanabilir ve sorunları size bildirmek için Kaynak Durumu uyarıları ayarlayabilirsiniz. Azure Hizmet Durumu'nı , bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için de kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
  • Etkin istekler: Başarısız bölge içindeki tüm mevcut TCP/UDP akışları sıfırlanır ve istemci tarafından yeniden denenmeye ihtiyaç duyar. İstemcilerinizin otomatik yeniden denemeler de dahil olmak üzere yeterli geçici hata işleme uygulamasına sahip olması gerekir.

  • Beklenen veri kaybı: Durum bilgisi olmayan bir ağ hizmeti olarak Load Balancer uygulama verilerini depolamaz, bu nedenle yük dengeleyici katmanında veri kaybı olmaz.

  • Beklenen kapalı kalma süresi: Alanlar arası yedekli yük dengeleyiciler için kapalı kalma süresi beklenmez, çünkü yük dengeleyici sağlıklı bölgelerden çalışmaya devam eder.

    Ancak, hata bölgedeki işlem hizmetlerini etkilerse, etkilenen bölgede bulunan tüm VM'ler veya diğer kaynaklar kullanılamayabilir. Yük dengeleyicinin sistem durumu yoklamaları, bu hataları algılamak ve trafiği yük dengeleme algoritması ve arka uç örneklerinin sistem durumu temelinde başka bir bölgedeki alternatif örneklere yönlendirmek için tasarlanmıştır.

  • Trafik yönlendirme: Yük dengeleyici iyi durumdaki bölgelerden çalışmaya devam eder. Load Balancer hizmeti, bölge hataları sırasında aynı ön uç IP adresini tutar. Bu davranış, DNS güncelleştirmelerini uygulamanız veya istemcileri yeniden yapılandırmanız gerekmemesi anlamına gelir. Yeni bağlantılar, kalan iyi durumdaki bölgeler aracılığıyla otomatik olarak kurulur.

Bölge kurtarma

Kullanılabilirlik alanı kurtarıldığında Load Balancer normal işlemleri otomatik olarak sürdürür. Alanlar arası yedekli ön uç, kurtarılan bölgeden gelen trafiği diğer işletim bölgelerinin yanı sıra otomatik olarak sunmaya başlar. Yakası kurtarılan bölgeden sağlık denetimleri tekrar arka uç örneklerini değerlendirmeye başlar.

Bölge hatası bölgedeki işlem hizmetlerinizi de etkilediyse, kurtarılan bölgedeki arka uç örnekleri sistem durumu denetimlerini geçtikçe otomatik olarak iyi durumdaki arka uç havuzuna geri eklenir. Trafik dağıtımı, yük dengeleme algoritmasına ve arka uç örneklerinin sağlık durumuna göre tüm kullanılabilir bölgelerde yeniden dengelenir.

Bölge hataları için test

Azure platformu trafik yönlendirmesini, bölge azaltma yanıtını ve kurtarmayı yönetir. Bu özellikler tamamen yönetildiğinden kullanılabilirlik alanı hata işlemlerini başlatmanız veya doğrulamanız gerekmez.

Azure Chaos Studio'yu kullanarak tek bir bölgedeki VM'nin başarısızlığının benzetimini yapabilirsiniz. Chaos Studio, VM'ler için vm'leri kapatma da dahil olmak üzere yerleşik hatalar sağlar. Bölge hatalarının simülasyonunu yapmak ve yük devretme işlemlerinizi test etmek için bu özellikleri kullanabilirsiniz.

Bölge genelindeki hatalara dayanıklılık

Genel ve iç yük dengeleyiciler tek bir Azure bölgesine dağıtılır. Bölge kullanılamaz duruma gelirse, bu bölgedeki yük dengeleyicileriniz de kullanılamaz. Ancak Azure Load Balancer, Genel Load Balancer aracılığıyla yerel çok bölgeli destek sağlar ve bu da Azure bölgeleri arasında yük dengelemeye olanak tanır. Azure bölgeleri arasında yönlendirmek ve yük devretmek için diğer yük dengeleme hizmetlerini de dağıtabilirsiniz.

Genel yük dengeleyiciler

Global Load Balancer, istemcinin yakınlığı ve bölgesel sistemin sağlık durumuna göre trafiği otomatik olarak en uygun bölgesel dağıtımlara yönlendiren tek bir statik tüm noktaya yayın IP adresi sağlar. Genel Load Balancer, uygulamanızın güvenilirliğini ve performansını geliştirmeye yardımcı olabilir.

Global Load Balancer ile farklı bölgelere birden çok genel yük dengeleyici dağıtırsınız ve genel yük dengeleyici genel bir ön uç işlevi görür. Bir bölgedeki arka uç sunucularında sorun varsa, herhangi bir noktaya yayın IP adresi sabit kaldığından ve trafiği başka bir bölgeye yönlendirdiğinden trafik otomatik olarak ve DNS değişiklikleri olmadan iyi durumdaki bölgelere geçer.

Daha fazla bilgi için bkz. Genel Yük Dengeleyici.

Dayanıklılık için özel çok bölgeli çözümler

Azure, farklı gereksinimlere uygun bir dizi yük dengeleme hizmeti sunar. Dayanıklılık gereksinimlerinizi karşılayan ve uygulama türünüz için uygun bir yük dengeleyici seçebilirsiniz. Daha fazla bilgi için bkz . Yük dengeleme seçenekleri.

Hizmet düzeyi sözleşmesi

Azure hizmetleri için hizmet düzeyi sözleşmesi (SLA), her hizmetin beklenen kullanılabilirliğini ve bu kullanılabilirlik beklentisini elde etmek için çözümünüzün karşılaması gereken koşulları açıklar. Daha fazla bilgi için çevrimiçi hizmetler için SLA'lar sayfasına bakın.

Azure Load Balancer SLA'sı, en az iki sağlıklı VM arka uç örnek olarak yapılandırıldığında uygulanır. SLA, SNAT bağlantı noktası tükenmesi veya ağ güvenlik grupları (NSG) nedeniyle oluşan kesinti süresini dışlar.