Erstellen Sie ein verwaltetes oder vom Benutzer zugewiesenes NAT-Gateway für Ihren Azure Kubernetes Service (AKS)-Cluster

Gilt für: ✔️ AKS Automatic ✔️ AKS Standard

Für die meisten Produktionsworkloads ist AKS Automatic die empfohlene, produktionsreife Standardeinstellung für AKS. Zu den automatischen AKS-Clustern gehört ein vorkonfiguriertes verwaltetes NAT-Gateway.

In AKS Standard können Sie ein verwaltetes NAT-Gateway erstellen oder konfigurieren, wenn Sie eine AKS-verwaltete ausgehende Konnektivität für Ihren Cluster wünschen. Verwenden Sie für Bring-your-own-(BYO)-Netzwerkszenarien ein benutzerzugewiesenes NAT-Gateway.

Sie können den Datenverkehr zwar über eine Azure Load Balancer weiterleiten, es gibt jedoch Einschränkungen hinsichtlich der Anzahl ausgehender Datenverkehrsströme, die Sie haben können. Azure NAT Gateway unterstützt bis zu 64.512 ausgehende UDP- und TCP-Datenverkehrsflüsse pro IP-Adresse mit maximal 16 IP-Adressen. NAT-Gateway wird von zwei Typen für ausgehenden Datenverkehr unterstützt: managedNATGateway und userAssignedNATGateway.

In diesem Artikel erfahren Sie, wie Sie einen AKS-Cluster mit verwaltetem NAT-Gateway und einem vom Benutzer zugewiesenen NAT-Gateway für ausgehenden Datenverkehr erstellen. Außerdem wird gezeigt, wie Sie "OutboundNAT" für Windows deaktivieren.

Hinweis

Ab API-Version 2026-06-01 ist outboundType: managedNATGateway standardmäßig auf StandardV2 NAT Gateway festgelegt, das als natGatewayProfile.sku: StandardV2 statt als der während der Vorschau verwendete ausgehende Typ managedNATGatewayV2 angezeigt wird. Vorschau-API-Versionen 2026-01-02-preview bis 2026-05-02-preview akzeptieren managedNATGatewayV2 noch etwa ein Jahr lang, was Ihnen Zeit gibt, mit einem expliziten sku zu managedNATGateway zu wechseln. Abkündigungsdaten der Vorschau-APIs finden Sie in der Lebenszyklusdokumentation der AKS Preview-API.

Voraussetzungen

Zu den automatischen AKS-Clustern gehört ein vorkonfiguriertes verwaltetes NAT-Gateway. Die Schritte in diesem Artikel beziehen sich in erster Linie auf AKS Standard- und benutzerdefinierte Netzwerkszenarien.

  • Stellen Sie sicher, dass Sie die neueste Version von Azure CLI verwenden.
  • Stellen Sie sicher, dass Sie Kubernetes, Version 1.20.x oder höher, verwenden.
  • Verwaltetes NAT-Gateway ist nicht mit benutzerdefinierten virtuellen Netzwerken kompatibel.

Wichtig

In nicht privaten Clustern wird der API-Serverclusterdatenverkehr weitergeleitet und über den ausgehenden Typ des Clusters verarbeitet. Um zu verhindern, dass API-Serverdatenverkehr als öffentlicher Datenverkehr verarbeitet wird, sollten Sie einen privaten Clusterverwenden oder das Feature API-Server-VNET-Integration ausprobieren.

Verwaltetes NAT-Gateway in AKS

AKS Automatic verwendet ein verwaltetes NAT-Gateway als Teil seiner vorkonfigurierten, produktionsreifen Standardkonfiguration. Verwenden Sie diesen Abschnitt, wenn Sie mit AKS Standard arbeiten oder wissen müssen, wie sich verwaltetes NAT-Gateway in einem AKS-Cluster verhält.

Das verwaltete NAT-Gateway ist die von AKS verwaltete Option für ausgehenden Datenverkehr. AKS erstellt und verwaltet das NAT-Gateway, um ausgehende Verbindungen für Ihre Clusterknoten bereitzustellen.

Verwenden Sie verwaltetes NAT-Gateway bei Bedarf:

  • AKS-verwaltete ausgehende Konnektivität mit weniger Betriebsaufwand.
  • Ein produktionsfreundlicher Standardpfad für ausgehende Verbindungen.
  • Einfachere Verwaltung des ausgehenden Datenverkehrs als bei einer vom Kunden selbst verwalteten NAT-Gateway-Bereitstellung.
  • Ein Standardmäßiges AKS-Netzwerkmodell, ohne Ihre eigene NAT-Gatewayressource bereitzustellen.

