Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Moduł równoważenia obciążenia oferuje kilka możliwości zarówno dla aplikacji UDP, jak i TCP.
Pływający adres IP
Niektóre scenariusze aplikacji preferują lub wymagają użycia tego samego portu przez wiele wystąpień aplikacji na jednej maszynie wirtualnej w puli zaplecza. Typowe przykłady ponownego użycia portów obejmują klastrowanie pod kątem wysokiej dostępności, wirtualnych urządzeń sieciowych i uwidacznianie wielu punktów końcowych PROTOKOŁU TLS bez ponownego szyfrowania. Jeśli chcesz ponownie użyć portu zaplecza w wielu regułach, musisz włączyć pływający adres IP w definicji reguły. Włączenie pływających adresów IP zapewnia większą elastyczność.
| Stan pływających adresów IP | Wynik |
|---|---|
| Włączony pływający adres IP | Platforma Azure zmienia mapowanie adresów IP na adres IP frontonu modułu równoważenia obciążenia |
| Pływający adres IP wyłączony | Platforma Azure uwidacznia adres IP wystąpień maszyn wirtualnych |
Na diagramach zobaczysz, jak działa mapowanie adresów IP przed i po włączeniu pływających adresów IP:
Pływający adres IP można skonfigurować w regule modułu równoważenia obciążenia za pośrednictwem witryny Azure Portal, interfejsu API REST, interfejsu wiersza polecenia, programu PowerShell lub innego klienta. Oprócz konfiguracji reguły należy również skonfigurować system operacyjny gościa (Guest OS) maszyny wirtualnej, aby używać dynamicznych adresów IP.
Typ reguły pływających adresów IP jest podstawą kilku wzorców konfiguracji modułu równoważenia obciążenia. Przykładem, który jest obecnie dostępny, jest konfiguracja jednego lub więcej odbiorników grupy dostępności Always On. W czasie będziemy dokumentać więcej z tych scenariuszy.
Konfiguracja pływających adresów IP systemu operacyjnego gościa
Aby działać poprawnie, należy skonfigurować system operacyjny gościa dla maszyny wirtualnej, aby odbierał cały ruch przeznaczony dla zewnętrznego adresu IP i portu równoważnika obciążenia. Konfiguracja maszyny wirtualnej wymaga:
- dodawanie sieciowego interfejsu sprzężenia zwrotnego
- Konfigurowanie pętli zwrotnej przy użyciu adresu IP interfejsu publicznego równoważnika obciążenia
- zapewnienie, że system może wysyłać/odbierać pakiety na interfejsach, które nie mają adresu IP przypisanego do tego interfejsu. Systemy Windows wymagają ustawienia interfejsów do korzystania z modelu „słabego hosta”. W przypadku systemów Linux ten model jest zwykle używany domyślnie.
- Skonfigurowanie zapory hosta w celu zezwolenia na ruch na porcie IP frontendu.
Uwaga
Poniższe przykłady używają protokołu IPv4; aby użyć protokołu IPv6, zastąp ciąg "ipv6" ciągiem "ipv4".
Serwer z systemem Windows
Rozszerzać
Dla każdej maszyny wirtualnej w puli backendowej najpierw dodaj adapter sieciowy loopback, korzystając z zarządzania kartą sieciową Windows Server. Następnie wykonaj następujące polecenia na podwyższonym wierszu poleceń Windows na serwerze.
Aby uzyskać listę nazw interfejsów na maszynie wirtualnej, wprowadź następujące polecenie:
netsh interface ipv4 show interfaceW przypadku karty sieciowej maszyny wirtualnej (zarządzanej przez Azure) wprowadź następujące polecenie po zastąpieniu interface-name nazwą interfejsu, którego chcesz użyć:
netsh interface ipv4 set interface <interface-name> weakhostreceive=enabledDla każdego dodanego interfejsu sprzężenia zwrotnego wprowadź następujące polecenia po zastąpieniu loopback-interface-name nazwą interfejsu sprzężenia zwrotnego oraz floating-IP i floating-IPnetmask odpowiednimi wartościami odpowiadającymi adresowi frontonu modułu równoważenia obciążenia IP:
netsh interface ipv4 add addr <loopback-interface-name> <floating-IP> <floating-IPnetmask> netsh interface ipv4 set interface <loopback-interface-name> weakhostreceive=enabled weakhostsend=enabledJeśli host gościnny używa zapory, upewnij się, że ustawisz regułę, aby ruch mógł dotrzeć do maszyny wirtualnej na odpowiednich portach. Ta przykładowa konfiguracja zakłada konfigurację IP frontendowego load balancera w wersji 1.2.3.4 oraz regułę równoważenia obciążenia dla portu 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=yesSprawdź, czy interfejs loopback ma przypisany adres IP frontend:
netsh interface ipv4 show addresses name="<loopback-interface-name>"Potwierdź, że wyjście zawiera adres IP frontend. Z klienta, który może dotrzeć do load balancera, połącz się z adresem IP frontendu i portem reguł, aby zweryfikować, czy ruch dociera do maszyny wirtualnej.
Ubuntu
Rozszerzać
Dla każdej maszyny wirtualnej w puli backendowej wykonaj następujące polecenia przez sesję SSH. Linux udostępnia już interfejs loopback lo; polecenie używa lo:0 jako etykiety adresu, więc nie tworzysz oddzielnego interfejsu loopback.
Aby uzyskać listę nazw interfejsów na maszynie wirtualnej, wpisz następujące polecenie:
ip addrDodaj adres IP frontendu do urządzenia loopback. Zastąp element floating-IP adresem IP frontonu modułu równoważenia obciążenia, a element floating-IPnetmask długością prefiksu CIDR systemu Linux, na przykład
24:sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0Jeśli host gościnny używa zapory, upewnij się, że ustawisz regułę, aby ruch mógł dotrzeć do maszyny wirtualnej na odpowiednich portach. Ta przykładowa konfiguracja zakłada konfigurację IP frontendu load balancera w wersji 1.2.3.4, regułę równoważenia obciążenia dla portu 80 oraz użycie UFW (Uncomplicated Firewall) w Ubuntu.
sudo ip addr add 1.2.3.4/24 dev lo:0 sudo ufw allow 80/tcpSprawdź, czy urządzenie loopback ma przypisany adres IP frontend:
ip address show dev loPotwierdź, że wyjście zawiera adres IP frontend. Z klienta, który może dotrzeć do load balancera, połącz się z adresem IP frontendu i portem reguł, aby zweryfikować, czy ruch dociera do maszyny wirtualnej.
Ograniczenia
Gdy włączasz Floating IP, łączność wychodząca zależy od konfiguracji IP interfejsu sieciowego, której używa aplikacja, oraz od tego, jak aplikacja wiąże się z loopbackowym adresem IP frontend.
- W przypadku włączenia pływających adresów IP w regule równoważenia obciążenia aplikacja musi używać podstawowej konfiguracji adresu IP interfejsu sieciowego dla ruchu wychodzącego.
- Jeśli aplikacja wiąże się z adresem IP frontonu skonfigurowanym w interfejsie sprzężenia zwrotnego w systemie operacyjnym gościa, połączenie wychodzące platformy Azure nie ponownie zapisuje przepływu wychodzącego, a przepływ kończy się niepowodzeniem. Przejrzyj scenariusze wychodzące.
- W scenariuszach równoważenia obciążenia nie można używać zmiennego adresu IP w konfiguracjach pomocniczych adresów IP. To ograniczenie nie dotyczy publicznych modułów równoważenia obciążenia, w których pomocnicza konfiguracja adresu IP to IPv6 i część konfiguracji podwójnego stosu lub architektur korzystających z bramy translatora adresów sieciowych na potrzeby łączności wychodzącej.
Następne kroki
- Dowiedz się więcej o korzystaniu z wielu interfejsów użytkownika z Azure Load Balancer.
- Dowiedz się więcej o połączeniach wychodzących usługi Azure Load Balancer.