Reguły ruchu wychodzącego Azure Load Balancer

Reguły ruchu wychodzącego umożliwiają jawne definiowanie translacji źródłowych adresów sieciowych (SNAT) dla publicznego modułu usługa Load Balancer w warstwie Standardowa. Ta konfiguracja umożliwia używanie publicznych adresów IP modułu równoważenia obciążenia w celu zapewnienia wychodzącej łączności z Internetem dla instancji zaplecza.

Ta konfiguracja umożliwia:

  • Maskowanie adresów IP
  • Upraszczanie list dozwolonych.
  • Zmniejsza liczbę zasobów publicznych adresów IP na potrzeby wdrożenia.

W przypadku reguł ruchu wychodzącego masz pełną kontrolę deklaratywną nad połączeniami internetowymi wychodzącymi. Reguły ruchu wychodzącego umożliwiają skalowanie i dostrajanie tej możliwości do określonych potrzeb.

Reguły wychodzące mają zastosowanie tylko wtedy, gdy maszyna wirtualna backendowa (VM) nie posiada publicznego adresu IP na poziomie instancji.

Zrzut ekranu przedstawiający konfigurację portów SNAT na maszynach wirtualnych z regułami modułu równoważenia obciążenia wychodzącego.

Za pomocą reguł ruchu wychodzącego można jawnie zdefiniować zachowanie ruchu wychodzącego SNAT .

Reguły ruchu wychodzącego umożliwiają kontrolowanie:

  • Które maszyny wirtualne są tłumaczone na publiczne adresy IP.
    • Dwie reguły, w których pula zaplecza 1 używa obu niebieskich adresów IP, a pula zaplecza 2 używa żółtego prefiksu IP.
  • Sposób przydzielania wychodzących portów SNAT.
    • Jeśli pula zaplecza 2 jest jedyną pulą wykonującą połączenia wychodzące, przypisz wszystkie porty SNAT do puli zaplecza 2, a do puli zaplecza 1 nie przypisuj żadnych.
  • Dla których protokołów należy zapewnić tłumaczenie wychodzące.
    • Jeśli pula zaplecza 2 wymaga portów UDP dla ruchu wychodzącego, a pula zaplecza 1 wymaga protokołu TCP, przypisz porty TCP portom 1 i UDP do 2.
  • Jaki czas trwania należy ustawić dla limitu czasu bezczynności połączenia wychodzącego (od 4 do 120 minut).
    • Jeśli istnieją długotrwałe połączenia z portami keepalives, zarezerwuj bezczynne porty dla długotrwałych połączeń przez maksymalnie 120 minut. Przyjmijmy, że nieaktywne połączenia są porzucone i zwolnij porty w ciągu 4 minut na nowe połączenia
  • Czy wysłać reset TCP przy przekroczeniu limitu czasu bezczynności.
    • Czy w przypadku przekroczenia limitu czasu bezczynnych połączeń wysyłamy RST TCP do klienta i serwera, aby wiedzieli, że przepływ został porzucony?

Ważne

Gdy pula zaplecza zostanie skonfigurowana przy użyciu adresu IP, będzie zachowywać się jako podstawowy Load Balancer z domyślnym ruchem wychodzącym włączonym. Dla domyślnie zabezpieczonej konfiguracji i aplikacji z wymagającym ruchem wychodzącym, skonfiguruj grupę zaplecza za pomocą karty sieciowej.

Definicja reguły ruchu wychodzącego

Reguły ruchu wychodzącego są zgodne z tą samą znaną składnią co równoważenie obciążenia i reguły NAT dla ruchu przychodzącego: frontend + parametry + pula zaplecza.

Reguła ruchu wychodzącego konfiguruje translację NAT dla wszystkich maszyn wirtualnych zidentyfikowanych przez pulę zaplecza, aby zostały przetłumaczone na frontend.

Parametry zapewniają szczegółową kontrolę nad algorytmem NAT wychodzącym.

