Azure NAT Gateway-Ressource

In diesem Artikel werden die wichtigsten Komponenten der NAT-Gatewayressource beschrieben, die das Bereitstellen einer hochgradig sicheren, skalierbaren und resilienten ausgehenden Konnektivität ermöglichen. Einige dieser Komponenten können in Ihrem Abonnement über das Azure-Portal, die Azure CLI, Azure PowerShell, Resource Manager-Vorlagen oder entsprechende Alternativen konfiguriert werden.

NAT Gateway-Architektur

NAT Gateway verwendet softwaredefinierte Netzwerke, um als verteilter und vollständig verwalteter Dienst zu arbeiten. Da NAT Gateway über mehrere Fehlerdomänen verfügt, ist der Dienst in der Lage, mehreren Fehlern ohne Auswirkungen auf den Dienst standzuhalten.

NAT Gateway stellt Adressenübersetzung für das Quellnetzwerk (Source Network Address Translation, SNAT) für private Instanzen innerhalb von Subnetzen Ihres virtuellen Azure-Netzwerks bereit. Wenn sie in einem Subnetz konfiguriert ist, werden die privaten IPs in Ihren Subnetzen per SNAT in die statischen öffentlichen IP-Adressen eines NAT-Gateways übersetzt, um eine ausgehende Verbindung mit dem Internet herzustellen. NAT Gateway stellt auch Adressenübersetzung für das Zielnetzwerk (Destination Network Address Translation, DNAT) für Antwortpakete nur für ausgehende Verbindungen bereit.

Diagramm: NAT-Gatewayressource mit VMs.

Abbildung: NAT Gateway für ausgehenden Datenverkehr zum Internet

Wenn ein NAT-Gateway an ein Subnetz innerhalb eines virtuellen Netzwerks angefügt ist, geht das NAT-Gateway davon aus, dass der standardmäßige nächste Hoptyp des Subnetzes für den gesamten ausgehenden Datenverkehr an das Internet verwendet wird. Es sind keine zusätzlichen Routingkonfigurationen erforderlich. NAT Gateway stellt keine nicht angeforderten eingehenden Verbindungen aus dem Internet bereit. DNAT wird nur für Pakete durchgeführt, die als Antwort auf ein ausgehendes Paket eingehen.

Subnetze

Ein NAT-Gateway kann an mehrere Subnetze innerhalb eines virtuellen Netzwerks angefügt werden, um ausgehende Konnektivität mit dem Internet bereitzustellen. Wenn ein NAT-Gateway an ein Subnetz angefügt ist, übernimmt es die Standardroute zum Internet. Das NAT-Gateway ist dann der nächste Hoptyp für den gesamten ausgehenden Datenverkehr, der für das Internet bestimmt ist.

Die folgenden Subnetzkonfigurationen können nicht mit einem NAT-Gateway verwendet werden:

  • Wenn ein NAT-Gateway an ein Subnetz angefügt ist, übernimmt es die Standardroute zum Internet. Es kann nur ein NAT-Gateway kann als Standardroute zum Internet für ein Subnetz dienen.

  • Ein NAT-Gateway kann nicht an Subnetze aus verschiedenen virtuellen Netzwerken angefügt werden.

  • Ein NAT-Gateway kann nicht mit einem Gateway-Subnetz verwendet werden. Ein Gatewaysubnetz ist ein bestimmtes Subnetz für ein VPN-Gateway, das verschlüsselten Datenverkehr zwischen einem virtuellen Azure-Netzwerk und einem lokalen Standort sendet. Weitere Informationen zum Gatewaysubnetz finden Sie unter Gatewaysubnetz.

Statische öffentliche IP-Adressen

Ein NAT-Gateway kann mit statischen öffentlichen IP-Adressen oder öffentlichen IP-Präfixen verbunden werden, um ausgehende Konnektivität bereitzustellen. NAT Gateway unterstützt IPv4-Adressen. Ein NAT-Gateway kann öffentliche IP-Adressen oder Präfixe in beliebiger Kombination bis zu insgesamt 16 IP-Adressen verwenden. Wenn Sie ein Präfix für öffentliche IP-Adressen zuweisen, wird dieses vollständig verwendet. Sie können das Präfix einer öffentlichen IP-Adresse direkt nutzen, oder die öffentlichen IP-Adressen des Präfixes auf mehrere NAT-Gatewayressourcen verteilen. Mit NAT Gateway wird der gesamte Datenverkehr auf den IP-Adressbereich des Präfixes bereinigt.

  • Ein NAT-Gateway kann nicht mit öffentlichen IPv6-IP-Adressen oder Präfixen verwendet werden.

  • Ein NAT-Gateway kann nicht mit öffentlichen IP-Adressen der Basic-SKU verwendet werden.