Erstellen eines AKS-Clusters mit einem verwalteten NAT Gateway

Ausgehende IP-Parameter

In der folgenden Tabelle werden die einzelnen ausgehenden IP-Parameter und deren Verwendung beschrieben:

Parameter Eingabe IP-Version Wer verwaltet die öffentlichen IPs
--nat-gateway-managed-outbound-ip-count Wert im Bereich von [1, 16]. Gewünschte Anzahl ausgehender IPv4s für ausgehende NAT-Gatewayverbindung. IPv4 Azure
--nat-gateway-managed-outbound-ipv6-count Wert im Bereich von [1, 16]. Gewünschte Anzahl ausgehender IPv6s für ausgehende NAT-Gatewayverbindung. IPv6 Azure
--nat-gateway-outbound-ips Durch Trennzeichen getrennte öffentliche IP-Ressourcen-IDs für ausgehende NAT-Gatewayverbindung. IPv4 oder IPv6 Customer
--nat-gateway-outbound-ip-prefixes Durch Kommas getrennte IP-Präfix-Ressourcen-IDs für ausgehende NAT-Gateway-Verbindungen. IPv4 oder IPv6 Customer

Eine verwaltete NAT-Gateway-SKU auswählen

Ab API-Version 2026-06-01 unterstützt managedNATGateway die SKUs StandardV2 und Standard über networkProfile.natGatewayProfile.sku. StandardV2 ist die Standardeinstellung für neue Cluster in unterstützten Regionen, wenn die Anforderung diese oder eine höhere API-Version verwendet. Anfragen, die eine frühere API-Version verwenden, behalten das vorhandene Standardverhalten bei.

Scenario Behavior
Neuer Cluster ohne angegebene SKU Wird standardmäßig auf StandardV2 festgelegt, wo verfügbar. AKS überprüft die regionale Verfügbarkeit vor dem Anwenden der Standardeinstellung. In Regionen, in denen StandardV2 nicht verfügbar ist, verwendet AKS Standard.
Bestehender Standard-Cluster Verwendet weiterhin diese NAT-Gatewayressource. API-Version 2026-06-01 und höher gibt die schreibgeschützte natGatewayProfile.sku Eigenschaft als Standard zurück.
Upgrade von Standard auf StandardV2 Setze networkProfile.natGatewayProfile.sku auf StandardV2.
Downgrade von StandardV2 zu Standard Nicht unterstützt.

StandardV2 NAT Gateway wird empfohlen, da es standardmäßig zonenredundant ist und eine höhere Bandbreite und einen höheren Durchsatz bietet. StandardV2 erfordert öffentliche IP-Adressen und Präfixe von StandardV2. Vorhandene öffentliche IP-Ressourcen der Standard-SKU sind nicht mit dem StandardV2 NAT-Gateway kompatibel. Überprüfen Sie die wichtigen Einschränkungen des StandardV2 NAT-Gateways für die aktuelle Liste der nicht unterstützten Regionen.

Die öffentliche IP-Anforderung "StandardV2" gilt nur für die ausgehenden IP-Adressen des NAT-Gateways. Der AKS-verwaltete Load Balancer, der type: LoadBalancer Services bereitstellt, bleibt ein Standard-Load-Balancer und erfordert öffentliche Standard-IPs. Wenn Sie den markierten öffentlichen IP-Bestand vorab bereitstellen, sollten Sie beide SKUs planen: StandardV2 für ausgehenden NAT-Gateway-Datenverkehr und Standard für eingehende Dienste.

Verwaltete NAT-Gateway-SKU-Funktionen

Der managedNATGateway ausgehende Typ unterstützt unterschiedliche Funktionen je nach Wert von networkProfile.natGatewayProfile.sku.

Fähigkeit StandardV2 Standard
Standard für neue Cluster Standardwert, sofern verfügbar, es sei denn, dass der Kunde Standard ausdrücklich auswählt. Wird verwendet, wenn "StandardV2" explizit ausgewählt oder "StandardV2" in der Region nicht verfügbar ist.
Verhalten der Verfügbarkeitszone Standardmäßig zonenredundant. Zonal oder nonzonal, abhängig von der Clusterkonfiguration.
Von Azure verwaltete ausgehende IPv4-Adressen Supported. Supported.
Von Azure verwaltete ausgehende IPv6-Adressen Supported. Nicht unterstützt.
Vom Kunden definierte ausgehende IP-Adressen und Präfixe Unterstützt mit öffentlichen StandardV2-IP-Adressen und Präfixen. Wird für ein AKS-verwaltetes NAT-Gateway nicht unterstützt.

