Spolehlivost v Azure Load Balanceru

Azure Load Balancer je služba vyrovnávání zatížení vrstvy 4 pro přenosy protokolu TCP (Transmission Control Protocol) a UDP (User Datagram Protocol), která distribuuje příchozí požadavky mezi instance služeb, které jsou v pořádku. Load Balancer poskytuje vysokou dostupnost a výkon sítě s nízkou latencí.

Při používání Azure je spolehlivost sdílenou odpovědností. Microsoft nabízí celou řadu možností, které podporují odolnost a obnovení. Zodpovídáte za pochopení toho, jak tyto možnosti fungují ve všech službách, které používáte, a výběrem možností, které potřebujete ke splnění vašich obchodních cílů a cílů dostupnosti.

Tento článek popisuje, jak zajistit odolnost Load Balanceru vůči nejrůznějším potenciálním výpadkům a problémům, včetně přechodných chyb, výpadků zón dostupnosti a výpadků oblastí. Zvýrazňuje také klíčové informace o smlouvě o úrovni služeb (SLA) Load Balanceru.

Důležité

Spolehlivost vašeho celkového řešení závisí na konfiguraci back-endových instancí (serverů), jako jsou virtuální počítače Azure nebo škálovací sady virtuálních počítačů, do kterých váš nástroj pro vyrovnávání zatížení směruje provoz.

Tento článek se nevztahuje na vaše back-endové instance, ale jejich konfigurace dostupnosti přímo ovlivňují odolnost vaší aplikace. Projděte si průvodce spolehlivostí služeb Azure ve vašem řešení a zjistěte, jak každá služba podporuje vaše požadavky na spolehlivost.

Doporučení pro nasazení do produkčního prostředí

Azure Well-Architected Framework poskytuje doporučení týkající se spolehlivosti, zabezpečení, nákladů, provozu a výkonu. Informace o tom, jak tyto oblasti vzájemně ovlivňují a přispívají ke spolehlivému řešení Load Balanceru, najdete v tématu Osvědčené postupy architektury pro Load Balancer.

Přehled architektury spolehlivosti

Nástroj pro vyrovnávání zatížení může být veřejný nebo interní. Veřejný nástroj pro vyrovnávání zatížení je dostupný z internetu prostřednictvím prostředku veřejné IP adresy. Interní nástroj pro vyrovnávání zatížení je dostupný jenom z vaší virtuální sítě a dalších sítí, které se k virtuální síti připojujete.

Každý nástroj pro vyrovnávání zatížení se skládá z několika komponent:

  • Konfigurace front-endových IP adres které přijímají provoz Veřejný nástroj pro vyrovnávání zatížení přijímá provoz na veřejné IP adrese. Interní nástroj pro vyrovnávání zatížení přijímá provoz na IP adrese ve vaší virtuální síti.

  • Backendové fondy, které obsahují kolekci backendových instancí, mohou přijímat provoz, například jednotlivé virtuální počítače, na kterých běží vaše aplikace.

  • Pravidla vyrovnávání zatížení, která definují, jak vyvažovač zatížení distribuuje síťový provoz z front-endu do back-endového fondu.

  • Sondy stavu, které monitorují dostupnost back-endových instancí.

Další informace najdete v tématu Komponenty Load Balanceru.

U globálně nasazených řešení můžete nasadit globální nástroj pro vyrovnávání zatížení, což je jedinečný typ veřejného nástroje pro vyrovnávání zatížení pro směrování provozu mezi různými regionálními nasazeními vašeho řešení. Globální vyrovnávač zátěže poskytuje jednu anycast IP adresu a směruje provoz do nejbližšího regionálního zdravého vyrovnávače zátěže na základě blízkosti klienta a zdravotního stavu regionu. Další informace najdete v tématu Odolnost proti selháním v celé oblasti.

Odolnost proti přechodným chybám

Přechodné chyby jsou krátká, přerušovaná selhání ve složkách. V distribuovaném prostředí, jako je cloud, se vyskytují často a jsou normální součástí provozu. Přechodné chyby se opravují po krátké době. Je důležité, aby vaše aplikace mohly zpracovávat přechodné chyby, obvykle opakováním ovlivněných požadavků.

Všechny aplikace hostované v cloudu by měly při komunikaci se všemi cloudovými rozhraními API, databázemi a dalšími komponentami postupovat podle pokynů pro zpracování přechodných chyb Azure. Další informace najdete v tématu Doporučení pro zpracování přechodných chyb.