SNAT-Ports

Das SNAT-Portinventar wird von öffentlichen IP-Adressen, öffentlichen IP-Präfixen oder beidem bereitgestellt, die an ein NAT-Gateway angefügt sind. Das SNAT-Portinventar wird allen Instanzen innerhalb eines Subnetzes, das an das NAT-Gateway angefügt ist, bei Bedarf zur Verfügung gestellt. Es ist keine vorherige Zuteilung von SNAT-Ports pro Instanz erforderlich.

Weitere Informationen zu SNAT-Ports und Azure NAT Gateway finden Sie unter Adressenübersetzung für das Quellnetzwerk (Source Network Address Translation, SNAT) mit Azure NAT Gateway.

Wenn mehrere Subnetze innerhalb eines virtuellen Netzwerks an dieselbe NAT-Gatewayressource angefügt sind, wird das von NAT Gateway bereitgestellte SNAT-Portinventar von allen Subnetzen gemeinsam genutzt.

SNAT-Ports dienen als eindeutige Bezeichner, um unterschiedliche Verbindungsflows voneinander zu unterscheiden. Derselbe SNAT-Port kann für die gleichzeitige Verbindung mit verschiedenen Zielendpunkten verwendet werden.

Verschiedene SNAT-Ports werden für Verbindungen mit dem gleichen Zielendpunkt verwendet, um verschiedene Verbindungsflows voneinander zu unterscheiden. Für SNAT-Ports, die für eine Verbindung mit demselben Ziel wiederverwendet werden, gilt ein Timer zur Wiederverwendung mit Abklingzeit, bevor sie wiederverwendet werden können.

Diagramm: SNAT-Portzuordnung.

Abbildung: SNAT-Portzuordnung

Eine einzelne NAT Gateway-Instanz kann auf bis zu 16 IP-Adressen hochskaliert werden. Jede öffentliche IP-Adresse des NAT-Gateways bietet 64.512 SNAT-Ports für das Herstellen ausgehender Verbindungen. Ein NAT-Gateway kann bis auf über 1 Million SNAT-Ports skaliert werden. Bei TCP und UDP handelt es sich um separate SNAT-Portinventare, und sie hängen nicht mit NAT Gateway zusammen.

Verfügbarkeitszonen

Ein NAT-Gateway kann in einer bestimmten Verfügbarkeitszone erstellt oder in keiner Zone platziert werden. Wenn ein NAT-Gateway in keiner Zone platziert wird, wählt Azure eine Zone aus, in der sich das NAT-Gateway befinden soll.

Zonenredundante öffentliche IP-Adressen können mit zonalen oder zonenfreien NAT-Gatewayressourcen verwendet werden.

Es wird empfohlen, ein NAT-Gateway für einzelne Verfügbarkeitszonen zu konfigurieren. Außerdem sollte es an Subnetze mit privaten Instanzen aus derselben Zone angefügt werden. Weitere Informationen zu Verfügbarkeitszonen und Azure NAT Gateway finden Sie unter Überlegungen zum Entwurf für Verfügbarkeitszonen.

Abbildung: Zonale Isolation durch Erstellen von zonalen Stapeln.

Nachdem ein NAT-Gateway bereitgestellt wurde, kann die Zonenauswahl nicht geändert werden.

Protokolle

NAT Gateway interagiert mit IP- und IP-Transportheadern von UDP- und TCP-Datenflüssen. NAT Gateway ist gegenüber Nutzlasten auf Anwendungsebene agnostisch. Andere IP-Protokolle werden nicht unterstützt.

TCP-Zurücksetzung

Ein TCP-Zurücksetzungspaket wird gesendet, wenn ein NAT-Gateway Datenverkehr für einen Verbindungsflow erkennt, der nicht vorhanden ist. Das TCP-Zurücksetzungspaket benachrichtigt den Endpunkt darüber, dass der Verbindungsflow getrennt wurde und keine weitere Kommunikation über dieselbe TCP-Verbindung möglich ist. Die TCP-Zurücksetzung ist unidirektional für ein NAT-Gateway.

