Vyvažování zátěže

17. 11. 2020 Azure, IT Pro

Chcete zjednodušit život takřka všech vašich prostředků v rámci platformy Azure? Optimalizovat jejich využití, propustnost nebo čas odezvy? Chcete zvýšit odolnost proti výpadkům? To vše vám pomůže zajistit vyvažování zátěže a služba Azure Load Balancer!

Obecně

Vyvažování zátěže je technologie, která se využívá pro rozložení zátěže mezi dva nebo více počítačů, síťových linek, případně jiných zařízení, aby bylo dosaženo optimálního využití, propustnosti či času odezvy. Použití většího počtu zařízení může poskytnout větší odolnost proti výpadkům. Vyvažování zátěže zajišťuje obvykle externí software, hardwarové zařízení, počítačový cluster, ale i třeba pomocí DNS.

Co je ale služba Azure Load Balancer?

S Azure Load Balancer můžete škálovat aplikace a zajistit snadno vysokou dostupnost vašich služeb. Podporuje odchozí i příchozí přenos dat, poskytuje nízkou latenci a vysokou propustnost. Pro všechny aplikace TCP a UDP umožňuje škálování až na úrovni milionů aktivních datových toků. Na základě pravidel a stavů distribuuje nově příchozí, odchozí datové toky (v rámci front-end, back-end). Při seznamování se s touto technologií je důležité, abyste porozuměli základům a rozdílům mezi verzemi.

Verze

Nástroj Azure Load Balancer je k dispozici ve dvou verzích: Basic (Základní) a Standard (Standardní). Ty se liší škálováním, funkcemi a cenou, případně se mohou mírně lišit postupy.

Základní
Počet instancí back-end: 100
Možné koncové body back-end: Virtuální počítače v jedné škálovací sadě, nebo v jedné skupině dostupnosti
Délka operací: Operace trvají 60 – 90 sekund
SLA: Není k dispozici
Cena: Zdarma

Standard
Počet instancí back-end: Podpora až 1 000 instancí
Možné koncové body back-end: Jakýkoliv virtuální počítač, který je umístěn v jedné virtuální síti, včetně možnosti kombinace
Délka operací: Většina operací trvá méně, jak 30 sekund
SLA: 99,9% pro přístup k datům mezi 2 virtuálními stroji v dobrém stavu
Cena: Účtuje se podle počtu pravidel, zpracování příchozích a odchozích dat, přidružených k danému prostředku

Jak si vede s virtuálními stroji?

Veřejný Azure Load Balancer může zajišťovat odchozí připojení pro virtuální počítače ve vaší virtuální síti prostřednictvím překladu jejich privátních IP adres na veřejné IP adresy.

Proč jej používat?

Azure Load Balancer můžete použít k následujícím účelům:

  • Vyrovnávání zátěže příchozího internetového provozu do virtuálních počítačů
  • Vyrovnávání zátěže provozu mezi virtuálními počítači ve virtuální síti
  • Hybridní konfiguraci, která může s front-end Azure Load Balancer navázat připojení také z místní sítě
  • Přesměrování portů u přenosů na konkrétní port na konkrétních virtuálních počítačích pomocí příchozích pravidel NAT
  • Zajištění možnosti odchozího připojení pro virtuální počítače ve vaší virtuální síti

Základní funkce

Vyrovnávání zátěže

S Azure Load Balancerem můžete vytvořit pravidla vyrovnávání zátěže, která slouží pro distribuci dat v reálném provozu, který je veden v rámci front-end a back-end. Při distribuci příchozích datových toků se využívá algoritmus na základě hodnoty hash a odpovídajícím způsobem přepisuje hlavičky datových toků do prostředků back-end. Server je k dispozici pro příjem nových datových toků, jakmile se určí funkční koncový bod pomocí stavu, v rámci sondy, v back-end. Ve výchozím nastavení používá k mapování datových toků na dostupné servery hodnotu hash, konkrétněji seřazená kolekce 5 členů: zdrojová IP adresa, zdrojový port, cílová IP adresa, cílový port a číslo protokolu IP. Všechny pakety (data) ze stejného toku paketů (dat) se doručí do stejného prostředku (front-end). Když klient zahájí nový tok paketů (dat) ze stejné zdrojové IP adresy, změní se zdrojový port. Řazená kolekce 5 členů tak ve výsledku může způsobit přesměrování provozu do jiného koncového bodu back-end. (viz. obrázek)

Struktura Load Balanceru
Struktura Load Balanceru | zdroj: docs.microsoft.com

Přesměrování portů

Spočívá ve vytvoření příchozího pravidla NAT pro přesměrování přenosů z určitého portu na konkrétní port (z konkrétní front-end IP adresy na určitou back-end v rámci virtuální sítě). Na různé porty stejné front-end IP adresy můžete mapovat více interních koncových bodů. IP adresy front-end můžete použít ke vzdálené správě virtuálních počítačů prostřednictvím Internetu.

Nezávislost na aplikaci a transparentnost

Azure Load Balancer neprovádí interakce přímo s protokolem TCP ani UDP, ani s aplikační vrstvou a umožňuje tak podporu všech aplikací TCP nebo UDP.

Automatická změna nastavení

Pokud navýšíte, nebo snížíte kapacitu prostředků, se vyvažování zátěže okamžitě automaticky přenastaví. Přidáním virtuálních počítačů do back-end, nebo jejich odebráním se taktéž bez problému a dalších kroků automaticky přenastaví.

Stavy prostředků a jejich sondy

Azure Load Balancer k určení stavu prostředků v back-end používá stavy, které definujete (vznikají pak sondy, celky stavů). Když sonda přestane reagovat, zastaví se odesílání nových připojení k prostředkům, které nejsou v pořádku. Stávající připojení to neovlivní a budou pokračovat, dokud aplikace neukončí odesílání dat, nedojde k vypršení časového limitu nečinnosti, nebo se virtuální počítač nevypne. Naleznete zde různé typy stavů prostředků pro koncové body. (TCP, HTTP a HTTPS)

Doporučené studijní materiály

docs.microsoft.com – Naleznete zde podrobný návod nasazení služby Azure Load Balancer pro konkrétní využití