Skalowanie NAT wychodzącego za pomocą wielu adresów IP

Każdy dodatkowy adres IP dostarczony przez frontend zapewnia dodatkowe 64 000 tymczasowych portów, które mogą być używane jako porty SNAT. Moduł równoważenia obciążenia używa adresów IP zgodnie z potrzebami na podstawie dostępnych portów. Moduł równoważenia obciążenia użyje następnego adresu IP, gdy nie będzie już można nawiązać połączeń z bieżącym adresem IP w użyciu.

Użyj wielu adresów IP, aby zaplanować scenariusze na dużą skalę. Użyj reguł wychodzących, aby ograniczyć wyczerpanie SNAT zgodnie z opisem w Pomoc techniczna i rozwiązywanie problemów dotyczących Azure Load Balancer.

Możesz również użyć publicznego prefiksu IP bezpośrednio z regułą ruchu wychodzącego.

Prefiks publicznego adresu IP zwiększa skalowanie wdrożenia. Prefiks można dodać do listy dozwolonych przepływów pochodzących z zasobów Azure. Można skonfigurować konfigurację IP interfejsu frontowego w równoważniku obciążenia, aby wskazywać na prefiks publicznego adresu IP.

Moduł równoważenia obciążenia ma kontrolę nad prefiksem publicznego adresu IP. Reguła ruchu wychodzącego będzie automatycznie korzystać z innych publicznych adresów IP zawartych w prefiksie, gdy nie można już nawiązać więcej połączeń wychodzących z obecnie używanym adresem IP z tego prefiksu.

Każdy z adresów IP w ramach publicznego prefiksu adresów IP zapewnia dodatkowe 64 000 portów efemerycznych na adres IP, do wykorzystania przez load balancer jako porty SNAT.

Limit czasu bezczynności przepływu wychodzącego i resetowanie protokołu TCP

Reguły ruchu wychodzącego udostępniają parametr konfiguracji do kontrolowania limitu czasu bezczynności przepływu wychodzącego i dopasowania go do potrzeb aplikacji. Domyślny czas bezczynności dla połączeń wychodzących wynosi 4 minuty. Aby uzyskać więcej informacji, zobacz konfigurowanie limitów czasu bezczynności.

Domyślnym zachowaniem modułu równoważenia obciążenia jest dyskretne usunięcie przepływu po osiągnięciu limitu czasu bezczynności ruchu wychodzącego. Parametr enableTCPReset umożliwia przewidywalne zachowanie i kontrolę aplikacji. Parametr określa, czy wysyłać dwukierunkowy reset TCP (TCP RST) po upływie limitu czasu bezczynności dla ruchu wychodzącego.

Zobacz Resetowanie protokołu TCP z powodu limitu czasu bezczynności, aby uzyskać szczegółowe informacje, w tym dostępność regionu.

Jawne zabezpieczanie i kontrolowanie łączności wychodzącej

Reguły równoważenia obciążenia automatycznie programują wychodzący NAT. Niektóre scenariusze korzystają lub wymagają wyłączenia automatycznego programowania NAT dla ruchu wychodzącego przez regułę równoważenia obciążenia. Wyłączenie za pomocą reguły umożliwia kontrolowanie lub uściślenie zachowania.

Tego parametru można użyć na dwa sposoby:

  1. Blokowanie adresu IP przychodzącego dla ruchu wychodzącego SNAT. Wyłącz wychodzący protokół SNAT w regule równoważenia obciążenia.

  2. Dopasowanie parametrów wychodzących SNAT dla adresu IP używanego jednocześnie do ruchu przychodzącego i wychodzącego. Automatyczny NAT wychodzący musi być wyłączony, aby reguła ruchu wychodzącego mogła przejąć kontrolę. Aby zmienić alokację portów SNAT adresu używanego również dla ruchu przychodzącego, disableOutboundSnat parametr musi być ustawiony na wartość true.

