Udostępnij za pośrednictwem


Konfiguracja pływających adresów IP usługi Azure Load Balancer

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: Ten diagram przedstawia ruch sieciowy przez moduł równoważenia obciążenia przed włączeniem pływających adresów IP.

Ten diagram przedstawia ruch sieciowy przez urządzenie równoważenia obciążenia po włączeniu Floating 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 zaplecza uruchom następujące polecenia w wierszu polecenia systemu Windows na serwerze.

  1. Aby uzyskać listę nazw interfejsów na maszynie wirtualnej, wprowadź następujące polecenie:

    netsh interface ipv4 show interface 
    
  2. W 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=enabled
    
  3. Dla 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=enabled 
    
  4. Na koniec, jeśli maszyna gościa używa zapory, upewnij się, że reguła została skonfigurowana tak, aby ruch mógł dotrzeć do maszyny wirtualnej na odpowiednich portach. W tej przykładowej konfiguracji zakłada się, że adres IP frontowego modułu równoważenia obciążenia to 1.2.3.4, oraz ustalenie reguły 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=yes
    

Ubuntu

Rozszerzać

Dla każdej maszyny wirtualnej w puli zaplecza uruchom następujące polecenia za pośrednictwem sesji SSH.

  1. Aby uzyskać listę nazw interfejsów na maszynie wirtualnej, wpisz następujące polecenie:

    ip addr
    
  2. Dla 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:

    sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0
    
  3. Na koniec, jeśli maszyna gościa używa zapory, upewnij się, że reguła została skonfigurowana tak, aby ruch mógł dotrzeć do maszyny wirtualnej na odpowiednich portach. W tej przykładowej konfiguracji zakłada się konfigurację adresu IP frontowego modułu równoważenia obciążenia 1.2.3.4, regułę równoważenia obciążenia dla portu 80 oraz użycie UFW (Uncomplicated Firewall - nieskomplikowanej zapory) w systemie Ubuntu.

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

Ograniczenia

  • 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