Die ausgehenden Regeln des Azure Load Balancers

Outbound-Regeln erlauben es Ihnen, explizit die Quellnetzwerk-Adressübersetzung (SNAT) für einen öffentlichen Load Balancer Standard zu definieren. Mit dieser Konfiguration können Sie die öffentlichen IP-Adressen Ihres Lastenausgleichs verwenden, um ausgehende Internetverbindung für Ihre Back-End-Instanzen bereitzustellen.

Diese Konfiguration ermöglicht Folgendes:

  • IP-Maskierung
  • Vereinfachung der Zulassungslisten.
  • Verringern der Anzahl öffentlicher IP-Ressourcen für die Bereitstellung.

Mit Ausgangsregeln besitzen Sie vollständige deklarative Kontrolle über ausgehende Internetkonnektivität. Ausgangsregeln ermöglichen Ihnen das Skalieren und Optimieren dieser Fähigkeit gemäß Ihren speziellen Anforderungen.

Outbound-Regeln gelten nur, wenn die Backend-virtuelle Maschine (VM) keine instanzebene öffentliche IP-Adresse besitzt.

Screenshot der Konfiguration von SNAT-Ports auf virtuellen Computern mit Regeln für den ausgehenden Lastenausgleich.

Mit Ausgangsregeln können Sie das Verhalten von ausgehenden SNAT-Verbindungen explizit definieren.

Mit Ausgangsregeln können Sie steuern:

  • Welchen IP-Adressen von VMs in welche öffentlichen IP-Adressen übersetzt werden.
    • Zwei Regeln, in denen Back-End-Pool 1 die beiden blauen IP-Adressen und Back-End-Pool 2 das gelbe IP-Präfix verwendet.
  • Die Art der Zuordnung ausgehender SNAT-Ports.
    • Back-End-Pool 2 ist der einzige Pool, der ausgehende Verbindungen ermöglicht, alle SNAT-Ports werden Back-End-Pool 2 und kein Port Back-End-Pool 1 zugewiesen.
  • Welche Protokolle zum Übersetzen ausgehenden Datenverkehrs verwendet werden.
    • Wenn Back-End-Pool 2 UDP-Ports für ausgehenden Datenverkehr und Back-End-Pool 1 TCP benötigt, weisen Sie Pool 1 TCP-Ports und Pool 2 UDP-Ports zu.
  • Wie lange das Leerlauftimeout für ausgehende Verbindungen dauert (4 bis 120 Minuten).
    • Wenn zeitintensive Verbindungen mit Keepalives vorhanden sind, reservieren Sie für zeitintensive Verbindungen bis zu 120 Minuten lang Ports mit Leerlauf. Gehen Sie davon aus, dass veraltete Verbindungen eingestellt werden, und geben Sie Ports innerhalb von 4 Minuten für neue Verbindungen frei.
  • Ob eine TCP-Zurücksetzung bei Leerlauftimeout gesendet wird.
    • Wenn bei Verbindungen im Leerlauf ein Timeout auftritt, senden wir TCP RST an den Client und Server, damit diese wissen, dass der Datenfluss eingestellt wird?

Wichtig

Wenn ein Back-End-Pool über die IP-Adresse konfiguriert wird, verhält er sich als Basic-Load-Balancer mit standardmäßig aktiviertem ausgehendem Datenverkehr. Konfigurieren Sie den Back-End-Pool nach NIC, um standardmäßig eine sichere Konfiguration zu gewährleisten und Anwendungen mit hohen Anforderungen für ausgehenden Datenverkehr nutzen zu können.

Definition der Ausgangsregel

Ausgangsregeln folgen der gleichen vertrauten Syntax wie Lastenausgleichsregeln und NAT-Eingangsregeln: Frontend + -Parameter + Back-End-Pool.

Eine Ausgangsregel konfiguriert die NAT für ausgehenden Datenverkehr für alle VMs, die vom Back-End-Pool für die Front-End-Übersetzung identifiziert wurden.

Die Parameter ermöglichen eine differenzierte Steuerung des NAT-Algorithmus für ausgehenden Datenverkehr.

Skalieren der NAT für ausgehenden Datenverkehr mit mehreren IP-Adressen

Jede zusätzliche IP-Adresse, die von einem Front-End bereitgestellt wird, stellt weitere 64.000 kurzlebige Ports zur Verfügung, die Load Balancer als SNAT-Ports verwenden kann. Der Lastenausgleich verwendet je nach Bedarf IPs basierend auf den verfügbaren Ports. Der Lastenausgleich verwendet die nächste IP-Adresse, sobald die Verbindungen nicht mehr mit der aktuellen verwendeten IP-Adresse hergestellt werden können.

Verwenden Sie mehrere IP-Adressen, um umfangreiche Szenarien zu planen. Verwenden Sie ausgehende Regeln, um die SNAT-Erschöpfung wie in Support und Problembehandlung für Azure Load Balancer beschrieben zu verringern.

Sie können auch ein öffentliches IP-Präfix direkt mit einer Ausgangsregel verwenden.

Ein öffentliches IP-Präfix erhöht die Skalierung Ihrer Bereitstellung. Das Präfix kann der Zulassungsliste von Flüssen hinzugefügt werden, die von Ihren Azure-Ressourcen stammen. Sie können eine Front-End-IP-Konfiguration innerhalb der Load Balancer-Instanz konfigurieren, um auf das Präfix einer öffentlichen IP-Adresse zu verweisen.

Die Load Balancer-Instanz besitzt die Kontrolle über das öffentliche IP-Präfix. Die Ausgangsregel verwendet automatisch andere öffentliche IP-Adressen des öffentlichen IP-Präfixes, wenn keine ausgehenden Verbindungen mehr mit der aktuell verwendeten IP-Adresse des Präfixes hergestellt werden können.

Jede IP-Adresse innerhalb des Präfixes für öffentliche IP-Adressen bietet zusätzliche 64.000 kurzlebige Ports pro IP-Adresse, die Load Balancer als SNAT-Ports verwenden kann.

Leerlauftimeout für ausgehenden Datenfluss und TCP-Zurücksetzung

Ausgangsregeln stellen einen Konfigurationsparameter bereit, um das Leerlauftimeout für den ausgehenden Datenfluss zu steuern und ihn an die Anforderungen Ihrer Anwendung anzupassen. Das Leerlauftimeout für ausgehenden Datenverkehr tritt standardmäßig nach 4 Minuten ein. Weitere Informationen finden Sie unter Konfigurieren von Leerlauftimeouts.

Das Standardverhalten von Load Balancer besteht darin, den Datenfluss allmählich zu entfernen, wenn das Leerlauftimeout für ausgehenden Datenverkehr erreicht wurde. Der enableTCPReset-Parameter ermöglicht vorhersagbares Anwendungsverhalten und Kontrolle. Der Parameter gibt vor, ob beim Timeout des ausgehenden Leerlauftimeouts bidirektionales TCP Reset (TCP RST) gesendet werden soll.

Unter TCP-Zurücksetzung bei Leerlauftimeout finden Sie weitere Informationen, unter anderem zur regionalen Verfügbarkeit.

Explizites Sichern und Steuern der ausgehenden Konnektivität

Lastenausgleichsregeln bieten automatische Programmierung der NAT für ausgehenden Datenverkehr. In einigen Szenarien müssen Sie die automatische Programmierung der NAT für ausgehenden Datenverkehr durch die Lastenausgleichsregel deaktivieren. Durch die Deaktivierung über die Regel können Sie das Verhalten steuern oder verfeinern.

Sie haben zwei Möglichkeiten, diesen Parameter zu verwenden:

  1. Verhinderung der eingehenden IP-Adresse für ausgehende SNAT-Verbindungen. Deaktivieren Sie SNAT für ausgehenden Datenverkehr in der Lastenausgleichsregel.

  2. Passen Sie die SNAT-Parameter für ausgehenden Datenverkehr einer IP-Adresse an, die zugleich für eingehenden und ausgehenden Datenverkehr verwendet wird. Automatische NAT für ausgehenden Datenverkehr muss deaktiviert werden, damit eine Ausgangsregel die Kontrolle übernehmen kann. Um die SNAT-Portzuordnung einer Adresse zu ändern, die auch für den eingehenden Datenverkehr verwendet wird, muss der Parameter disableOutboundSnat auf TRUE festgelegt werden.

Der Vorgang zum Konfigurieren einer ausgehenden Regel schlägt fehl, wenn Sie versuchen, eine IP-Adresse neu zu definieren, die für eingehende Verbindungen verwendet wird. Deaktivieren Sie zuerst die NAT für ausgehende Verbindungen der Lastenausgleichsregel.

Wichtig

Ihr virtueller Computer verfügt nicht über ausgehende Verbindungen, wenn Sie diesen Parameter auf "true" festlegen und keine ausgehende Regel zum Definieren der ausgehenden Konnektivität haben. Einige Vorgänge Ihrer VM oder Ihrer Anwendung können davon abhängen, dass ausgehende Verbindungen verfügbar sind. Stellen Sie sicher, dass Sie die Abhängigkeiten Ihres Szenarios verstehen und die Auswirkungen von Änderungen berücksichtigt haben.

Manchmal ist es nicht wünschenswert, dass einem VM einen ausgehenden Datenflusses erstellt. Möglicherweise müssen Sie auch verwalten, welche Ziele mit ausgehende Datenflüsse empfangen bzw. welche Ziele eingehende Datenflüsse beginnen. Verwenden Sie Netzwerksicherheitsgruppen zum Verwalten der Ziele,die die VM erreicht. Verwenden Sie Netzwerksicherheitsgruppen, um zu verwalten, welche öffentlichen Ziele eingehende Datenflüsse starten.

Wenn Sie eine Netzwerksicherheitsgruppe einem virtuellen Computer mit Lastenausgleich zuordnen, müssen Sie auf die Diensttags und Standardsicherheitsregeln achten.

Stellen Sie sicher, dass der virtuelle Computer Integritätstestanforderungen von Azure Load Balancer empfangen kann.

Wenn eine Netzwerksicherheitsgruppe Anforderungen von Integritätstests vom Standardtag AZURE_LOADBALANCER blockiert, misslingt Ihr VM-Integritätstests, weshalb die VM mit „Nicht verfügbar“ markiert wird. Der Lastenausgleich beendet das Senden neuer Datenflüsse an diese VM.

Szenarien für Ausgangsregeln

Szenario 1: Konfigurieren ausgehender Verbindungen für einen bestimmten Satz öffentlicher IP-Adressen oder Präfixe

Konfigurieren Sie die öffentlichen IP-Adressen, die für ausgehende Verbindungen verwendet werden.

Dieses Szenario gilt für Backend-VMs auf einem öffentlichen Load Balancer Standard. Nutzen Sie es, um ausgehende Verbindungen von einem bestimmten Satz öffentlicher IP-Adressen oder einem öffentlichen IP-Präfix zu erzeugen. Dann kannst du diese Adressen oder das Präfix zu einer Erlaubnis- oder Blockliste hinzufügen.

Diese öffentliche IP-Adresse oder das Präfix kann dieselbe bzw. dasselbe sein, die/das von einer Lastenausgleichsregel verwendet wird.

Gehen Sie folgendermaßen vor, um andere als die von einer Lastenausgleichsregel verwendeten öffentlichen IP-Adressen oder Präfixe zu verwenden:

  1. Erstellen Sie eine öffentliche IP-Adresse oder ein öffentliches IP-Präfix.
  2. Erstellen Sie eine standardmäßige öffentliche Load Balancer Standard-Instanz.
  3. Erstellen Sie ein Front-End, und verweisen Sie dabei auf das gewünschte öffentliche Präfix oder die gewünschte öffentliche IP-Adresse.
  4. Verwenden Sie einen vorhandenen Back-End-Pool, oder erstellen Sie einen neuen Back-End-Pool, und stellen Sie die VMs in einem Back-End-Pool der öffentlichen Load Balancer-Instanz bereit.
  5. Konfigurieren Sie eine Ausgangsregel in der öffentlichen Load Balancer-Instanz, um die NAT für ausgehenden Datenverkehr für diese VMs über das Front-End zu aktivieren. Es wird nicht empfohlen, eine Lastenausgleichsregel für ausgehenden Verkehr zu verwenden. Deaktivieren Sie ausgehendes SNAT für die Lastenausgleichsregel.

Szenario 2: Ändern der SNAT-Portzuordnung

Konfigurieren Sie SNAT-Ports pro Backend-Instanz

Dieses Szenario gilt für einen öffentlichen Load Balancer Standard mit einer Outbound-Regel. Nutze es, um die automatische SNAT-Portzuweisung basierend auf der Größe des Backend-Pools abzustimmen, einschließlich einer Erhöhung der Zuteilung, wenn du eine SNAT-Erschöpfung erlebst.

Allokationsregel Behavior
Verfügbare Ports pro Frontend Jede öffentliche IP-Adresse stellt bis zu 64.000 kurzlebige Ports bereit.
Pro VM verfügbare Ports Teile die insgesamt verfügbaren Ports auf die VMs im Backend-Pool auf. Zum Beispiel kann eine VM bis zu 64.000 Ports von einer Frontend-IP-Adresse empfangen, während zwei VMs jeweils bis zu 32.000 Ports empfangen können.
Zuweisungserhöhung Spezifiziere die Ports in Vielfachen von acht. Azure lehnt Werte ab, die nicht durch acht teilbar sind. Load-Balancing-Regeln und eingehende NAT-Regeln verbrauchen jeweils einen Bereich von acht Ports, aber Regeln, die denselben Bereich teilen, verbrauchen keine zusätzlichen Ports.
Kapazitätsvalidierung Die pro VM vergebenen Ports multipliziert mit der Anzahl der VMs dürfen die von allen Frontend-IP-Adressen verfügbaren Ports nicht übersteigen. Azure lehnt Zuweisungen ab, die diese Kapazität überschreiten.
Automatische Zuweisung wiederherstellen Gib die Anzahl der Ports an 0 .

Zum Beispiel erfordert eine Zuteilung von 10.000 Ports pro VM für sieben VMs 70.000 Ports. Eine Frontend-IP-Adresse bietet nur 64.000 Ports, daher lehnt Azure die Konfiguration ab. Fügen Sie dem Frontend eine weitere öffentliche IP-Adresse hinzu oder reduzieren Sie die Zuweisung pro VM.

Weitere Informationen finden Sie in der SNAT-Portzuweisungstabelle.

Szenario 3: Ausschließliches Aktivieren des ausgehenden Datenverkehrs

Stellen Sie ausgehende Konnektivität ohne eingehende Regeln bereit

Dieses Szenario gilt für einen öffentlichen Load Balancer Standard, dessen Backend-VMs Outbound-Konnektivität ohne eingehende Load-Balancer-Regeln benötigen. Konfigurieren Sie die Outbound-Regel selbst, ohne zusätzliche Regeln zu konfigurieren.

Hinweis

Azure NAT Gateway kann ausgehende Konnektivität für virtuelle Computer bereitstellen, ohne dass ein Lastenausgleich erforderlich ist. Weitere Informationen finden Sie unter What is Azure NAT Gateway?.

Szenario 4: NAT für ausgehenden Datenverkehr nur für VMs (kein eingehender Datenverkehr)

Hinweis

Azure NAT Gateway kann ausgehende Konnektivität für virtuelle Computer bereitstellen, ohne dass ein Lastenausgleich erforderlich ist. Weitere Informationen finden Sie unter What is Azure NAT Gateway?.

Konfigurieren Sie ausschließlich ausgehende Konnektivität für Backend-VMs

Dieses Szenario gilt für VMs, die einen Ausgang aus einem virtuellen Netzwerk ohne eingehende Verbindung benötigen. Azure Load Balancer Outbound-Regeln und Azure NAT Gateway sind die verfügbaren Optionen.

  1. Erstellen Sie eine öffentliche IP-Adresse oder ein öffentliches Präfix.
  2. Erstellen Sie eine öffentliche Load Balancer Standard-Instanz.
  3. Erstellen Sie ein Front-End, das der öffentlichen IP-Adresse oder dem öffentlichen Präfix für ausgehenden Datenverkehr zugeordnet ist.
  4. Erstellen Sie einen Back-End-Pool für die VMs.
  5. Platzieren Sie die VMs im Back-End-Pool.
  6. Konfigurieren Sie eine Ausgangsregel, um die NAT für ausgehenden Datenverkehr zu aktivieren.

Verwenden Sie ein Präfix oder eine öffentliche IP-Adresse, um SNAT-Ports zu skalieren. Fügen Sie die Quelle ausgehender Verbindungen zu einer Zulassungs- oder Sperrliste hinzu.

Szenario 5: NAT für ausgehenden Datenverkehr für die interne Load Balancer Standard-Instanz

Hinweis

Azure NAT Gateway kann ausgehende Konnektivität für virtuelle Computer mit einem internen Standardgerät zum Lastenausgleich bereitstellen. Weitere Informationen finden Sie unter What is Azure NAT Gateway?.

Bereitstellung der ausgehenden Konnektivität für einen internen Standard-Load Balancer

Dieses Szenario gilt für Backend-VMs, die einen internen Standard-Load Balancer verwenden. Diese VMs haben keine ausgehende Konnektivität, bis Sie sie explizit über öffentliche IP-Adressen auf Instanzebene, Azure NAT Gateway oder eine ausschließlich ausgehende öffentliche Load Balancer-Konfiguration bereitstellen, die Sie mit den Backend-Pool-Mitgliedern verknüpfen.

Weitere Informationen finden Sie unter Lastenausgleichskonfiguration (nur ausgehender Datenverkehr).

Szenario 6: Aktivieren sowohl des TCP & als auch des UDP-Protokolls für die NAT für ausgehenden Datenverkehr mit einer öffentlichen Load Balancer Standard-Instanz

Aktivieren Sie TCP und UDP für ausgehende NAT

Dieses Szenario gilt für einen öffentlichen Load Balancer Standard. Automatisches ausgehendes NAT verwendet dasselbe Transportprotokoll wie die Lastenausgleichsregel. Um sowohl TCP- als auch UDP-Ausgangsverbindung bereitzustellen, konfigurieren Sie eine Outbound-Regel, die alle Protokolle verwendet.

  1. Deaktivieren Sie die SNAT für ausgehenden Datenverkehr in der Lastenausgleichsregel.
  2. Konfigurieren Sie eine Ausgangsregel in derselben Load Balancer-Instanz.
  3. Verwenden Sie erneut den Back-End-Pool, den Ihre VMs bereits verwenden.
  4. Geben Sie „Protokoll“: „Alle“ als Teil der Ausgangsregel an.

Wenn nur NAT-Eingangsregeln verwendet werden, wird keine NAT für ausgehenden Datenverkehr bereitgestellt.

  1. Stellen Sie die VMs in einem Back-End-Pool bereit.
  2. Definieren einer oder mehrerer Front-End-IP-Konfigurationen mit öffentlichen IP-Adressen oder öffentlichem IP-Präfix
  3. Konfigurieren Sie eine Ausgangsregel in derselben Load Balancer-Instanz.
  4. Geben Sie „Protokoll“: „Alle“ als Teil der Ausgangsregel an.

Einschränkungen

  • Die maximale Anzahl von verwendbaren kurzlebigen Ports pro Front-End-IP-Adresse beträgt 64.000.
  • Das konfigurierbare Leerlauftimeout für ausgehenden Datenverkehr beträgt ist 4 bis 120 Minuten (240 bis 7200 Sekunden).
  • Der Lastenausgleich unterstützt ICMP für ausgehenden NAT-Datenverkehr nicht. Die einzigen unterstützten Protokolle sind TCP und UDP.
  • Ausgangsregeln können nur auf die primäre IPv4-Konfiguration einer NIC angewandt werden. Sie können keine ausgehende Regel für die sekundären IPv4-Konfigurationen einer VM oder NVA erstellen. Es werden mehrere NICs unterstützt.
  • Ausgangsregeln für die sekundäre IP-Konfiguration werden nur für IPv6 unterstützt.
  • Alle virtuellen Computer innerhalb einer Verfügbarkeitsgruppe müssen dem Back-End-Pool für ausgehende Verbindungen hinzugefügt werden.
  • Alle virtuellen Computer in einer VM-Skalierungsgruppe müssen dem Back-End-Pool für ausgehende Verbindungen hinzugefügt werden.

Nächste Schritte