Operacja konfiguracji reguły ruchu wychodzącego kończy się niepowodzeniem, jeśli spróbujesz ponownie zdefiniować adres IP używany do ruchu przychodzącego. Najpierw wyłącz translację NAT reguły równoważenia obciążenia.

Ważne

Maszyna wirtualna nie będzie miała łączności wychodzącej, jeśli ten parametr ma wartość true i nie ma reguły ruchu wychodzącego w celu zdefiniowania łączności wychodzącej. Niektóre operacje maszyny wirtualnej lub aplikacji mogą zależeć od dostępnej łączności wychodzącej. Upewnij się, że rozumiesz zależności scenariusza i rozważasz wpływ na wprowadzenie tej zmiany.

Czasami jest to niepożądane, aby maszyna wirtualna tworzyła przepływ wychodzący. Może istnieć wymóg zarządzania miejscami docelowymi odbierających przepływy wychodzące lub miejscami docelowymi rozpoczynającymi przepływy przychodzące. Użyj grup zabezpieczeń sieci, aby zarządzać celami osiąganymi przez maszynę wirtualną. Użyj sieciowych grup zabezpieczeń, aby zarządzać publicznymi miejscami docelowymi rozpoczynającymi przychodzące przepływy.

Po zastosowaniu sieciowej grupy zabezpieczeń do maszyny wirtualnej o zrównoważonym obciążeniu zwróć uwagę na tagi usługi i domyślne reguły zabezpieczeń.

Upewnij się, że maszyna wirtualna może odbierać żądania sondy kondycji z Azure Load Balancer.

Jeśli sieciowa grupa zabezpieczeń blokuje żądania sondy kondycji z domyślnego tagu AZURE_LOADBALANCER, sonda kondycji maszyny wirtualnej kończy się niepowodzeniem i maszyna wirtualna jest oznaczona jako niedostępna. Moduł równoważenia obciążenia przestaje wysyłać nowe przepływy do tej maszyny wirtualnej.

Scenariusze reguł ruchu wychodzącego

Scenariusz 1. Konfigurowanie połączeń wychodzących do określonego zestawu publicznych adresów IP lub prefiksu

Konfiguruj publiczne adresy IP używane do połączeń wychodzących

Ten scenariusz dotyczy maszyn wirtualnych backendowych na publicznym usługa Load Balancer w warstwie Standardowa. Użyj go, aby połączenia wychodzące pochodziły z określonego zestawu publicznych adresów IP lub publicznego prefiksu IP. Następnie możesz dodać te adresy lub prefiks do listy dozwolonych lub blokowanych.

Ten publiczny adres IP lub prefiks może być taki sam jak używany przez regułę równoważenia obciążenia.

Aby użyć innego publicznego adresu IP lub prefiksu niż używany przez regułę równoważenia obciążenia:

  1. Utwórz prefiks publicznego adresu IP lub publiczny adres IP.
  2. Utwórz publiczny standardowy moduł równoważenia obciążenia
  3. Utwórz fronton odwołujący się do prefiksu publicznego adresu IP lub publicznego adresu IP, którego chcesz użyć.
  4. Ponowne używanie puli zaplecza lub tworzenie puli zaplecza i umieszczanie maszyn wirtualnych w puli zaplecza publicznego modułu równoważenia obciążenia
  5. Skonfiguruj regułę wychodzącą w publicznym module równoważenia obciążenia, aby włączyć outbound NAT dla maszyn wirtualnych przy użyciu frontend. Nie zaleca się używania reguły równoważenia obciążenia dla ruchu wychodzącego. Wyłącz wychodzący protokół SNAT dla reguły równoważenia obciążenia.

Scenariusz 2. Modyfikowanie alokacji portów SNAT

Konfiguruj porty SNAT dla każdej instancji backendowej

Ten scenariusz dotyczy publicznego modułu równoważenia obciążenia w warstwie Standard z regułą ruchu wychodzącego. Użyj go do dostrojenia automatycznego przydziału portów SNAT w zależności od wielkości puli backendowej, w tym zwiększania alokacji, gdy doświadczasz wyczerpania SNAT.

