Azure Load Balancer sistem durumu yoklamaları
Azure Load Balancer sistem durumu yoklaması, uygulama örneklerinizin sistem durumunu algılayan bir özelliktir. Kullanılabilir olup olmadığını denetlemek ve isteklere yanıt vermek için örneklere bir istek gönderir. Durum yoklaması TCP, HTTP veya HTTPS gibi farklı protokolleri kullanacak şekilde yapılandırılabilir. Uygulama hatalarını algılamanıza, yükü yönetmenize ve kapalı kalma süresini planlamanıza yardımcı olduğundan bu önemli bir özelliktir.
Azure Load Balancer kuralları, uç nokta durumunu algılamak için bir sistem durumu araştırması gerektirir. Sistem durumu yoklaması ve yoklama yanıtlarının yapılandırması, hangi arka uç havuzu örneklerinin yeni bağlantılar alacağını belirler. Bir uygulamanın başarısızlığını algılamak için sistem durumu yoklamalarını kullanın. Sistem durumu yoklaması için özel bir yanıt oluşturun. Yük veya planlı kapalı kalma süresini yönetmek için akış denetimi için sistem durumu araştırmasını kullanın. Durum yoklaması başarısız olduğunda yük dengeleyici ilgili iyi durumda olmayan örneğe yeni bağlantılar göndermeyi durdurur. Giden bağlantı etkilenmez, yalnızca gelen bağlantı.
Araştırma protokolleri
Sistem durumu yoklamaları birden çok protokolü destekler. Belirli bir sistem durumu yoklaması protokolünün kullanılabilirliği Load Balancer SKU'sa göre değişir. Ayrıca, hizmetin davranışı bu tabloda gösterildiği gibi Load Balancer SKU'sunun davranışına göre değişir:
Standart SKU | Temel SKU | |
---|---|---|
Yoklama protokolü | TCP, HTTP, HTTPS | TCP, HTTP |
Yoklama aşağı davranışı | Tüm yoklamalar aşağı, tüm TCP akışları devam eder. | Tüm yoklamalar kapatıldıktan sonra tüm TCP akışlarının süresi dolar. |
Yoklama özellikleri
Sistem durumu yoklamaları aşağıdaki özelliklere sahiptir:
Sistem Durumu Yoklaması özellik adı | Ayrıntılar |
---|---|
Veri Akışı Adı | Sistem durumu araştırmasının adı. Bu, sistem durumu yoklamanız için tanımladığınız bir addır |
Protokol | Sistem durumu yoklaması protokolü. Bu, sistem durumu yoklamasının kullanmasını istediğiniz protokol türüdür. Seçenekler şunlardır: TCP, HTTP, HTTPS |
Bağlantı noktası | Sistem durumu yoklamasının bağlantı noktası. Sistem durumu yoklamasının sistem durumunu denetlemek için sanal makineye bağlandığında kullanmasını istediğiniz hedef bağlantı noktası |
Aralık (saniye) | Sistem durumu yoklaması aralığı. Sanal makinede ardışık iki sistem durumu denetimi denemesinde farklı yoklamalar arasındaki süre (saniye cinsinden) |
Kullanan | Bu özel durum araştırmasını kullanan yük dengeleyici kurallarının listesi. Etkili olması için sistem durumu araştırmasını kullanan en az bir kuralınız olmalıdır |
Yoklama yapılandırması
Sistem durumu yoklaması yapılandırması aşağıdaki öğelerden oluşur:
Sistem Durumu Yoklaması yapılandırması | Ayrıntılar |
---|---|
Protokol | Sistem durumu yoklaması protokolü. Bu, sistem durumu yoklamasının kullanmasını istediğiniz protokol türüdür. Kullanılabilir seçenekler şunlardır: TCP, HTTP, HTTPS |
Bağlantı noktası | Sistem durumu yoklamasının bağlantı noktası. Sanal makinenin sistem durumunu denetlemek için sanal makineye bağlandığında sistem durumu yoklamasının kullanmasını istediğiniz hedef bağlantı noktası. Sanal makinenin bu bağlantı noktasında da dinlediğinden emin olmanız gerekir (başka bir ifadeyle, bağlantı noktası açık). |
Aralık | Sistem durumu yoklaması aralığı. Sanal makineye ardışık sistem durumu denetimi girişimleri arasındaki süre (saniye cinsinden) |
Yoklama protokolü
Sistem durumu yoklaması tarafından kullanılan protokol şu seçeneklerden biriyle yapılandırılabilir: TCP, HTTP, HTTPS.
Senaryo | TCP araştırma | HTTP/HTTPS yoklaması |
---|---|---|
Genel bakış | TCP yoklamaları, tanımlanan bağlantı noktasıyla üç yönlü açık TCP tokalaşması gerçekleştirerek bir bağlantı başlatır. TCP yoklamaları, dört yönlü tcp el sıkışması ile bağlantıyı sonlandırır. | HTTP ve HTTPS belirtilen yolla bir HTTP GET'i yayımlar. Bu yoklamaların her ikisi de HTTP GET için göreli yolları destekler. HTTPS yoklamaları, Aktarım Katmanı Güvenliği (TLS) ekli HTTP yoklamalarıyla aynıdır. HTTP/HTTPS yoklamaları, yoklama bağlantı noktası aynı zamanda hizmetin dinleyicisiyse yük dengeleyiciden örnekleri kaldırmak için kendi mantığınızı uygulamak için yararlı olabilir. |
Yoklama hatası davranışı | TCP yoklaması şu durumlarda başarısız olur: 1. Örnekteki TCP dinleyicisi zaman aşımı süresi boyunca hiç yanıt vermez. Yoklama, yoklama işaretlenmeden önce yanıtsız olacak şekilde yapılandırılmış zaman aşımına uğradı yoklama isteklerinin sayısına göre aşağı işaretlenir. 2. Yoklama, örnekten bir TCP sıfırlaması alır. | HTTP/HTTPS yoklaması şu durumlarda başarısız olur: 1. Yoklama uç noktası 200 dışında bir HTTP yanıt kodu döndürür (örneğin, 403, 404 veya 500). 2. Yoklama uç noktası, yoklama aralığı ve 30 saniyelik zaman aşımı süresi boyunca hiç yanıt vermez. Yoklama çalışmıyor olarak işaretlenmeden önce ve tüm zaman aşımı aralıklarının toplamına ulaşılana kadar birden çok yoklama isteği yanıtlanmamış olabilir. 3. Yoklama uç noktası tcp sıfırlama yoluyla bağlantıyı kapatır. |
Araştırma davranışı | TCP sistem durumu yoklamaları iyi durumda olarak kabul edilir ve arka uç uç noktasını şu durumlarda iyi durumda olarak işaretler: 1. Sistem durumu yoklaması, VM önyükleme yaptıktan sonra bir kez başarılı olur. 2. İyi durumda duruma ulaşan tüm arka uç uç noktaları yeni akışlar almaya uygundur. | Örnek zaman aşımı süresi içinde HTTP durumu 200 ile yanıtladığında sistem durumu yoklaması işaretlenir. HTTP/HTTPS sistem durumu yoklamaları iyi durumda olarak kabul edilir ve arka uç uç noktasını şu durumlarda iyi durumda olarak işaretler: 1. Sistem durumu yoklaması, VM önyükleme yaptıktan sonra bir kez başarılı olur. 2. İyi durumda duruma ulaşan tüm arka uç uç noktaları yeni akışlar almaya uygundur. |
Not
HTTPS yoklaması, zincirin tamamında en düşük imza karması SHA256 olan sertifikaların kullanılmasını gerektirir.
Yoklama aşağı davranışı
Senaryo | TCP bağlantıları | UDP veri birimleri |
---|---|---|
Tek örnekli yoklamalar aşağı | Yeni TCP bağlantıları, iyi durumda kalan arka uç uç noktasında başarılı olur. Bu arka uç uç noktasına kurulan TCP bağlantıları devam eder. | Mevcut UDP akışları arka uç havuzundaki başka bir iyi durumdaki örneğe taşınır. |
Tüm örnekler yoklama aşağı | Arka uç havuzuna yeni akış gönderilmez. Standart Load Balancer, bir arka uç havuzunun birden fazla arka uç örneğine sahip olması nedeniyle yerleşik TCP akışlarının devam etmesine olanak tanır. Temel Load Balancer, arka uç havuzuna var olan tüm TCP akışlarını sonlandırır. | Tüm mevcut UDP akışları sonlanır. |
Araştırma aralığı ve zaman aşımı
Aralık değeri, sistem durumu yoklamasının arka uç havuzu örneklerinizden gelen bir yanıtı ne sıklıkta denetlediğini belirler. Sistem durumu yoklaması başarısız olursa arka uç havuzu örnekleriniz hemen iyi durumda değil olarak işaretlenir. Bir sonraki iyi durumdaki yoklamada sistem durumu yoklaması başarılı olursa Azure Load Balancer arka uç havuzu örneklerinizi iyi durumda olarak işaretler. Sistem durumu yoklaması, Azure portalında varsayılan olarak 5 saniyede bir yapılandırılmış durum yoklaması bağlantı noktasını denetlemeye çalışır, ancak açıkça başka bir değere ayarlanabilir.
Zamanında yanıt alındığından emin olmak için HTTP/S sistem durumu yoklamalarında yerleşik zaman aşımları vardır. TCP ve HTTP/S yoklamaları için zaman aşımı süreleri aşağıdadır:
- TCP yoklaması zaman aşımı süresi: YOK (yapılandırılmış yoklama aralığı süresi geçtikten ve sonraki yoklama gönderildikten sonra yoklamalar başarısız olur)
- HTTP/S yoklama zaman aşımı süresi: 30 saniye
HTTP/S yoklamaları için, yapılandırılan aralık yukarıdaki zaman aşımı süresinden uzunsa, zaman aşımı süresi boyunca yanıt alınmazsa sistem durumu araştırması zaman aşımına uyacaktır ve başarısız olacaktır. Örneğin, bir HTTP sistem durumu yoklaması 120 saniyelik bir yoklama aralığıyla yapılandırılırsa (2 dakikada bir) ve ilk 30 saniye içinde yoklama yanıtı alınmazsa, yoklama zaman aşımı süresine ulaşmış ve başarısız olacaktır. Yapılandırılan aralık yukarıdaki zaman aşımı süresinden kısa olduğunda, yapılandırılan aralık süresi tamamlanmadan yanıt alınmazsa sistem durumu araştırması başarısız olur ve sonraki araştırma hemen gönderilir.
Tasarım kılavuzu
Uygulamanız için sistem durumu modelini tasarlarken, arka uç uç noktasında örneğin ve uygulama hizmetinin sistem durumunu yansıtan bir bağlantı noktasını araştırın. Uygulama bağlantı noktası ve yoklama bağlantı noktasının aynı olması gerekmez. Bazı senaryolarda, yoklama bağlantı noktasının uygulamanızın kullandığı bağlantı noktasından farklı olması istenebilir, ancak genellikle bunların aynı bağlantı noktası olması önerilir.
Uygulamanızın bir sistem durumu yoklaması yanıtı oluşturması ve yük dengeleyiciye örneğinizin yeni bağlantılar alıp almayacağını bildirmesi yararlı olabilir. Durum yoklaması başarısız olarak bir örneğe yeni bağlantıların teslimini kısıtlamak için yoklama yanıtını işleyebilirsiniz. Uygulamanızın bakımı için hazırlanabilir ve uygulamanıza bağlantıların boşaltılması işlemini başlatabilirsiniz. Yoklama kapalı sinyali her zaman tcp akışlarının bir Standart Load Balancer boşta kalma zaman aşımına veya bağlantı kapanmasına kadar devam etmesine izin verir.
UDP yük dengeli bir uygulama için arka uç uç noktasından özel bir sistem durumu yoklaması sinyali oluşturun. İlgili dinleyiciyle eşleşen durum araştırması için TCP, HTTP veya HTTPS kullanın.
HA Standart Load Balancer ile bağlantı noktaları yük dengeleme kuralı. Tüm bağlantı noktaları yük dengelidir ve tek bir sistem durumu yoklaması yanıtı tüm örneğin durumunu yansıtmalıdır.
Sistem durumu araştırmasını sanal ağınızdaki başka bir örneğe alan örnek aracılığıyla sistem durumu araştırmasını çevirmeyin veya ara sunucu oluşturmayın. Bu yapılandırma senaryonuzda hatalara yol açabilir. Örneğin: Gereçler için ölçek ve yedeklilik sağlamak üzere yük dengeleyicinin arka uç havuzuna bir üçüncü taraf gereç kümesi dağıtılır. Sistem durumu yoklaması, üçüncü taraf alet proxy'lerinin veya aletin arkasındaki diğer sanal makinelere çevrilen bir bağlantı noktasını yoklama için yapılandırılır. Aletin arkasındaki diğer sanal makinelere yönelik istekleri çevirmek veya ara sunucu yapmak için kullanılan bağlantı noktasını yoklarsanız, tek bir sanal makineden gelen tüm yoklama yanıtları aleti işaretler. Bu yapılandırma, uygulamanın art arda başarısız olmasına neden olabilir. Tetikleyici, yük dengeleyicinin alet örneğini işaretlemesine neden olan aralıklı bir yoklama hatası olabilir. Bu eylem uygulamanızı devre dışı bırakabilir. Aletin durumunu yoklama. Sistem durumu sinyalini belirlemek için yoklamanın seçilmesi, ağ sanal gereçleri (NVA) senaryoları için önemli bir noktadır. Bu tür senaryolar için uygun sistem durumu sinyali için uygulama satıcınıza başvurun.
Sanal makinenizde yapılandırılmış birden çok arabiriminiz varsa, araştırmayı aldığınız arabirimde yanıtladığınızdan emin olun. Kaynak ağ adresinin bu adresi arabirim temelinde VM'de çevirmeniz gerekebilir.
Azure PowerShell, Azure CLI, Şablonlar veya API kullanılırken yoklama tanımının zorunlu olmadığını veya denetlendiğini unutmayın. Yoklama doğrulama testleri yalnızca Azure portalı kullanılırken yapılır.
Durum yoklaması dalgalanırsa, yük dengeleyici arka uç uç noktasını yeniden iyi durumda duruma döndürmeden önce daha uzun süre bekler. Bu ek bekleme süresi kullanıcıyı ve altyapıyı korur ve kasıtlı bir ilkedir.
Sanal makine örneklerinizin çalıştığından emin olun. Arka uç havuzundaki çalışan her örnek için sistem durumu yoklaması kullanılabilirliği denetler. Bir örnek durdurulursa, yeniden başlatılana kadar yoklanmaz.
Sanal ağınızı 168.63.129.16 içeren Microsoft'a ait IP adresi aralığıyla yapılandırmayın. Yapılandırma, sistem durumu araştırmasının IP adresiyle çakılabilir ve senaryonuzun başarısız olmasına neden olabilir.
Sistem durumu yoklaması hatasını test etmek veya tek bir örneği işaretlemek için, sistem durumu araştırmasını açıkça engellemek için bir ağ güvenlik grubu kullanın. Yoklama hatasının benzetimini yapmak için hedef bağlantı noktasını veya kaynak IP'yi engellemek için bir NSG kuralı oluşturun.
Yük dengeleme kurallarının aksine, gelen NAT kurallarının buna bağlı bir sistem durumu yoklaması gerekmez.
Azure Load Balancer sistem durumu yoklaması IP'sinin veya bağlantı noktasının NSG kurallarıyla engellenmesi önerilmez. Bu, desteklenmeyen bir senaryodur ve NSG kurallarının gecikmeli etkili olmasını sağlayarak sistem durumu yoklamalarının arka uç örneklerinizin kullanılabilirliğini yanlış bir şekilde temsil etmelerine neden olabilir.
İzleme
Standart Load Balancer, Azure İzleyici aracılığıyla uç nokta başına ve arka uç uç uç sistem durumu yoklaması durumunu kullanıma sunar. Diğer Azure hizmetleri veya iş ortağı uygulamaları bu ölçümleri kullanabilir. Temel Load Balancer için Azure İzleyici günlükleri desteklenmez.
Araştırma kaynağı IP adresi
Azure Load Balancer'ın sistem durumu yoklaması örneğinizi işaretleyebilmelidir. Tüm Azure ağ güvenlik gruplarında ve yerel güvenlik duvarı ilkelerinde 168.63.129.16 IP adresine izin vermelisiniz. AzureLoadBalancer hizmet etiketi bu kaynak IP adresini ağ güvenlik gruplarınızda tanımlar ve varsayılan olarak sistem durumu yoklaması trafiğine izin verir. Buradan bu IP adresi hakkında daha fazla bilgi edinebilirsiniz.
Güvenlik duvarı ilkelerinizde yoklamanın kaynak IP'sine izin vermezseniz sistem durumu yoklaması örneğinize ulaşamadığı için başarısız olur. Buna karşılık Azure Load Balancer, durum yoklaması hatası nedeniyle örneğinizi aşağı olarak işaretler. Bu yanlış yapılandırma, yük dengeli uygulama senaryonuzun başarısız olmasına neden olabilir. Tüm IPv4 Load Balancer sistem durumu yoklamaları, kaynakları olarak 168.63.129.16 IP adresinden kaynaklanır. IPv6 yoklamaları, kaynak olarak bir bağlantı yerel adresi (fe80::1234:5678:9abc) kullanır. Çift yığınlı Azure Load Balancer için, IPv6 sistem durumu yoklaması için bir Ağ Güvenlik Grubu yapılandırmanız gerekir.
Sınırlamalar
HTTPS yoklamaları, istemci sertifikasıyla karşılıklı kimlik doğrulamasını desteklemez.
HTTP yoklamaları, arka uçları yoklamalar için ana bilgisayar adlarının kullanılmasını desteklemez
TCP zaman damgalarının etkinleştirilmesi azaltmaya veya diğer performans sorunlarına neden olabilir ve bu da sistem durumu yoklamalarının zaman aşımına neden olabilir.
Sanal makine ölçek kümesinde Temel SKU yük dengeleyici sistem durumu yoklaması desteklenmez.
HTTP yoklamaları, güvenlik endişeleri nedeniyle aşağıdaki bağlantı noktalarında yoklama işlemini desteklemez: 19, 21, 25, 70, 110, 119, 143, 220, 993.
Sonraki adımlar
- Standart Yük Dengeleyici hakkında daha fazla bilgi edinin
- Sistem durumu yoklamalarını yönetmeyi öğrenin
- PowerShell kullanarak Resource Manager'da genel yük dengeleyici oluşturmaya başlama
- Durum yoklamaları için REST API