Erstellen eines AKS-Clusters

Erstellen Sie einen AKS-Cluster, indem Sie den az aks create Befehl mit dem --outbound-type managedNATGateway Parameter ausführen. AKS verwendet standardmäßig die StandardV2-SKU in unterstützten Regionen und Standard-SKU in nicht unterstützten Regionen.

az aks create \
    --resource-group <resource-group> \
    --name <cluster-name> \
    --location <location> \
    --outbound-type managedNATGateway \
    --nat-gateway-managed-outbound-ip-count 1 \
    --generate-ssh-keys

Wichtig

Sie können ein vorhandenes verwaltetes NAT-Gateway auf StandardV2 aktualisieren, aber Sie können kein verwaltetes StandardV2 NAT-Gateway zu Standard herabstufen.

Konfigurieren ausgehender IPs für ein verwaltetes StandardV2-NAT-Gateway

Konfigurieren Sie in Regionen, in denen StandardV2 verfügbar ist, ausgehende Adressen mithilfe eines der folgenden Ansätze. Sie können von Azure verwaltete und kundendefinierte ausgehende IP-Konfigurationen nicht kombinieren.

Von Azure verwaltete IPs verwenden

Verwenden Sie managedOutboundIPProfile, damit AKS die ausgehenden öffentlichen IPv4- und IPv6-Adressen zuweist und verwaltet.

{
  "properties": {
    "networkProfile": {
      "outboundType": "managedNATGateway",
      "natGatewayProfile": {
          "managedOutboundIPProfile": {
          "count": 1,
          "countIPv6": 1
        }
      }
    }
  }
}

Verwenden von benutzerdefinierten IPs und Präfixen

Verwenden Sie outboundIPs und outboundIPPrefixes, um vorab erstellte öffentliche IP-Adressen oder Präfixe bereitzustellen. Diese Ressourcen müssen die StandardV2-SKU verwenden. Vorhandene öffentliche IP-Adressen und Präfixe der Standard-SKU sind nicht mit einem StandardV2-NAT-Gateway kompatibel.

  1. Erstellen Sie eine zonenredundante standardV2-öffentliche IP-Adresse und ein öffentliches IP-Präfix.

    export MY_IP_ID=$(az network public-ip create \
        --resource-group $MY_RG \
        --name $MY_IP \
        --location eastus2 \
        --sku StandardV2 \
        --allocation-method Static \
        --version IPv4 \
        --zone 1 2 3 \
        --query publicIp.id \
        --output tsv)
    
    export MY_IP_PREFIX_ID=$(az network public-ip prefix create \
        --resource-group $MY_RG \
        --name $MY_IP_PREFIX \
        --location eastus2 \
        --length 31 \
        --sku StandardV2 \
        --version IPv4 \
        --zone 1 2 3 \
        --query id \
        --output tsv)
    
  2. Stellen Sie in einer Region, die StandardV2-NAT-Gateway unterstützt, den ausgehenden Typ „Verwaltetes NAT-Gateway“ bereit und verweisen Sie in der AKS-Clusterkonfiguration auf die öffentliche IP-Adresse und das Präfix.

    {
      "properties": {
        "networkProfile": {
          "outboundType": "managedNATGateway",
          "natGatewayProfile": {
            "outboundIPs": {
              "publicIPs": [
                "<standard-v2-public-ip-resource-id>"
              ]
            },
            "outboundIPPrefixes": {
              "publicIPPrefixes": [
                "<standard-v2-public-ip-prefix-resource-id>"
              ]
            }
          }
        }
      }
    }
    

Das ausgehende IP-Besitzmodell wird bestimmt, wenn das StandardV2-NAT-Gateway anfangs erstellt wird. Sie können einzelne ausgehende IP-Ressourcen innerhalb des ausgewählten Modells ändern, aber Sie können ein vorhandenes NAT-Gateway nicht zwischen von Azure verwalteten und kundendefinierten ausgehenden IPs umschalten. Sie können auch die NAT-Gateway-SKU nicht ändern. Die Herabstufung von StandardV2 auf "Standard" wird nicht unterstützt.

Erstellen Sie einen AKS-Cluster mit einem userAssignedNatGateway