Při použití Load Balanceru zvažte následující osvědčené postupy, které minimalizují riziko přechodných chyb ovlivňujících vaši aplikaci:

  • Implementujte logiku opakování. Klienti by měli implementovat vhodné mechanismy opakování pro přechodné selhání připojení, které zahrnují exponenciální strategie zpětného odpojení.

  • Nakonfigurujte sondy stavu s tolerancí. Nakonfigurujte zdravotní sondy tak, aby vyvážily rychlou detekci selhání s potřebou vyhnout se falešně pozitivním výsledkům během přechodných problémů.

  • Monitorování přidělování portů SNAT U odchozích připojení monitorujte přidělování portů SNAT (Source Network Address Translation) a nakonfigurujte pravidla odchozích přenosů, aby se zabránilo přechodným selháním připojení, ke kterým dochází kvůli vyčerpání portů.

Odolnost proti chybám zóny dostupnosti

Zóny dostupnosti jsou fyzicky oddělené skupiny datacenter v rámci oblasti Azure. Když jedna zóna selže, mohou služby přejít na jednu ze zbývajících zón.

Load Balancer můžete nasadit jako zónově redundantní pomocí konfigurace každé front-endové IP adresy, kterou vytvoříte. Konfigurace zónově redundantní front-endové IP adresy používá nezávislou infrastrukturu ve více zónách k souběžnému poskytování provozu. Tato konfigurace zajišťuje, že selhání zóny neovlivní schopnost nástroje pro vyrovnávání zatížení přijímat a distribuovat provoz.

Následující diagram znázorňuje zónově redundantní veřejný nástroj pro vyrovnávání zatížení, který nakonfigurujete vytvořením zónově redundantní veřejné IP adresy.

Diagram znázorňující zónově redundantní veřejný nástroj pro vyrovnávání zatížení s zónově redundantní veřejnou IP adresou, která směruje provoz na tři virtuální počítače v různých zónách dostupnosti

Následující diagram znázorňuje interní nástroj pro vyrovnávání zatížení, který používá podobnou zónově redundantní konfiguraci.

Diagram znázorňující zónově redundantní interní nástroj pro vyrovnávání zatížení s zónově redundantní veřejnou IP adresou, která směruje provoz na tři virtuální počítače v různých zónách dostupnosti

Poznámka:

Můžete nasadit zónové nástroje pro vyrovnávání zatížení, ale doporučujeme používat zónově redundantní nástroje pro vyrovnávání zatížení pro všechny úlohy, včetně úloh, které nasadíte do jedné zóny.

V oblastech bez zón dostupnosti Vytvoří Azure všechny nástroje pro vyrovnávání zatížení v nezonální nebo regionální konfiguraci pomocí front-endové konfigurace bez nakonfigurované zóny. Pokud dojde k výpadku v oblasti, může dojít k výpadku vašich nezonálních vyrovnávačů zatížení. Veřejné IP adresy vytvořené v oblasti, která je později upgradována tak, aby měly zóny dostupnosti, budou zónově redundantní, jakmile bude oblast ve stavu obecné dostupnosti s více zónami dostupnosti.

Back-endové instance a zóny dostupnosti

Konfigurace zóny dostupnosti vašich back-endových instancí funguje nezávisle na konfiguraci front-end ip adresy vašeho nástroje pro vyrovnávání zatížení.

Pokud chcete distribuovat back-endové instance napříč zónami, nakonfigurujte příslušnou službu podle svých funkcí spolehlivosti a požadavků na architekturu.

Poznámka:

Pokud chcete dosáhnout odolnosti, distribuujte back-endové instance napříč několika zónami dostupnosti. Pokud všechny back-endové instance běží v jedné zóně, výpadek v této zóně způsobí, že vaše aplikace bude nedostupná, i když používáte zónově redundantní vyrovnávač zatížení.

Když například používáte virtuální počítače, je běžným přístupem návrhu pro produkční úlohy umístit několik zónových virtuálních počítačů do zón 1, 2 a 3, aby se dosáhlo odolnosti zón. Pro vyrovnávání zatížení pak můžete vytvořit zónově redundantní nástroj pro vyrovnávání zatížení a nakonfigurovat tyto virtuální počítače jako back-endové instance v rámci nástroje pro vyrovnávání zatížení. Sondy stavu load balanceru automaticky odeberou nefunkční virtuální počítače z provozu bez ohledu na jejich zónu.

Pokud nasadíte virtuální počítače ve stejné zóně dostupnosti, můžete do nástroje pro vyrovnávání zatížení nasadit zónově redundantní konfiguraci front-endové IP adresy, jak ukazuje následující diagram.

Diagram znázorňující zónově redundantní veřejný nástroj pro vyrovnávání zatížení směrující provoz na dva různé virtuální počítače v zóně 1

Požadavky

Podpora oblastí: Zónově redundantní nástroje pro vyrovnávání zatížení můžete nasadit do libovolné oblasti, která podporuje zóny dostupnosti.

Náklady

Konfigurace zóny dostupnosti nemění způsob, jakým Azure účtuje nástroj pro vyrovnávání zatížení. Azure vychází z fakturace počtu pravidel, která konfigurujete, a na datech, která zpracovává bez ohledu na konfiguraci zóny. Další informace najdete v tématu o cenách Load Balanceru.

Konfigurujte podporu zón dostupnosti

Když používáte Load Balancer, nastavíte podporu zóny dostupnosti v konfiguraci front-end IP adresy.

  • Vytvořte nový nástroj pro vyrovnávání zatížení s podporou zóny dostupnosti.

  • Změňte konfiguraci zóny dostupnosti existujícího nástroje pro vyrovnávání zatížení. Pokud chcete změnit konfiguraci zóny dostupnosti existujícího nástroje pro vyrovnávání zatížení, nahraďte konfiguraci front-endové IP adresy. Tento přístup můžete použít k přechodu z zónové konfigurace na zónově redundantní konfiguraci front-endové IP adresy:

    1. Vytvořte novou konfiguraci front-endové IP adresy, která má požadovanou konfiguraci zóny dostupnosti.

      Pro veřejné nástroje pro vyrovnávání zatížení vytvořte novou veřejnou IP adresu, která používá požadovanou konfiguraci zóny dostupnosti. Potom překonfigurujte nástroj pro vyrovnávání zatížení a přidejte konfiguraci front-endové IP adresy, která odkazuje na veřejnou IP adresu.

      U interních nástrojů pro vyrovnávání zatížení překonfigurujte nástroj pro vyrovnávání zatížení a přidejte novou konfiguraci front-endOVÉ IP adresy s požadovanou konfigurací zóny dostupnosti. Tento krok přiřadí novou privátní IP adresu z vaší podsítě.

    2. Překonfigurujte pravidla vyrovnávání zatížení tak, aby používala novou konfiguraci front-endOVÉ IP adresy.

      Důležité

      Tato operace vyžaduje překonfigurování klientů tak, aby odesílali provoz na novou front-endovou IP adresu. V závislosti na klientech může proces vyžadovat výpadek.

    3. Odeberte starou konfiguraci front-endové IP.

Chování, když jsou všechny zóny v pořádku

Tato část popisuje, co očekávat, když nástroj pro vyrovnávání zatížení používá zónově redundantní konfiguraci front-endové IP adresy a všechny zóny dostupnosti fungují normálně.

  • Směrování provozu mezi zónami: Vyrovnávání zatížení může nastat v jakékoli zóně dostupnosti. Vyrovnávač zatížení odesílá provoz do instancí back-endu, které určíte ve fondu back-endu, bez ohledu na to, která zóna dostupnosti obsahuje instanci back-endu.

  • Replikace dat mezi zónami: Load Balancer funguje jako předávací služba sítě, která neukládá ani nereplikuje data aplikací. I když nastavíte trvalost relace v nástroji pro vyrovnávání zatížení, nástroj pro vyrovnávání zatížení neuloží žádný stav. Trvalost relace upravuje proces hash tak, aby směruje požadavky do stejné back-endové instance, ale nástroj pro vyrovnávání zatížení nezaručuje trvalost relace. Když se změní back-endový pool, vyrovnávač zatížení přepočítá distribuci požadavků klientů a stav neukládá ani nesynchronizuje.

    Služba udržuje svůj stav konfigurace prostřednictvím synchronní replikace napříč zónami, což zajišťuje okamžitou konzistenci pravidel pro vyvažování zátěže, konfigurací sondy pro kontrolu stavu a členství v back-endovém poolu napříč všemi zónami.

Chování při selhání zóny

Tato část popisuje, co očekávat, když nástroj pro vyrovnávání zatížení používá zónově redundantní konfiguraci front-endové IP adresy a dojde k výpadku zóny dostupnosti.

  • Detekce a odpověď: Platforma Azure zodpovídá za detekci selhání v zóně dostupnosti a odpovídá na ně. Nemusíte dělat nic, abyste zahájili převzetí zóny.
  • Aktivní požadavky: Pokud dojde k selhání zóny, všechny existující toky TCP a UDP v této zóně se automaticky resetují a klienti musí tyto toky opakovat. Vaši klienti by měli implementovat dostatečné zpracování přechodných chyb, včetně automatizovaných opakování.

  • Očekávaná ztráta dat: Load Balancer je bezstavová síťová služba, takže neukládá data aplikací a na vrstvě nástroje pro vyrovnávání zatížení nedojde ke ztrátě dat.

  • Očekávaný výpadek: U zónově redundantních nástrojů pro vyrovnávání zatížení se neočekává žádný výpadek, protože nástroj pro vyrovnávání zatížení bude dál fungovat z zón, které jsou v pořádku.

    Pokud selhání ovlivňuje výpočetní služby v zóně, nemusí být všechny virtuální počítače nebo jiné prostředky v ovlivněné zóně dostupné. Sondy stavu nástroje pro vyrovnávání zatížení detekují tato selhání a směrují provoz do alternativních instancí v jiné zóně na základě algoritmu vyrovnávání zatížení a stavu back-endových instancí.

  • Přesměrování provozu: Nástroj pro vyrovnávání zatížení nadále funguje z zón, které jsou v pořádku. Load Balancer udržuje stejnou front-endovou IP adresu během selhání zóny. Toto chování znamená, že nemusíte instalovat aktualizace DNS (Domain Name System) ani překonfigurovat klienty. Platforma Azure vytváří nová klientská připojení prostřednictvím zbývajících zón, které jsou v pořádku.

Obnovení zóny

Když se zóna dostupnosti obnoví, Load Balancer automaticky obnoví normální operace. Zónově redundantní front-end server automaticky začne obsluhovat provoz z obnovované zóny společně s provozními zónami, které jsou stále v provozu. Zdravotní sondy z obnovené zóny opět začnou vyhodnocovat backendové instance.

Pokud selhání zóny ovlivní také vaše výpočetní služby v této zóně, Load Balancer po obnovení a úspěšném provedení zdravotních kontrol automaticky přidá back-end instance do zdravého back-end fondu. Vyvážení distribuce provozu napříč všemi dostupnými zónami na základě algoritmu vyrovnávání zatížení a stavu back-endových instancí.

Testování poruch zón

Platforma Azure spravuje směrování provozu, odezvu na selhání zóny a obnovení, takže nemusíte zahajovat ani ověřovat procesy selhání zón dostupnosti.

Azure Chaos Studio můžete použít k simulaci selhání virtuálního počítače v jedné zóně. Chaos Studio poskytuje integrované chyby pro virtuální počítače, včetně chyby, která vypne virtuální počítač. Tyto možnosti můžete využít k simulaci selhání zón a k otestování procesů převzetí služeb při selhání.

Odolnost proti selháním v celé oblasti

Veřejné a interní nástroje pro vyrovnávání zatížení se nasazují do jedné oblasti Azure. Pokud oblast přestane být dostupná, vaše nástroje pro vyrovnávání zatížení v této oblasti se také stanou nedostupnými. Load Balancer poskytuje nativní podporu více oblastí prostřednictvím globálního nástroje pro vyrovnávání zatížení, který podporuje vyrovnávání zatížení napříč oblastmi Azure. Můžete také nasadit další služby vyrovnávání zatížení pro směrování a převzetí služeb při selhání napříč oblastmi Azure.

Globální nástroje pro vyrovnávání zatížení

Globální nástroje pro vyrovnávání zatížení poskytují jednu statickou IP adresu libovolného vysílání, která automaticky směruje provoz do optimálního regionálního nasazení na základě blízkosti klienta a místního stavu. Globální nástroje pro vyrovnávání zatížení zlepšují spolehlivost a výkon vaší aplikace.

S globálními nástroji pro vyrovnávání zatížení nasadíte několik veřejných nástrojů pro vyrovnávání zatížení v různých oblastech a globální nástroj pro vyrovnávání zatížení slouží jako globální front-end. Pokud mají back-endové servery v jedné oblasti problém, provoz se automaticky přepne do oblastí, které jsou v pořádku beze změn DNS, protože IP adresa jakéhokoli vysílání zůstává konstantní a směruje provoz do jiné oblasti.

Další informace najdete v tématu Globální nástroj pro vyrovnávání zatížení.

Vlastní řešení pro více regionů pro odolnost systémů

Azure poskytuje řadu služeb vyrovnávání zatížení, které vyhovují různým požadavkům. Zvolte nástroj pro vyrovnávání zatížení, který splňuje vaše požadavky na odolnost a vyhovuje vašemu typu aplikace. Další informace najdete v tématu Možnosti vyrovnávání zatížení.

Smlouva o úrovni služeb

Smlouva o úrovni služeb (SLA) pro služby Azure popisuje očekávanou dostupnost každé služby a podmínky, které musí vaše řešení splnit, aby bylo dosaženo očekávané dostupnosti. Další informace najdete v tématu Smlouvy SLA pro online služby.

Smlouva SLA load Balanceru platí, pokud máte alespoň dva virtuální počítače, které jsou v pořádku nakonfigurované jako back-endové instance. Smlouva SLA vylučuje výpadky z důvodu vyčerpání portů SNAT nebo skupin zabezpečení sítě (NSG), které blokují provoz.