Der Verbindungsflow ist unter folgenden Umständen möglicherweise nicht vorhanden:

  • Der Leerlauftimeout wurde nach einer Zeit der Inaktivität für den Verbindungsfluss erreicht, und die Verbindung wird automatisch getrennt.

  • Der Absender, entweder aus dem Azure-Netzwerk oder aus dem öffentlichen Internet, hat nach dem Trennen der Verbindung Daten gesendet.

Ein TCP-Zurücksetzungspaket wird nur gesendet, wenn Datenverkehr für den getrennten Verbindungsflow erkannt wird. Dieser Vorgang bedeutet, dass ein TCP-Zurücksetzungspaket möglicherweise nicht sofort gesendet wird, nachdem ein Verbindungsflow unterbrochen wird.

Das System sendet ein TCP-Zurücksetzungspaket als Reaktion auf die Erkennung von Datenverkehr in einem nicht vorhandenen Verbindungsflow, unabhängig davon, ob der Datenverkehr von der Azure-Netzwerkseite oder der öffentlichen Internetseite stammt.

TCP-Leerlauftimeout

Ein NAT-Gateway bietet eine konfigurierbare Leerlauftimeout-Spanne von 4 bis 120 Minuten für TCP-Protokolle. Für UDP-Protokolle gilt ein nicht konfigurierbarer Leerlauftimeout von 4 Minuten.

Wenn eine Verbindung in den Leerlauf übergeht, hält das NAT-Gateway den SNAT-Port so lange besetzt, bis die Verbindung vollständig im Leerlauf ist. Da lange Timer für Leerlauftimeouts die Wahrscheinlichkeit einer SNAT-Portauslastung unnötig erhöhen können, wird nicht empfohlen, die Dauer des TCP-Leerlauftimeouts auf einen Wert zu erhöhen, der über dem Standardwert von vier Minuten liegt. Der Leerlauftimer wirkt sich nicht auf einen Flow aus, der sich nie im Leerlauf befindet.

TCP-Keepalives können als Muster für die Aktualisierung von Verbindungen mit langer Leerlaufzeit sowie für die Erkennung des Livezustands von Endpunkten verwendet werden. Weitere Informationen finden Sie in diesen .NET-Beispielen. TCP-Keep-Alives werden als doppelte ACK-Vorgänge für die Endpunkte angezeigt und sind mit geringem Aufwand verbunden und für die Anwendungsschicht unsichtbar.

Timer für UDP-Leerlauftimeouts sind nicht konfigurierbar. Daher sollten UDP-Keepalives verwendet werden, um sicherzustellen, dass der Wert des Leerlauftimeouts nicht erreicht und die Verbindung aufrechterhalten wird. Im Gegensatz zu TCP-Verbindungen gilt ein UDP-Keepalive, das auf einer Seite der Verbindung aktiviert wurde, nur für den Datenverkehrsfluss in eine Richtung. UDP-Keepalives müssen auf beiden Seiten des Datenverkehrsflusses aktiviert werden, um den Datenverkehrsfluss aktiv zu halten.

Timer

Timer für die Wiederverwendung von Ports

Timer für die Wiederverwendung von Ports bestimmen die Zeitspanne, die ein Quellport nach dem Schließen einer Verbindung gesperrt ist, bevor er vom NAT-Gateway wiederverwendet werden kann, um zum selben Zielendpunkt zu navigieren.

Die folgende Tabelle enthält Informationen dazu, wann ein TCP-Port für die Wiederverwendung für denselben Zielendpunkt durch das NAT-Gateway verfügbar wird.

Timer Beschreibung Wert
TCP FIN (TCP-Beendigung) Nachdem eine Verbindung durch ein TCP FIN-Paket geschlossen wurde, wird ein 65-Sekunden-Timer aktiviert, der den SNAT-Port sperrt. Der SNAT-Port steht nach Ablauf des Timers zur Wiederverwendung zur Verfügung. 65 Sekunden
TCP RST (TCP-Zurücksetzung) Nachdem eine Verbindung durch ein TCP RST-Paket (zurücksetzen) geschlossen wurde, wird ein 16-Sekunden-Timer aktiviert, der den SNAT-Port inaktiv hält. Der Port steht nach Ablauf des Timers zur Wiederverwendung zur Verfügung. 16 Sekunden
TCP half open (TCP halb geöffnet) Während der Verbindungseinrichtung, bei der ein Verbindungsendpunkt auf die Bestätigung des anderen Endpunkts wartet, wird ein 30-Sekunden-Timer aktiviert. Wird kein Datenverkehr erkannt, wird die Verbindung geschlossen. Nachdem die Verbindung geschlossen wird, ist der Quellport zur Wiederverwendung für denselben Zielendpunkt verfügbar. 30 Sekunden

Bei UDP-Datenverkehr ist der Port nach dem Schließen einer Verbindung 65 Sekunden lang gesperrt, bevor er für die Wiederverwendung verfügbar ist.

Timer für Leerlauftimeouts

Timer Beschreibung Wert
TCP-Leerlauftimeout TCP-Verbindungen können sich in einem Leerlaufzustand befinden, wenn zwischen beiden Endpunkten für längere Zeit keine Daten übertragen werden. Ein Timer kann auf einen Wert zwischen vier Minuten (Standard) und 120 Minuten (zwei Stunden) festgelegt werden, um für Verbindungen im Leerlauf ein Timeout auszulösen. Durch Datenverkehr im Datenfluss wird der Timer für das Leerlauftimeout zurückgesetzt. Konfigurierbar zwischen vier Minuten (Standardwert) und 120 Minuten
UDP-Leerlauftimeout UDP-Verbindungen können sich in einem Leerlaufzustand befinden, wenn zwischen beiden Endpunkten für längere Zeit keine Daten übertragen werden. Timer für UDP-Timeouts betragen vier Minuten und können nicht konfiguriert werden. Durch Datenverkehr im Datenfluss wird der Timer für das Leerlauftimeout zurückgesetzt. Nicht konfigurierbar; vier Minuten

Hinweis

Diese Zeitgebereinstellungen können sich ändern. Die Werte sind hier als Unterstützung bei der Problembehandlung angegeben, und Sie sollten noch keine Abhängigkeit von bestimmten Zeitgebern einrichten.

Bandbreite

Jede NAT Gateway-Instanz kann einen Durchsatz von bis zu 50 GBit/s bereitstellen. Die Begrenzung der Datendurchsatzrate wird zwischen ausgehenden und eingehenden Daten (Antwortdaten) aufgeteilt. Der Datendurchsatz ist auf 25 GBit/s für ausgehende und 25 GBit/s für eingehende Daten (Antwortdaten) pro NAT-Gateway-Ressource begrenzt. Zum Aufskalieren können Sie Ihre Bereitstellungen in mehrere Subnetze unterteilen und jedem Subnetz oder jeder Gruppe von Subnetzen einem NAT-Gateway zuweisen.

Leistung

Ein NAT-Gateway kann bis zu 50.000 gleichzeitige Verbindungen pro öffentlicher IP-Adresse mit demselben Zielendpunkt über das Internet für TCP und UDP unterstützen. Das NAT-Gateway kann 1 Mio. Pakete pro Sekunde verarbeiten und auf bis zu 5 Mio. Pakete pro Sekunde skaliert werden.

Die Gesamtzahl der Verbindungen, die ein NAT-Gateway jederzeit unterstützen kann, beträgt bis zu 2 Millionen. Wenn das NAT-Gateway 2 Millionen Verbindungen überschreitet, sinkt die Verfügbarkeit Ihres Datenpfads und neue Verbindungen schlagen fehl.

Begrenzungen

  • Lastenausgleichsmodule und öffentliche IP-Adressen der SKU „Basic“ sind nicht mit der NAT-Gateways kompatibel. Verwenden Sie stattdessen Lastenausgleichsmodule und öffentliche IP-Adressen der SKU „Standard“.

  • ICMP wird vom NAT-Gateway nicht unterstützt.

  • IP-Fragmentierung ist für NAT Gateway nicht verfügbar.

  • NAT Gateway unterstützt keine öffentlichen IP-Adressen mit dem Routingkonfigurationstyp Internet. Eine Liste der Azure-Dienste, die die Routingkonfiguration Internet für öffentliche IP-Adressen unterstützen, finden Sie unter Unterstützte Dienste für das Routing über das öffentliche Internet.

  • Öffentliche IP-Adressen mit aktiviertem DDoS-Schutz werden mit NAT-Gateway nicht unterstützt. Weitere Informationen finden Sie unter DDoS-Einschränkungen.

  • Azure NAT Gateway wird in Netzwerkarchitekturen mit geschützten virtuellen Hubs (vWAN) nicht unterstützt.

Nächste Schritte