Diese Konfiguration erfordert bring-your-own Networking (über Azure CNI) und dass das NAT-Gateway im Subnetz vorkonfiguriert ist. Sowohl Standard- als auch StandardV2-NAT-Gateways werden hierfür outbound-typeunterstützt. Die folgenden Befehle erstellen die erforderlichen Ressourcen zum Bereitstellen einer StandardV2 NAT-Gatewayressource für Ihren AKS-Cluster.

  1. Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.

    # Set environment variables for resource group, AKS cluster, public IP, and public IP prefix names
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export MY_RG="myResourceGroup$RANDOM_SUFFIX"
    
    # Create the resource group
    az group create --name $MY_RG --location southcentralus
    
  2. Erstellen Sie eine verwaltete Identität für Netzwerkberechtigungen, und speichern Sie die ID $IDENTITY_ID zur späteren Verwendung.

    export IDENTITY_NAME="myNatClusterId$RANDOM_SUFFIX"
    export IDENTITY_ID=$(az identity create \
        --resource-group $MY_RG \
        --name $IDENTITY_NAME \
        --location southcentralus \
        --query id \
        --output tsv)
    

    Beispielausgabe:

    /xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxx
    
  3. Erstellen Sie eine öffentliche StandardV2-IP für das NAT-Gateway mit dem az network public-ip create Befehl. Ein Nat-Gateway mit StandardV2 erfordert eine öffentliche StandardV2-IP-Adresse.

    export PIP_NAME="myNatGatewayPip$RANDOM_SUFFIX"
    az network public-ip create \
        --resource-group $MY_RG \
        --name $PIP_NAME \
        --location southcentralus \
        --allocation-method Static \
        --version IPv4 \
        --zone 1 2 3 \
        --sku standard-v2
    
  4. Erstellen Sie das StandardV2 NAT-Gateway mithilfe des az network nat gateway create Befehls.

    export NATGATEWAY_NAME="myNatGateway$RANDOM_SUFFIX"
    az network nat gateway create \
        --resource-group $MY_RG \
        --name $NATGATEWAY_NAME \
        --location southcentralus \
        --public-ip-addresses $PIP_NAME \
        --sku StandardV2
        --idle-timeout 4
    

    Wichtig

    Um Zonenredundanz sicherzustellen, stellen Sie eine NAT-Gatewayressource standardV2 bereit, die sich über mehrere Verfügbarkeitszonen in einer Region erstreckt. Diese Konfiguration stellt auch dann eine fortgesetzte ausgehende Verbindung sicher, wenn eine einzelne Zone fehlschlägt. Weitere Informationen zu StandardV2 NAT-Gateway und seinen Vorteilen finden Sie unter StandardV2 NAT Gateway. Im Vergleich dazu bietet eine Standardmäßige NAT-Gatewayressource resilienz nur innerhalb der Verfügbarkeitszone, in der Sie es bereitstellen.

  5. Erstellen Sie ein virtuelles Netzwerk mit dem Befehl az network vnet create.

    export VNET_NAME="myVnet$RANDOM_SUFFIX"
    az network vnet create \
        --resource-group $MY_RG \
        --name $VNET_NAME \
        --location southcentralus \
        --address-prefixes 172.16.0.0/20 
    
  6. Erstellen Sie ein Subnetz im virtuellen Netzwerk mithilfe des NAT Gateways, und speichern Sie die ID in $SUBNET_ID zur späteren Verwendung.

    export SUBNET_NAME="myNatCluster$RANDOM_SUFFIX"
    export SUBNET_ID=$(az network vnet subnet create \
        --resource-group $MY_RG \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --address-prefixes 172.16.0.0/22 \
        --nat-gateway $NATGATEWAY_NAME \
        --query id \
        --output tsv)
    
  7. Erstellen Sie einen AKS-Cluster unter Verwendung des Subnetzes mit dem NAT Gateway und der verwalteten Identität mit dem Befehl az aks create.

    export AKS_NAME="myNatCluster$RANDOM_SUFFIX"
    az aks create \
        --resource-group $MY_RG \
        --name $AKS_NAME \
        --location southcentralus \
        --network-plugin azure \
        --vnet-subnet-id $SUBNET_ID \
        --outbound-type userAssignedNATGateway \
        --assign-identity $IDENTITY_ID \
        --generate-ssh-keys
    

Produktionsüberlegungen

Wenn Sie verwaltetes NAT-Gateway in der Produktion verwenden, planen Sie das Verhalten des ausgehenden Datenverkehrs, den API-Serverzugriff und die Arbeitslastresilienz.

  • Verwenden Sie AKS Automatic, wenn Sie für die meisten AKS-Workloads den empfohlenen produktionsbereiten Standard verwenden möchten.
  • Verwenden Sie verwaltetes NAT-Gateway in AKS Standard, wenn Sie eine AKS-verwaltete ausgehende Verbindung benötigen, ohne Ihr eigenes NAT-Gateway bereitzustellen.
  • Verwenden Sie einen privaten Cluster oder eine VNet-Integration des API-Servers, wenn Sie die Gefährdung des API-Serverdatenverkehrs reduzieren möchten.
  • Überprüfen Sie die Anforderungen an ausgehende IP-Adressen, bevor Sie live gehen.
  • Wenn Ihre Workloads von festen ausgehenden Adressen abhängen, überprüfen Sie, ob das verwaltete NAT-Gateway diese Anforderungen vor der Bereitstellung erfüllt.
  • Wenn Sie NAT unabhängig von AKS verwalten müssen, verwenden Sie ein vom Benutzer zugewiesenes NAT-Gateway.