Reguła alokacji Behavior
Porty dostępne dla frontendu Każdy publiczny adres IP współtworzy maksymalnie 64 000 portów efemerycznych.
Porty dostępne dla każdej maszyny wirtualnej Podziel łączną liczbę dostępnych portów wśród maszyn wirtualnych w puli backendowej. Na przykład jedna maszyna wirtualna może odbierać do 64 000 portów z jednego adresu IP frontend, podczas gdy dwie maszyny wirtualne mogą odbierać do 32 000 portów każda.
Przyrost alokacji Określ porty w wielokrotnościach ośmiu. Azure odrzuca wartości, które nie są podzielne przez osiem. Reguły równoważenia obciążenia i reguły NAT dla ruchu przychodzącego każda z nich wykorzystuje zakres ośmiu portów, ale reguły współdzielące ten sam zakres nie wykorzystują dodatkowych portów.
Walidacja pojemności Porty przydzielane na VM pomnożone przez liczbę VM nie mogą przekroczyć portów dostępnych ze wszystkich adresów IP frontend. Azure odrzuca alokacje przekraczające tę pojemność.
Przywróć automatyczną alokację Określ 0 liczbę portów.

Na przykład przydział 10 000 portów na maszynę wirtualną dla siedmiu maszyn wymaga 70 000 portów. Jeden adres IP frontendu zapewnia tylko 64 000 portów, więc Azure odrzuca tę konfigurację. Dodaj kolejny publiczny adres IP do frontendu lub zmniejsz alokację na maszynę wirtualną.

Więcej informacji można znaleźć w tabeli przydziału portów SNAT.

Scenariusz 3. Włączanie tylko ruchu wychodzącego

Zapewnienie łączności wychodzącej bez reguł przychodzących

Ten scenariusz dotyczy publicznego modułu równoważenia obciążenia usługa Load Balancer w warstwie Standardowa, którego maszyny wirtualne w puli zaplecza wymagają łączności wychodzącej bez reguł równoważenia obciążenia ruchu przychodzącego. Konfiguruj regułę wychodzącą samodzielnie, bez konieczności konfigurowania dodatkowych reguł.

Uwaga

Azure NAT Gateway może zapewnić łączność wychodzącą dla maszyn wirtualnych bez konieczności używania modułu równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz What is Azure NAT Gateway? (Co to jest Azure NAT Gateway?

Scenariusz 4: NAT wychodzący tylko dla maszyn wirtualnych (bez NAT przychodzącego)

Uwaga

Azure NAT Gateway może zapewnić łączność wychodzącą dla maszyn wirtualnych bez konieczności używania modułu równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz What is Azure NAT Gateway? (Co to jest Azure NAT Gateway?

Skonfiguruj łączność tylko dla ruchu wychodzącego dla maszyn wirtualnych zaplecza

Ten scenariusz dotyczy maszyn wirtualnych, które wymagają wyjścia z sieci wirtualnej bez połączenia przychodzącego. Dostępnymi opcjami są reguły wychodzące Azure Load Balancer oraz usługa Azure NAT Gateway.

  1. Utwórz publiczny adres IP lub prefiks.
  2. Utwórz publiczny moduł równoważenia obciążenia w warstwie Standardowa.
  3. Utwórz fronton skojarzony z publicznym adresem IP lub prefiksem dedykowanym dla ruchu wychodzącego.
  4. Utwórz pulę zaplecza dla maszyn wirtualnych.
  5. Umieść maszyny wirtualne w puli backendowej.
  6. Skonfiguruj regułę wychodzącą, aby włączyć NAT.

Użyj prefiksu lub publicznego adresu IP do skalowania portów SNAT . Dodaj źródło połączeń wychodzących do listy dozwolonych lub zablokowanych.

Scenariusz 5: NAT dla ruchu wychodzącego dla wewnętrznego standardowego równoważnika obciążenia

Uwaga

Azure NAT Gateway może zapewnić łączność wychodzącą dla maszyn wirtualnych korzystających z wewnętrznego standardowego modułu równoważenia obciążenia. Aby uzyskać więcej informacji, zobacz What is Azure NAT Gateway? (Co to jest Azure NAT Gateway?

Zapewnienie łączności wychodzącej dla wewnętrznego standardowego równoważnika obciążenia

Ten scenariusz dotyczy maszyn wirtualnych backend, które korzystają z wewnętrznego standardowego load balancera. Te maszyny wirtualne nie mają łączności wychodzącej, dopóki nie zapewnisz jej jawnie za pomocą publicznych adresów IP na poziomie poszczególnych instancji, usługi Azure NAT Gateway lub konfiguracji publicznego modułu równoważenia obciążenia tylko dla ruchu wychodzącego, którą skojarzysz z członkami puli zaplecza.

Aby uzyskać więcej informacji, zobacz Konfiguracja modułu równoważenia obciążenia tylko dla ruchu wychodzącego.

Scenariusz 6: Włączanie protokołów TCP i UDP dla wychodzącego NAT z publicznym standardowym load balancerem.

Włącz TCP i UDP dla wychodzącego NAT

Ten scenariusz ma zastosowanie do publicznego modułu równoważenia obciążenia w warstwie Standard. Automatyczny NAT wychodzący odpowiada protokołowi transportowemu reguły równoważenia obciążenia. Aby zapewnić łączność wychodzącą zarówno TCP, jak i UDP, skonfiguruj regułę wychodzącą korzystającą ze wszystkich protokołów.

  1. Wyłącz wychodzący SNAT w regule równoważenia obciążenia.
  2. Skonfiguruj regułę ruchu wychodzącego dla tego samego modułu równoważenia obciążenia.
  3. Ponownie użyj puli zaplecza sieciowego, którą już używają twoje maszyny wirtualne.
  4. Określ "protocol": "All" w ramach reguły ruchu wychodzącego.

Jeśli używane są tylko reguły NAT dla ruchu przychodzącego, nie jest zapewniane NAT dla ruchu wychodzącego.

  1. Umieść maszyny wirtualne w puli zapleczowej.
  2. Zdefiniuj jedną lub więcej konfiguracji IP frontend z publicznymi adresami IP lub prefiksem publicznego adresu IP
  3. Skonfiguruj regułę ruchu wychodzącego dla tego samego modułu równoważenia obciążenia.
  4. Określ "protocol": "All" w ramach reguły ruchu wychodzącego

Ograniczenia

  • Maksymalna liczba użytecznych portów efemerycznych dla każdego adresu IP frontend wynosi 64 000.
  • Zakres konfigurowalnego limitu czasu bezczynności połączeń wychodzących wynosi od 4 do 120 minut (od 240 do 7200 sekund).
  • Moduł równoważenia obciążenia nie obsługuje ICMP dla NAT ruchu wychodzącego. Jedynymi obsługiwanymi protokołami są TCP i UDP.
  • Reguły ruchu wychodzącego można stosować tylko do podstawowej konfiguracji IPv4 karty sieciowej. Nie można utworzyć reguły wychodzącej dla pomocniczych konfiguracji IPv4 maszyny wirtualnej lub wirtualnego urządzenia sieciowego. Obsługiwane są wiele kart sieciowych.
  • Reguły ruchu wychodzącego dla pomocniczej konfiguracji adresu IP są obsługiwane tylko w przypadku protokołu IPv6.
  • Wszystkie maszyny wirtualne w zestawie dostępności muszą zostać dodane do puli zapleczowej w celu zapewnienia łączności wychodzącej.
  • Wszystkie maszyny wirtualne w zestawie skalowania maszyn wirtualnych muszą zostać dodane do puli backend w celu zapewnienia łączności wychodzącej.

Następne kroki