Více front-endů pro Azure Load Balancer
Azure Load Balancer umožňuje vyrovnávání zatížení služeb na několika portech, na několika IP adresách nebo na obou. K vyrovnávání zatížení toků napříč několika virtuálními počítače můžete použít definice veřejného a interního nástroje pro vyrovnávání zatížení.
Tento článek popisuje základy této schopnosti, důležité koncepty a omezení. Pokud chcete vystavit služby pouze na jedné IP adrese, najdete zjednodušené pokyny pro veřejné nebo interní konfigurace nástroje pro vyrovnávání zatížení. Přidání více front-endů je přírůstkové pro jednu konfiguraci front-endu. Pomocí konceptů v tomto článku můžete zjednodušenou konfiguraci kdykoli rozšířit.
Když definujete Azure Load Balancer, konfigurace front-endu a back-endu fondu jsou propojeny s pravidly. Sonda stavu, na kterou pravidlo odkazuje, se používá k určení způsobu posílání nových toků do uzlu v back-endových fondech. Front-end (nebo také VIP) je definován řazenou řadou 3 členů, která se skládá z IP adresy (veřejné nebo interní), přenosového protokolu (UDP nebo TCP) a čísla portu z pravidla vyrovnávání zatížení. Back-endový fond je kolekce konfigurací IP adres virtuálních počítačů (součást prostředku síťové karty), které odkazují na Load Balancer back-endový fond.
Následující tabulka obsahuje několik příkladů konfigurací front-endu:
| Front-end | IP adresa | Protokol | port |
|---|---|---|---|
| 1 | 65.52.0.1 | TCP | 80 |
| 2 | 65.52.0.1 | TCP | 8080 |
| 3 | 65.52.0.1 | UDP | 80 |
| 4 | 65.52.0.2 | TCP | 80 |
Tabulka zobrazuje čtyři různé front-endy. Front-#1, #2 a #3 jsou jeden front-end s více pravidly. Používá se stejná IP adresa, ale port nebo protokol se pro každý front-end liší. Front-#1 a #4 jsou příkladem více front-endů, kde se stejný front-endový protokol a port opakovaně používá napříč několika front-endy.
Azure Load Balancer poskytuje flexibilitu při definování pravidel vyrovnávání zatížení. Pravidlo deklaruje mapování adresy a portu front-endu na cílovou adresu a port v back-endu. To, jestli se back-endové porty opakovaně používá napříč pravidly, závisí na typu pravidla. Každý typ pravidla má specifické požadavky, které mohou ovlivnit konfiguraci hostitele a návrh sondy. Existují dva typy pravidel:
- Výchozí pravidlo bez opětovného použití back-end portu
- Pravidlo plovoucí IP adresy, ve kterém se back-endové porty znovu používá
Azure Load Balancer umožňuje kombinovat oba typy pravidel ve stejné konfiguraci nástroje pro vyrovnávání zatížení. Nástroj pro vyrovnávání zatížení je může používat současně pro daný virtuální počítač nebo libovolnou kombinaci, pokud dodržujete omezení pravidla. Typ pravidla, který zvolíte, závisí na požadavcích vaší aplikace a složitosti podpory této konfigurace. Měli byste vyhodnotit, které typy pravidel jsou pro váš scénář nejlepší.
Tyto scénáře dále prozkoumáme tak, že začneme s výchozím chováním.
Typ pravidla #1: Opětovné použití back-end portu

V tomto scénáři jsou front-endy nakonfigurované takto:
| Front-end | IP adresa | Protokol | port |
|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 |
2 |
65.52.0.2 | TCP | 80 |
DIP je cíl příchozího toku. V back-endovém fondu každý virtuální počítač zpřístupňuje požadovanou službu na jedinečném portu pro dip. Tato služba je přidružená k front-endu prostřednictvím definice pravidla.
Definujeme dvě pravidla:
| Pravidlo | Front-end mapy | Na back-endový fond |
|---|---|---|
| 1 | Front-end1:80 |
DIP1:80, DIP2:80 |
| 2 | Front-end2:80 |
DIP1:81, DIP2:81 |
Úplné mapování v Azure Load Balancer je teď následující:
| Pravidlo | IP adresa front-endu | Protokol | port | Cíl | port |
|---|---|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 | IP adresa dip | 80 |
2 |
65.52.0.2 | TCP | 80 | IP adresa dip | 81 |
Každé pravidlo musí vytvořit tok s jedinečnou kombinací cílové IP adresy a cílového portu. Na rozdíl od cílového portu toku může několik pravidel doručovat toky do stejné ip adresy na různých portech.
Sondy stavu se vždy směrují na DIP virtuálního počítače. Musíte zajistit, aby vaše sonda odrážela stav virtuálního počítače.
Typ pravidla #2: opětovné použití back-end portu s plovoucí IP adresou
Azure Load Balancer poskytuje flexibilitu opakovaného použití front-end portu napříč více front-endy bez ohledu na použitý typ pravidla. Kromě toho některé scénáře aplikací upřednostňují nebo vyžadují, aby několik instancí aplikace na jednom virtuálním počítači v back-endových fondech používalo stejný port. Mezi běžné příklady opětovného použití portů patří clustering pro vysokou dostupnost, síťová virtuální zařízení a vystavení několika koncových bodů TLS bez opětovného šifrování.
Pokud chcete back-endový port opakovaně používat napříč několika pravidly, musíte v definici pravidla povolit plovoucí IP adresu.
"Plovoucí IP adresa" je terminologie Azure pro část toho, co se označuje jako Direct Server Return (DSR). DSR se skládá ze dvou částí: topologie toku a schématu mapování IP adres. Na úrovni platformy vždy Azure Load Balancer v topologii toku DSR bez ohledu na to, jestli je plovoucí IP adresa povolená nebo ne. To znamená, že odchozí část toku je vždy správně přepsána tak, aby proudí přímo do původního zdroje.
U výchozího typu pravidla Azure zpřístupňuje tradiční schéma mapování IP adres pro vyrovnávání zatížení pro snadné použití. Povolení plovoucí IP adresy změní schéma mapování IP adres tak, aby bylo možné flexibilnější, jak je vysvětleno níže.
Tuto konfiguraci znázorňuje následující diagram:

V tomto scénáři má každý virtuální počítač v back-end fondu tři síťová rozhraní:
- DIP: virtuální síťová karta přidružená k virtuálnímu počítači (konfigurace IP adresy prostředku síťové karty Azure)
- Front-end 1: rozhraní zpětné smyčky v rámci hostovaného operačního systému, které je nakonfigurované s IP adresou front-endu 1
- Front-end 2: rozhraní zpětné smyčky v rámci hostovaného operačního systému, které je nakonfigurované s IP adresou front-endu 2
Pro každý virtuální počítač v back-endových fondech spusťte následující příkazy na Windows příkazového řádku.
Pokud chcete získat seznam názvů rozhraní, které máte na virtuálním počítači, zadejte tento příkaz:
netsh interface show interface
Pro síťové rozhraní virtuálního počítače (spravované Azure) zadejte tento příkaz:
netsh interface ipv4 set interface “interfacename” weakhostreceive=enabled
(nahraďte interfacename názvem tohoto rozhraní.)
Pro každé přidané rozhraní zpětné smyčky zopakujte tyto příkazy:
netsh interface ipv4 set interface “interfacename” weakhostreceive=enabled
(interfacename nahraďte názvem tohoto rozhraní zpětné smyčky.)
netsh interface ipv4 set interface “interfacename” weakhostsend=enabled
(interfacename nahraďte názvem tohoto rozhraní zpětné smyčky.)
Důležité
Konfigurace rozhraní zpětné smyčky se provádí v hostovaném operačním systému. Azure tuto konfiguraci nespravuje ani nespravuje. Bez této konfigurace nebudou pravidla fungovat. Definice sond stavu používají dip virtuálního počítače místo rozhraní zpětné smyčky představující front-end DSR. Proto musí vaše služba poskytovat odpovědi sondy na portu DIP, který odráží stav služby nabízené v rozhraní zpětné smyčky představujícím front-end DSR.
Předpokládejme stejnou konfiguraci front-endu jako v předchozím scénáři:
| Front-end | IP adresa | Protokol | port |
|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 |
2 |
65.52.0.2 | TCP | 80 |
Definujeme dvě pravidla:
| Pravidlo | Front-end | Mapování na back-endový fond |
|---|---|---|
| 1 | Front-end1:80 |
Front-end 1:80 (ve VM1 a VM2) |
| 2 | Front-end2:80 |
Front-end 2:80 (ve VM1 a VM2) |
Následující tabulka uvádí kompletní mapování v nástroji pro vyrovnávání zatížení:
| Pravidlo | IP adresa front-endu | Protokol | port | Cíl | port |
|---|---|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 | stejné jako front-end (65.52.0.1) | stejné jako front-end (80) |
2 |
65.52.0.2 | TCP | 80 | stejné jako front-end (65.52.0.2) | stejné jako front-end (80) |
Cílem příchozího toku je front-endová IP adresa v rozhraní zpětné smyčky ve virtuálním počítači. Každé pravidlo musí vytvořit tok s jedinečnou kombinací cílové IP adresy a cílového portu. Když se liší cílová IP adresa toku, je možné opakovaně používat porty na stejném virtuálním počítači. Vaše služba se nástroji pro vyrovnávání zatížení vystaví tak, že ji prováže s IP adresou a portem front-endu příslušného rozhraní zpětné smyčky.
Všimněte si, že tento příklad nezmění cílový port. I když se jedná o scénář s plovoucí IP adresou, Azure Load Balancer také podporuje definování pravidla pro přepsání cílového portu back-endu a jeho odlišování od cílového portu front-endu.
Typ pravidla plovoucí IP adresy je základem několika vzorů konfigurace nástroje pro vyrovnávání zatížení. Jedním z aktuálně dostupných příkladů je konfigurace SQL AlwaysOn s více naslouchači. V průběhu času budeme zdokumentovat další z těchto scénářů.
Omezení
- Několik konfigurací front-endu je podporováno pouze u virtuálních počítače IaaS.
- S pravidlem plovoucí IP adresy musí vaše aplikace používat konfiguraci primární IP adresy pro odchozí toky SNAT. Pokud se vaše aplikace váže na front-endovou IP adresu nakonfigurovanou v rozhraní zpětné smyčky v hostovaném operačním systému, není odchozí SNAT Azure k dispozici pro přepsání odchozího toku a tok selže. Zkontrolujte odchozí scénáře.
- Plovoucí IP adresa se v současné době nepodporuje v sekundárních konfiguracích IP adres pro scénáře interního vyrovnávání zatížení.
- Veřejné IP adresy mají vliv na fakturaci. Další informace najdete v tématu Ceny IP adres.
- Platí limity předplatného. Další informace najdete v tématu Limity služeb.
Další kroky
- Pokud chcete zjistit, jaký vliv má více front-endů na chování odchozích připojení, zkontrolujte odchozí připojení.
1
2