OutboundNAT für Windows deaktivieren

Windows OutboundNAT kann bestimmte Verbindungs- und Kommunikationsprobleme mit Ihren AKS-Pods verursachen. Ein Beispielproblem ist die Wiederverwendung von Knotenports. In diesem Beispiel verwendet Windows OutboundNAT Ports, um Ihre Pod-IP in Ihre Windows Knotenhost-IP zu übersetzen, was zu einer instabilen Verbindung mit dem externen Dienst aufgrund eines Portausschöpfungsproblems führen kann.

Windows aktiviert Standardmäßig "OutboundNAT". Sie können outboundNAT jetzt manuell deaktivieren, wenn Sie neue Windows-Agentpools erstellen.

Voraussetzungen und Einschränkungen

  • Sie benötigen einen vorhandenen AKS-Cluster mit v1.26 oder höher. Wenn Sie Kubernetes, Version 1.25 oder älter, verwenden, aktualisieren Sie Ihre Bereitstellungskonfiguration.
  • Sie können den Clusterausgangstyp nicht auf LoadBalancer festlegen. Sie können es auf NAT-Gateway oder UDR festlegen:
    • NAT-Gateway: NAT-Gateway verarbeitet automatisch NAT-Verbindungen und ist leistungsstärker als Load Balancer Standard. Möglicherweise entstehen zusätzliche Gebühren, indem Sie diese Option verwenden.
    • UDR (UserDefinedRouting): Beim Konfigurieren von Routingregeln müssen Portbeschränkungen beachtet werden.
    • Um von einem Lastenausgleichsmodul zum NAT-Gateway zu wechseln, können Sie entweder ein NAT-Gateway zum VNet hinzufügen oder ausführen az aks upgrade , um den ausgehenden Typ zu aktualisieren.

Hinweis

UserDefinedRouting hat die folgenden Einschränkungen:

  • SNAT durch den Load Balancer (muss das standardmäßige OutboundNAT verwenden) verfügt über 64 Ports auf der Host-IP-Adresse.
  • SNAT durch Azure Firewall (OutboundNAT deaktivieren) verfügt über 2.496 Ports pro öffentliche IP.
  • SNAT durch NAT-Gateway (OutboundNAT deaktivieren) verfügt über 64.512 Ports pro öffentliche IP.
  • Wenn der Azure Firewall Portbereich für Ihre Anwendung nicht ausreicht, müssen Sie NAT-Gateway verwenden.
  • Azure Firewall führt kein SNAT bei Netzwerkrichtlinien durch, wenn sich die Ziel-IP-Adresse in einem privaten IP-Adressbereich gemäß IANA RFC 1918 oder in einem freigegebenen Adressraum gemäß IANA RFC 6598 befindet.

Manuelles Deaktivieren von OutboundNAT für Windows

  • Deaktivieren Sie "OutboundNAT" für Windows manuell, wenn Sie neue Windows-Agentpools mithilfe des Befehls az aks nodepool add mit dem Flag --disable-windows-outbound-nat erstellen.

    Hinweis

    Sie können einen vorhandenen AKS-Cluster verwenden, müssen jedoch eventuell den ausgehenden Typ aktualisieren und einen Knotenpool hinzufügen, um --disable-windows-outbound-nat zu aktivieren.

    export WIN_NODEPOOL_NAME="win$(head -c 1 /dev/urandom | xxd -p)"
    az aks nodepool add \
        --resource-group $MY_RG \
        --cluster-name $MY_AKS \
        --name $WIN_NODEPOOL_NAME \
        --node-count 3 \
        --os-type Windows \
        --disable-windows-outbound-nat
    

    Beispielausgabe:

    {
      "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myNatClusterxxx/agentPools/mynpxxx",
      "name": "mynpxxx",
      "osType": "Windows",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroupxxx",
      "type": "Microsoft.ContainerService/managedClusters/agentPools"
    }
    

Weitere Informationen zu Azure NAT Gateway und AKS Automatic finden Sie in den folgenden Artikeln: