Jak działa usługa Azure Load Balancer

Ukończone

Usługa Azure Load Balancer działa w warstwie transportowej modelu OSI. Ta funkcja warstwy 4 umożliwia zarządzanie ruchem na podstawie określonych właściwości ruchu. Właściwości, w tym adres źródłowy i docelowy, typ protokołu TCP lub UDP oraz numer portu.

Usługa Load Balancer ma kilka elementów, które współpracują ze sobą, aby zapewnić wysoką dostępność i wydajność aplikacji:

  • Adres IP frontonu
  • Reguły modułu równoważenia obciążenia
  • Pula zaplecza
  • Sondy kondycji
  • Reguły NAT dla ruchu przychodzącego
  • Porty wysokiej dostępności
  • Reguły ruchu wychodzącego

Adres IP frontonu

Adres IP frontonu to adres używany przez klientów do nawiązywania połączenia z aplikacją internetową. Adres IP frontonu może być publicznym lub prywatnym adresem IP. Moduły równoważenia obciążenia platformy Azure mogą mieć wiele adresów IP frontonu. Wybór publicznego lub prywatnego adresu IP określa typ modułu równoważenia obciążenia do utworzenia:

  • Publiczny adres IP: publiczny moduł równoważenia obciążenia: publiczny moduł równoważenia obciążenia mapuje publiczny adres IP i port ruchu przychodzącego na prywatny adres IP i port maszyny wirtualnej. Można dystrybuować określone typy ruchu między wieloma maszynami wirtualnymi lub usługami, stosując reguły równoważenia obciążenia. Na przykład można rozłożyć obciążenie ruchu związanego z żądaniami internetowymi na wiele serwerów internetowych. Moduł równoważenia obciążenia mapuje ruch odpowiedzi z prywatnego adresu IP i portu maszyny wirtualnej na publiczny adres IP i port modułu równoważenia obciążenia. Następnie przesyła odpowiedź z powrotem do klienta żądającego.

  • Prywatny adres IP: wewnętrzny moduł równoważenia obciążenia: wewnętrzny moduł równoważenia obciążenia dystrybuuje ruch do zasobów, które znajdują się w sieci wirtualnej. Platforma Azure ogranicza dostęp do adresów IP frontonu sieci wirtualnej o zrównoważonym obciążeniu. Adresy IP frontonu i sieci wirtualne nigdy nie są bezpośrednio widoczne dla internetowego punktu końcowego. Wewnętrzne aplikacje biznesowe działają na platformie Azure i są dostępne z platformy Azure lub z zasobów lokalnych za pośrednictwem sieci VPN lub połączenia usługi ExpressRoute.

    Diagram that depicts how public and internal load balancers work in Azure Load Balancer.

Reguły usługi Load Balancer

Reguła modułu równoważenia obciążenia definiuje sposób dystrybucji ruchu do puli zaplecza. Reguła mapuje daną kombinację adresów IP i portów frontonu na zestaw adresów IP zaplecza i kombinację portów.

Diagram that depicts how load balancer rules work in Azure Load Balancer.

Ruch jest zarządzany przy użyciu skrótu z pięcioma krotkami wykonanymi z następujących elementów:

  • Źródłowy adres IP: adres IP klienta żądającego.
  • Port źródłowy: port klienta żądającego.
  • Docelowy adres IP: docelowy adres IP żądania.
  • Port docelowy: port docelowy żądania.
  • Typ protokołu: określony typ protokołu, TCP lub UDP.
  • Koligacja sesji: gwarantuje, że ten sam węzeł puli zawsze obsługuje ruch dla klienta.

Usługa Load Balancer umożliwia równoważenie obciążenia usług na wielu portach, wielu adresach IP lub obu tych portach. Dla każdego adresu IP frontonu można skonfigurować różne reguły równoważenia obciążenia. Wiele konfiguracji frontonu jest obsługiwanych tylko w przypadku maszyn wirtualnych IaaS.

Usługa Load Balancer nie może stosować różnych reguł na podstawie zawartości ruchu wewnętrznego, ponieważ działa w warstwie 4 (warstwa transportowa) modelu OSI. Jeśli musisz zarządzać ruchem na podstawie właściwości warstwy 7 (warstwa aplikacji), musisz wdrożyć rozwiązanie, takie jak aplikacja systemu Azure Gateway.

Pula zaplecza

Pula zaplecza to grupa maszyn wirtualnych lub wystąpień w zestawie skalowania maszyn wirtualnych, która odpowiada na przychodzące żądanie. Aby efektywnie skalować kosztowo w celu spełnienia dużych ilości ruchu przychodzącego, wytyczne dotyczące przetwarzania zwykle zaleca dodawanie większej liczby wystąpień do puli zaplecza.

Usługa Load Balancer implementuje automatyczną ponowną konfigurację w celu ponownego dystrybuowania obciążenia w zmienionej liczbie wystąpień podczas skalowania wystąpień w górę lub w dół. Na przykład w przypadku dodania dwóch kolejnych wystąpień maszyn wirtualnych do puli zaplecza usługa Load Balancer ponownie skonfiguruje się, aby rozpocząć równoważenie ruchu do tych wystąpień na podstawie już skonfigurowanych reguł równoważenia obciążenia.

Sondy kondycji

Sonda kondycji służy do określania stanu kondycji wystąpień w puli zaplecza. Ta sonda kondycji określa, czy wystąpienie jest w dobrej kondycji i może odbierać ruch. Dla sond kondycji można zdefiniować próg złej kondycji. Gdy sonda nie odpowie, moduł równoważenia obciążenia przestaje wysyłać nowe połączenia do wystąpień w złej kondycji. Niepowodzenie sondy nie ma wpływu na istniejące połączenia. Połączenie będzie kontynuowane do:

  • Aplikacja kończy przepływ.
  • Występuje limit czasu bezczynności.
  • Maszyna wirtualna zostanie zamknięta.

Usługa Load Balancer umożliwia konfigurowanie różnych typów sond kondycji dla punktów końcowych: TCP, HTTP i HTTPS.

  • Niestandardowa sonda TCP: ta sonda polega na ustanowieniu pomyślnej sesji TCP na zdefiniowanym porcie sondy. Jeśli określony odbiornik na maszynie wirtualnej istnieje, sonda powiedzie się. Jeśli połączenie zostanie odrzucone, sonda zakończy się niepowodzeniem. Można określić wartość progową Port, Interwał i Zła kondycja.
  • Sonda niestandardowa HTTP lub HTTPS: moduł równoważenia obciążenia regularnie sonduje punkt końcowy (domyślnie co 15 sekund). Wystąpienie jest w dobrej kondycji, jeśli odpowiada za pomocą protokołu HTTP 200 w okresie przekroczenia limitu czasu (wartość domyślna to 31 sekund). Każdy stan inny niż HTTP 200 powoduje niepowodzenie sondy. Można określić port (port), identyfikator URI żądania stanu kondycji z zaplecza (URI), ilość czasu między próbami sondy (Interwał) oraz liczbę błędów, które muszą wystąpić, aby wystąpienie było uznawane za w złej kondycji (próg złej kondycji).

Trwałość sesji

Domyślnie usługa Load Balancer dystrybuuje ruch sieciowy równomiernie między wieloma wystąpieniami maszyn wirtualnych. Zapewnia lepość tylko w ramach sesji transportu. Trwałość sesji określa sposób obsługi ruchu z klienta. Domyślne zachowanie (Brak) polega na tym, że każda maszyna wirtualna w dobrej kondycji może obsługiwać kolejne żądania od klienta.

Trwałość sesji jest również nazywana koligacją sesji, koligacją źródłowego adresu IP lub koligacją adresu IP klienta. Ten tryb dystrybucji używa dwukropka (źródłowy adres IP i docelowy adres IP) lub trzy krotki (źródłowy adres IP, docelowy adres IP i typ protokołu) w celu kierowania do wystąpień zaplecza. W przypadku korzystania z trwałości sesji połączenia z tego samego klienta przechodzą do tego samego wystąpienia zaplecza w puli zaplecza. Możesz skonfigurować jedną z następujących opcji trwałości sesji:

  • Brak (wartość domyślna): określa, że każda maszyna wirtualna w dobrej kondycji może obsłużyć żądanie.
  • Adres IP klienta (2 krotki): określa, że to samo wystąpienie zaplecza może obsługiwać kolejne żądania z tego samego adresu IP klienta.
  • Adres IP klienta i protokół (3 krotka): określa, że to samo wystąpienie zaplecza może obsługiwać kolejne żądania z tego samego adresu IP klienta i kombinacji protokołu.

To zachowanie można zmienić, konfigurując jedną z opcji opisanych w poniższych sekcjach.

Porty wysokiej dostępności

Reguła modułu równoważenia obciążenia skonfigurowana przy protocol - all and port - 0 użyciu jest nazywana regułą portu wysokiej dostępności (HA). Ta reguła umożliwia pojedynczej regule równoważenie obciążenia wszystkich przepływów TCP i UDP, które docierają do wszystkich portów wewnętrznego standardowego modułu równoważenia obciążenia.

Decyzja o równoważeniu obciążenia jest podjęta na przepływ. Ta akcja jest oparta na następującym połączeniu z pięcioma krotkami:

  • Źródłowy adres IP
  • Port źródłowy
  • Docelowy adres IP
  • Port docelowy
  • Protokół

Reguły równoważenia obciążenia portów wysokiej dostępności ułatwiają obsługę krytycznych scenariuszy, takich jak wysoka dostępność i skalowanie dla wirtualnych urządzeń sieciowych (WUS) wewnątrz sieci wirtualnych. Funkcja może pomóc, gdy wiele portów musi być zrównoważonych obciążenia.

Diagram that shows how high availability ports work in Azure Load Balancer.

Reguły NAT dla ruchu przychodzącego

Reguły równoważenia obciążenia można używać w połączeniu z regułami translatora adresów sieciowych (NAT). Można na przykład użyć translatora adresów sieciowych z publicznego adresu modułu równoważenia obciążenia do protokołu TCP 3389 na określonej maszynie wirtualnej. Ta kombinacja reguł umożliwia dostęp pulpitu zdalnego spoza platformy Azure.

Diagram that shows how inbound NAT rules work in Azure Load Balancer.

Reguły ruchu wychodzącego

Reguła ruchu wychodzącego konfiguruje translowanie adresów sieciowych (SNAT) dla wszystkich maszyn wirtualnych lub wystąpień zidentyfikowanych przez pulę zaplecza. Ta reguła umożliwia wystąpieniom w zapleczu komunikację (wychodzącą) z Internetem lub innymi publicznymi punktami końcowymi.

Diagram that shows how outbound rules work in Azure Load Balancer.