Konfigurace plovoucí IP adresy služby Azure Load Balancer

Nástroj pro vyrovnávání zatížení poskytuje několik možností pro aplikace UDP i TCP.

Plovoucí IP adresa

Některé scénáře aplikací preferují nebo vyžadují použití stejného portu několika instancemi aplikací na jednom virtuálním počítači v back-endovém fondu. Mezi běžné příklady opětovného použití portů patří clustering pro vysokou dostupnost, síťová virtuální zařízení a zveřejnění několika koncových bodů TLS bez opětovného šifrování.

Stav plovoucí IP adresy Výsledek
Povolená plovoucí IP adresa Azure změní mapování IP adres na front-endovou IP adresu Load Balanceru.
Plovoucí IP adresa je zakázaná. Azure zveřejňuje IP adresu instancí virtuálních počítačů.

Pokud chcete znovu použít back-endový port napříč několika pravidly, musíte v definici pravidla povolit plovoucí IP adresu. Povolení plovoucí IP adresy umožňuje větší flexibilitu.

V diagramech vidíte, jak funguje mapování IP adres před povolením plovoucí IP adresy a po povolení plovoucí IP adresy: Tento diagram znázorňuje síťový provoz přes nástroj pro vyrovnávání zatížení před povolením plovoucí IP adresy.

Tento diagram znázorňuje síťový provoz přes nástroj pro vyrovnávání zatížení po povolení plovoucí IP adresy.

Plovoucí IP adresu nakonfigurujete pro pravidlo Load Balanceru prostřednictvím webu Azure Portal, rozhraní REST API, rozhraní příkazového řádku, PowerShellu nebo jiného klienta. Kromě konfigurace pravidla musíte také nakonfigurovat hostovaný operační systém virtuálního počítače, aby používal plovoucí IP adresu.

Diagram provozu nástroje pro vyrovnávání zatížení pro několik IP adres front-endu s plovoucí IP adresou

V tomto scénáři má každý virtuální počítač v back-endovém fondu tři síťová rozhraní:

  • Back-endová IP adresa: Virtuální síťová karta přidružená k virtuálnímu počítači (konfigurace IP prostředku síťové karty Azure).
  • Front-end 1 (FIP1): rozhraní zpětné smyčky v rámci hostovaného operačního systému, které je nakonfigurované s IP adresou FIP1.
  • Front-end 2 (FIP2): rozhraní zpětné smyčky v rámci hostovaného operačního systému, které je nakonfigurované s IP adresou FIP2.

Předpokládejme stejnou konfiguraci front-endu jako v předchozím scénáři:

Front-end IP adresa Protokol port
zelený front-end 1 65.52.0.1 TCP 80
fialový front-end 2 65.52.0.2 TCP 80

Definujeme dvě pravidla plovoucí IP adresy:

Pravidlo Front-end Mapování na back-endový fond
0 zelené pravidlo FIP1:80 zelený back-end FIP1:80 (ve virtuálním počítači 1 a VM2)
2 fialové pravidlo FIP2:80 fialový back-end FIP2:80 (ve virtuálním počítači 1 a VM2)

Následující tabulka ukazuje úplné mapování v nástroji pro vyrovnávání zatížení:

Pravidlo Front-endová IP adresa Protokol port Cíl port
zelené pravidlo 1 65.52.0.1 TCP 80 stejné jako front-end (65.52.0.1) stejné jako front-end (80)
fialové pravidlo 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 teď front-endová IP adresa na 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. Opakované použití portů je možné na stejném virtuálním počítači tak, že se liší cílovou IP adresou na front-endovou IP adresu toku. Vaše služba je vystavená nástroji pro vyrovnávání zatížení tím, že ji provážete s IP adresou front-endu a portem příslušného rozhraní zpětné smyčky.

Všimněte si, že cílový port se v příkladu nezmění. Ve scénářích s plovoucí IP adresou azure Load Balancer také podporuje definování pravidla vyrovnávání zatížení, které změní cílový port back-endu a liší se od front-endového cílového portu.

Typ pravidla plovoucí IP adresy je základem několika vzorů konfigurace nástroje pro vyrovnávání zatížení. Jedním z příkladů, který je aktuálně k dispozici, je Konfigurace jedné nebo více naslouchacích procesů skupiny dostupnosti AlwaysOn. V průběhu času zdokumentujeme další z těchto scénářů. Podrobnější informace o konkrétních konfiguracích hostovaného operačního systému, které jsou potřeba k povolení plovoucí IP adresy, najdete v další části o konfiguraci plovoucí IP adresy azure Load Balanceru.

Konfigurace hostovaného operačního systému s plovoucí IP adresou

Abyste mohli fungovat, nakonfigurujete hostovaný operační systém pro virtuální počítač tak, aby přijímal veškerý provoz vázaný na front-endovou IP adresu a port nástroje pro vyrovnávání zatížení. Konfigurace virtuálního počítače vyžaduje:

  • přidání síťového rozhraní zpětné smyčky
  • konfigurace zpětné smyčky s front-endovou IP adresou nástroje pro vyrovnávání zatížení
  • zajištění, že systém může odesílat a přijímat pakety v rozhraních, která nemají přiřazenou IP adresu k danému rozhraní. Systémy Windows vyžadují rozhraní pro nastavení pro použití modelu "slabý hostitel". Pro systémy Linux se tento model používá standardně.
  • konfigurace brány firewall hostitele tak, aby umožňovala provoz na front-endovém portu IP.

Poznámka:

Následující příklady používají protokol IPv4; pokud chcete použít protokol IPv6, nahraďte "ipv6" za "ipv4". Všimněte si také, že plovoucí IP adresa pro IPv6 nefunguje pro interní nástroje pro vyrovnávání zatížení.

Windows Server

Rozbalte

Pro každý virtuální počítač v back-endovém fondu spusťte na příkazovém řádku Windows na serveru následující příkazy.

Pokud chcete získat seznam názvů rozhraní, které máte na virtuálním počítači, zadejte tento příkaz:

netsh interface ipv4 show interface 

Jako síťovou kartu virtuálního počítače (spravovanou Azure) zadejte tento příkaz.

netsh interface ipv4 set interface "interfacename" weakhostreceive=enabled

(nahraďte "interfacename" názvem tohoto rozhraní)

Pro každé rozhraní zpětné smyčky, které jste přidali, opakujte tyto příkazy:

netsh interface ipv4 add addr floatingipaddress floatingip floatingipnetmask
netsh interface ipv4 set interface floatingipaddress weakhostreceive=enabled  weakhostsend=enabled 

(nahraďte loopbackinterface názvem tohoto rozhraní zpětné smyčky a plovoucí desetinnou čárkou a plovoucí maskou s příslušnými hodnotami, které odpovídají front-endové IP adrese nástroje pro vyrovnávání zatížení).

Pokud hostitel hosta používá bránu firewall, ujistěte se, že je nastavené pravidlo, aby se provoz mohl dostat k virtuálnímu počítači na příslušných portech.

Tato ukázková konfigurace předpokládá konfiguraci front-endové IP adresy nástroje pro vyrovnávání zatížení 1.2.3.4 a pravidlo vyrovnávání zatížení pro port 80:

netsh int ipv4 set int "Ethernet" weakhostreceive=enabled
netsh int ipv4 add addr "Loopback Pseudo-Interface 1" 1.2.3.4 255.255.255.0
netsh int ipv4 set int "Loopback Pseudo-Interface 1" weakhostreceive=enabled weakhostsend=enabled
netsh advfirewall firewall add rule name="http" protocol=TCP localport=80 dir=in action=allow enable=yes

Ubuntu

Rozbalte

Pro každý virtuální počítač v back-endovém fondu spusťte následující příkazy prostřednictvím relace SSH.

Pokud chcete získat seznam názvů rozhraní, které máte na virtuálním počítači, zadejte tento příkaz:

ip addr

Pro každé rozhraní zpětné smyčky opakujte tyto příkazy, které přiřazují plovoucí IP adresu aliasu zpětné smyčky:

sudo ip addr add floatingip/floatingipnetmask dev lo:0

(nahraďte plovoucí a plovoucí masku plovoucí sítě příslušnými hodnotami, které odpovídají front-endové IP adrese nástroje pro vyrovnávání zatížení).

Pokud hostitel hosta používá bránu firewall, ujistěte se, že je nastavené pravidlo, aby se provoz mohl dostat k virtuálnímu počítači na příslušných portech.

Tato ukázková konfigurace předpokládá konfiguraci front-endové IP adresy nástroje pro vyrovnávání zatížení 1.2.3.4 a pravidlo vyrovnávání zatížení pro port 80. Tento příklad také předpokládá použití UFW (Uncomplicated Firewall) v Ubuntu.

sudo ip addr add 1.2.3.4/24 dev lo:0
sudo ufw allow 80/tcp

Omezení

  • Pokud je u pravidla vyrovnávání zatížení povolená plovoucí IP adresa, musí vaše aplikace pro odchozí komunikaci používat primární konfiguraci IP síťového rozhraní.
  • Pro scénáře vyrovnávání zatížení nemůžete použít plovoucí IP adresu v sekundárních konfiguracích IPv4. Toto omezení neplatí pro veřejné nástroje pro vyrovnávání zatížení s konfigurací duálního zásobníku (IPv4 a IPv6) ani pro architektury, které využívají službu NAT Gateway pro odchozí připojení.
  • Pokud vaše aplikace vytvoří vazbu na front-endovou IP adresu nakonfigurovanou v rozhraní zpětné smyčky v hostovaném operačním systému, odchozí provoz Azure nepřepíše odchozí tok a tok selže. Projděte si scénáře odchozích přenosů.

Další kroky