Bereitstellung des privaten Anwendungsgateways

Introduction

Historisch haben Application Gateway v2-SKUs und in einem bestimmten Umfang v1 die öffentliche IP-Adressierung benötigt, um die Verwaltung des Diensts zu ermöglichen. Diese Anforderung führte zu mehreren Einschränkungen bei der Verwendung von feinkörnigen Kontrollen in Netzwerksicherheitsgruppen und Routentabellen. Insbesondere wurden die folgenden Herausforderungen beobachtet:

  • Alle Application Gateway v2-Bereitstellungen müssen öffentlich zugängliche Front-End-IP-Konfiguration enthalten, um die Kommunikation mit dem Gateway Manager-Diensttag zu ermöglichen.
  • Netzwerksicherheitsgruppenzuordnungen erfordern Regeln, um eingehenden Zugriff von GatewayManager und ausgehenden Zugriff auf das Internet zuzulassen.
  • Wenn eine Standardroute (0.0.0.0/0) zur Weiterleitung von Datenverkehr an einen anderen Ort als das Internet eingeführt wird, führen Metriken, Überwachung und Aktualisierungen des Gateways zu einem fehlgeschlagenen Status.

Application Gateway v2 kann nun jeden dieser Punkte berücksichtigen, um das Risiko der Datenexfiltration weiter zu eliminieren und den Datenschutz der Kommunikation innerhalb des virtuellen Netzwerks zu kontrollieren. Zu diesen Änderungen gehören die folgenden Funktionen:

  • Frontend-IP-Konfiguration nur für private IP-Adressen
    • Keine öffentliche IP-Adressressource erforderlich
  • Beseitigung des eingehenden Datenverkehrs vom GatewayManager-Diensttag über die Netzwerksicherheitsgruppe
  • Möglichkeit zur Definition einer NSG-Regel (Deny All outbound Network Security Group) zur Beschränkung des ausgehenden Datenverkehrs in das Internet
  • Möglichkeit zum Überschreiben der Standardroute zum Internet (0.0.0.0/0)
  • DNS-Auflösung über definierte Resolver im virtuellen Netzwerk Erfahren Sie mehr, einschließlich privater DNS-Zonen für private Links.

Tipp

Ausführliche Anleitungen zum Konfigurieren von DNS für das Application Gateway finden Sie unter Application Gateway-DNS-Auflösung.

Jedes dieser Features kann unabhängig voneinander konfiguriert werden. So kann beispielsweise eine öffentliche IP-Adresse verwendet werden, um eingehenden Datenverkehr aus dem Internet zuzulassen, und Sie können in der Konfiguration der Netzwerksicherheitsgruppe eine Regel Deny All für ausgehenden Datenverkehr definieren, um die Exfiltration von Daten zu verhindern.

Einführung in die Funktion

Dieser Artikel behandelt die private Application Gateway-Bereitstellung für Application Gateway v2 SKUs. Es unterstützt zwei Bereitstellungsmodi: eine reine private Frontend-IP-Konfiguration und eine kombinierte Konfiguration, die sowohl eine öffentliche als auch eine private Frontend-IP-Konfiguration verwendet. Die Steuerungen für private Frontend-IP-Konfiguration, Network Security Group (NSG) Rule Management und Route Table Configuration sind in der Produktion allgemein verfügbar und werden unterstützt.

Um diese Funktionen zu nutzen, müssen Sie sich über das Azure-Portal, PowerShell, CLI oder REST API für die Erfahrung anmelden. Dieser Opt-in-Mechanismus bietet auch Flexibilität, falls Sie bei Bedarf auf traditionelle Application Gateway-Funktionalität zurückgreifen müssen (zum Beispiel zur Aktivierung von Private Link).

Tipp

Gateways funktionieren mit den verfügbaren Funktionen zum Zeitpunkt der Bereitstellung. Wenn Sie die Registrierung vom Feature aufheben, funktionieren vorhandene Gateways weiterhin mit den Funktionen, die beim Erstellen aktiviert wurden.

Registrieren der Funktion

Note

Im Azure-Portal wird der Featureregistrierungsprozess als Vorschau bezeichnet. Diese Erfahrung ist jedoch allgemein verfügbar, wird für Produktionsworkloads vollständig unterstützt und unter den veröffentlichten Anwendungsgateway-SLAs abgedeckt.

Verwenden Sie die folgenden Schritte, um die private Application Gateway Deployment-Funktion über das Azure-Portal zu registrieren:

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie im Suchfeld Abonnements ein, und wählen Sie Abonnements aus.

    Screenshot: Suche im Azure-Portal

  3. Wählen Sie den Link für den Namen Ihres Abonnements aus.

    Screenshot: Auswählen des Azure-Abonnements

  4. Wählen Sie im linken Menü unter Einstellungen die Option Previewfunktionen aus.

    Screenshot des Menüs

  5. Sie sehen eine Liste der verfügbaren Features und Ihren aktuellen Registrierungsstatus.

    Screenshot: Liste der Previewfunktionen im Azure-Portal

  6. Geben Sie in den Previewfunktionen in das Filterfeld EnableApplicationGatewayNetworkIsolation ein, markieren Sie die Funktion, und klicken Sie auf Registrieren.

    Screenshot: Filtern von Previewfunktionen im Azure-Portal

Note

Die Featureregistrierung kann bis zu 30 Minuten dauern, bis der Übergang vom Registrierungsstatus zum registrierten Status erfolgt.

Aufheben der Registrierung des Features

Um die private Application Gateway-Bereitstellungsfunktion über das Portal abzumelden, verwenden Sie die folgenden Schritte:

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie im Suchfeld Abonnements ein, und wählen Sie Abonnements aus.

    Screenshot: Suche im Azure-Portal

  3. Wählen Sie den Link für den Namen Ihres Abonnements aus.

    Screenshot: Auswählen des Azure-Abonnements

  4. Wählen Sie im linken Menü unter Einstellungen die Option Previewfunktionen aus.

    Screenshot des Menüs

  5. Sie sehen eine Liste der verfügbaren Features und Ihren aktuellen Registrierungsstatus.

    Screenshot der Azure-Portalliste mit Features.

  6. Geben Sie in den Previewfunktionen in das Filterfeld EnableApplicationGatewayNetworkIsolation ein, markieren Sie die Funktion, und klicken Sie auf Registrierung aufheben.

    Screenshot der Filterfunktionen des Azure-Portals.

Konfiguration von Netzwerksteuerelementen

Nachdem du die Funktion registriert hast, kannst du die NSG, die Routingtabelle und die private Frontend-IP-Konfiguration für eine private Application Gateway-Bereitstellung mit beliebigen Methoden konfigurieren. Verwenden Sie zum Beispiel REST API, ARM-Template, Bicep-Deployment, Terraform, PowerShell, CLI oder das Azure-Portal.

Note

Wenn Ihre Clientanwendung über eine private IP eine Verbindung mit dem App-Gateway herstellt, eine Leerlaufzeit von mehr > als 4 Minuten erfordert und die Clientanwendung keine TCP-Keep-Alive-Pakete sendet, wenden Sie sich an den Kontakt agprivateip-keepalive@microsoft.com , um die Initiierung von Keep-Alive vom Anwendungsgateway anzufordern.

Application Gateway-Subnetz

Das Application Gateway-Subnetz ist das Subnetz innerhalb des virtuellen Netzwerks, in dem Sie die Application Gateway-Ressourcen bereitstellen. Bei einer privaten Application Gateway-Bereitstellung, die eine private Frontend-IP-Konfiguration verwendet, muss dieses Subnetz privat die Ressourcen erreichen, die sich mit Ihrer exponierten App oder Ihrem Standort verbinden wollen.

Note

Ab dem 5. Mai 2025 ist für neue und vorhandene Bereitstellungen des privaten Anwendungsgateways die Subnetzdelegierung an Microsoft.Network/applicationGateways erforderlich. Führen Sie die folgenden Schritte aus, um die Subnetzdelegierung zu konfigurieren.

Internetkonnektivität in ausgehender Richtung

Bei einer privaten Application Gateway-Bereitstellung können Application Gateway v2-Bereitstellungen, die eine ausschließlich private Frontend-IP-Konfiguration verwenden (sie verfügen über keine öffentliche IP-Frontend-Konfiguration, die einer Anforderungsroutingregel zugeordnet ist), keinen ausgehenden Datenverkehr ins Internet senden. Diese Konfiguration wirkt sich auf die Kommunikation mit Back-End-Zielen aus, die über das Internet öffentlich zugänglich sind.

Um eine ausgehende Konnektivität von Ihrem Application Gateway zu einem Backend-Ziel im Internet zu ermöglichen, können Sie Virtual Network NAT verwenden oder den Datenverkehr an eine virtuelle Appliance weiterleiten, die Zugang zum Internet hat.

Virtual Network NAT bietet Kontrolle darüber, welche IP-Adresse oder welches Präfix verwendet werden soll, sowie konfigurierbare Leerlauftimeouts. Erstellen Sie zum Konfigurieren ein neues NAT-Gateway mit einer öffentlichen IP-Adresse oder einem öffentlichen Präfix, und ordnen Sie es dem Subnetz zu, das das Anwendungsgateway enthält.

Wenn ein virtuelles Gerät für den Internetausgang erforderlich ist, lesen Sie den Abschnitt Route Table Control in diesem Dokument.

Häufige Szenarien, in denen die öffentliche IP-Verwendung erforderlich ist:

  • Kommunikation mit Schlüsseltresor ohne Verwendung privater Endpunkte oder Dienstendpunkte
    • Für pfx-Dateien, die direkt in Application Gateway hochgeladen werden, ist keine ausgehende Kommunikation erforderlich
  • Kommunikation mit Back-End-Zielen über das Internet
  • Kommunikation mit internetgerichteten CRL- oder OCSP-Endpunkten

Netzwerksicherheitsgruppe

Dieser Abschnitt beschreibt die Steuerung der Netzwerksicherheitsgruppen (NSG) für das Application Gateway v2-Subnetz in einer privaten Application Gateway-Bereitstellung. Nachdem du die Funktion registriert hast, benötigen Netzwerksicherheitsgruppen, die mit einem Anwendungs-Gateway-Subnetz verbunden sind, keine eingehenden Regeln mehr für GatewayManager und keinen ausgehenden Zugang zum Internet. Die einzige erforderliche Regel ist Eingehenden Verkehr von AzureLoadBalancer erlauben, um sicherzustellen, dass Integritätssonden das Gateway erreichen können.

Die folgende Konfiguration ist ein Beispiel für den restriktivsten Satz eingehender Regeln, der jeglichen Datenverkehr mit Ausnahme von Azure-Integritätstests verweigert. Zusätzlich zu den definierten Regeln werden explizite Regeln definiert, damit Clientdatenverkehr den Listener des Gateways erreichen kann.

Screenshot: Eingangsregeln der Sicherheitsgruppe.

Note

Application Gateway zeigt eine Warnung an und fordert Sie auf, sicherzustellen, dass die Allow LoadBalanceRule angegeben ist, wenn eine DenyAll-Regel versehentlich den Zugriff auf Integritätstests einschränkt.

Beispielszenario

In diesem Beispiel wird die Erstellung einer NSG mithilfe des Azure-Portals mit den folgenden Regeln erläutert:

  • Eingehender Datenverkehr an Port 80 und 8080 zu Anwendungsgateway von Clientanforderungen, die aus dem Internet stammen, wird zugelassen
  • Aller andere eingehende Datenverkehr wird verweigert
  • Ausgehender Verkehr zu einem Back-End-Ziel in einem anderen virtuellen Netzwerk wird zugelassen
  • Ausgehender Verkehr zu einem Back-End-Ziel, das über das Internet erreichbar ist, wird zugelassen
  • Aller andere ausgehende Datenverkehr wird verweigert

Zuerst erstellen Sie eine Netzwerksicherheitsgruppe. Diese Sicherheitsgruppe enthält Ihre eingehenden und ausgehenden Regeln.

Regeln für eingehenden Datenverkehr

Drei eingehende Standardregeln werden bereits in der Sicherheitsgruppe bereitgestellt. Sehen Sie sich folgendes Beispiel an:

Screenshot: Standardregeln der Sicherheitsgruppe

Erstellen Sie als Nächstes die folgenden vier neuen eingehenden Sicherheitsregeln:

  • Eingehenden Port 80, TCP, aus dem Internet zulassen (beliebig)
  • Eingehenden Port 8080, TCP, aus dem Internet zulassen (beliebig)
  • Eingehenden AzureLoadBalancer zulassen
  • Allen eingehenden Verkehr verweigern

So erstellen Sie diese Regeln:

  • Wählen Sie Eingangssicherheitsregeln
  • Wählen Sie Hinzufügen aus.
  • Geben Sie die folgenden Informationen für jede Regel in den Bereich Eingehende Sicherheitsregel hinzufügen ein.
  • Wenn Sie die Informationen eingegeben haben, wählen Sie Hinzufügen aus, um die Regel zu erstellen.
  • Die Erstellung jeder Regel dauert einen Moment.
Regel # Source Quelldiensttag Quellportbereiche Destination Service Dest-Portbereiche Protocol Action Priority Name
1 Any * Any HTTP 80 TCP Allow 1028 AllowWeb
2 Any * Any Custom 8080 TCP Allow 1029 AllowWeb8080
3 Diensttag AzureLoadBalancer * Any Custom * Any Allow 1045 AllowLB
4 Any * Any Custom * Any Deny 4095 DenyAllInbound

Wählen Sie Aktualisieren aus, um alle Regeln zu überprüfen, wenn die Bereitstellung abgeschlossen ist.

Screenshot: Beispiel für Eingangsregeln der Sicherheitsgruppe.

Ausgangsregeln

Drei standardmäßige ausgehende Regeln mit Priorität 65000, 65001 und 65500 werden bereits bereitgestellt.

Erstellen Sie die folgenden drei neuen ausgehenden Sicherheitsregeln:

  • TCP 443 von 10.10.4.0/24 zum Back-End-Ziel 203.0.113.1 zulassen
  • TCP 80 von Quelle 10.10.4.0/24 zum Ziel 10.13.0.4 zulassen
  • DenyAll-Datenverkehrsregel

Diesen Regeln wird jeweils eine Priorität von 400, 401 und 4096 zugewiesen.

Note

  • 10.10.4.0/24 ist der Subnetz-Adressraum des Application Gateway.
  • 10.13.0.4 ist eine virtuelle Maschine in einem VNet mit Peer-Rechten.
  • 203.0.113.1 ist eine Back-End-Ziel-VM.

So erstellen Sie diese Regeln:

  • Wählen Sie Ausgehende Sicherheitsregeln
  • Wählen Sie Hinzufügen aus.
  • Geben Sie die folgenden Informationen für jede Regel in den Bereich Ausgehende Sicherheitsregel hinzufügen ein.
  • Wenn Sie die Informationen eingegeben haben, wählen Sie Hinzufügen aus, um die Regel zu erstellen.
  • Die Erstellung jeder Regel dauert einen Moment.
Regel # Source IP-Quelladressen/CIDR-Bereiche Quellportbereiche Destination Ziel-IP-Adressen/CIDR-Bereiche Service Dest-Portbereiche Protocol Action Priority Name
1 IP-Adressen 10.10.4.0/24 * IP-Adressen 203.0.113.1 HTTPS 443 TCP Allow 400 AllowToBackendTarget
2 IP-Adressen 10.10.4.0/24 * IP-Adressen 10.13.0.4 HTTP 80 TCP Allow 401 AllowToPeeredVnetVM
3 Any * Any Custom * Any Deny 4096 DenyAll

Wählen Sie Aktualisieren aus, um alle Regeln zu überprüfen, wenn die Bereitstellung abgeschlossen ist.

Screenshot: Ausgangssicherheitsregeln für das Anwendungsgateway

NSG dem Subnetz zuordnen

Der letzte Schritt besteht darin, die Netzwerksicherheitsgruppe dem Subnetz zuzuordnen, das Ihr Anwendungsgateway enthält.

Screenshot: Zuordnen der Netzwerksicherheitsgruppe zum Subnetz.

Result:

Screenshot: NSG-Übersicht

Important

Seien Sie vorsichtig, wenn Sie DenyAll-Regeln definieren, da Sie versehentlich eingehenden Datenverkehr von Clients verweigern könnten, denen Sie den Zugriff erlauben wollen. Sie können auch versehentlich ausgehenden Datenverkehr an das Back-End-Ziel verweigern, was dazu führt, dass die Back-End-Integrität fehlschlägt und 5XX-Antworten erzeugt.

Routingtabellen-Steuerelement

Dieser Abschnitt beschreibt die Steuerung der Routentabelle (benutzerdefinierte Route) für das Application Gateway v2-Subnetz in einer privaten Application Gateway-Bereitstellung. Bei Application Gateway-Deployments, die nicht für die private Application Gateway Deployment-Funktion registriert sind, kann man beim nächsten Hop keine Routentabelle, die eine 0.0.0.0/0 Route enthält, mit einer virtuellen Appliance verknüpfen. Diese Einschränkung gewährleistet eine ordnungsgemäße Verwaltung des Application Gateway.

Important

Eine Standardroute (0.0.0.0/0), die das Application Gateway-Subnetz über BGP von einer ExpressRoute- oder VPN-Verbindung lernt, dient als erzwungenes Tunneln. Es überschreibt die Standardroute des Systems und leitet den Management-Verkehr des Gateways über den lokalen Pfad. Da Application Gateway v2 symmetrisches Routing für den Verwaltungsverkehr erfordert, unterbricht diese Route die Konnektivität zur Verwaltungsebene und kann zu Bereitstellungsfehlern und InternalServerError führen. Um die Konnektivität wiederherzustellen, fügen Sie eine benutzerdefinierte Route 0.0.0.0/0 für mit dem nächsten Internet-Hop zu einer Routentabelle hinzu, die dem Application Gateway-Subnetz gewidmet ist, oder hören Sie auf, die Standardroute im Subnetz zu bewerben. Für Schritt-für-Schritt-Diagnosen siehe Fehlerbehebung von Anwendungsgateway-Deployment-, Skalierungs- und Löschfehlern.

Nachdem Sie die Funktion registriert haben, können Sie den Datenverkehr an eine virtuelle Appliance weiterleiten, indem Sie beim nächsten Hop eine 0.0.0.0/0 Route mit einer virtuellen Appliance definieren.

Beispielszenario

Im folgenden Beispiel erstellen wir eine Routentabelle und ordnen sie dem Subnetz des Anwendungsgateways zu, um sicherzustellen, dass der ausgehende Internetzugriff vom Subnetz von einer virtuellen Appliance aus erfolgt. Auf hoher Ebene wird der folgende Entwurf in Abbildung 1 zusammengefasst:

  • Das Anwendungs-Gateway befindet sich in einem virtuellen Speichennetz
  • Im Hub-Netzwerk befindet sich eine virtuelle Netzwerk-Appliance (eine virtuelle Maschine)
  • Eine Routentabelle mit einer Standardroute (0.0.0.0/0) zum virtuellen Gerät ist dem Anwendungsgateway-Subnetz zugeordnet

Diagramm: Beispiel für eine Routingtabelle

Abbildung 1: Ausgehender Internetzugriff über virtuelles Gerät

So erstellen Sie eine Routentabelle und ordnen sie dem Subnetz des Anwendungsgateways zu:

  1. Erstellen einer Routentabelle:

Screenshot: Neu erstellte Routingtabelle

  1. Wählen Sie Routen aus, und erstellen Sie die nächste Hopregel für 0.0.0.0/0, und konfigurieren Sie das Ziel als IP-Adresse Ihrer VM:

Screenshot: Hinzufügen der Standardroute zum virtuellen Netzwerkgerät.

  1. Wählen Sie Subnetze aus, und ordnen Sie die Routentabelle dem Subnetz des Anwendungsgateways zu:

Screenshot: Zuordnung der Route zum AppGW-Subnetz

  1. Überprüfen Sie, ob der Datenverkehr über das virtuelle Gerät läuft.

Einschränkungen / Bekannte Probleme

Es gelten die folgenden Einschränkungen:

Application Gateway unterstützt keine Private Link-Konfiguration für das Tunneln von Datenverkehr über private Endpunkte, wenn Sie eine reine private Front-End-IP-Konfiguration verwenden.

WAF-Ratenbegrenzung

Benutzerdefinierte Ratenbegrenzungsregeln für Application Gateway WAF v2 werden derzeit nicht unterstützt.

Private IP-Frontend-Konfiguration nur mit AGIC

Sie müssen AGIC v1.7 verwenden, um eine private-only-Frontend-IP-Konfiguration zu konfigurieren.

Private Endpunkt-Konnektivität über globales VNet-Peering

Wenn das Anwendungsgateway über ein Back-End-Ziel oder einen Schlüsseltresorverweis auf einen privaten Endpunkt verfügt, der über das globale VNet-Peering zugänglich ist, wird der Datenverkehr verworfen, was zu einem fehlerhaften Status führt.

Network Watcher-Integration

Verbindungsproblembehandlung und NSG-Diagnose geben bei der Durchführung von Prüf- und Diagnosetests einen Fehler zurück.

Vorhandene v2-Anwendungsgateways, die vor der Aktivierung der erweiterten Netzwerksteuerung erstellt wurden

Wenn ein Subnetz Application Gateway v2 Deployments teilt, die Sie sowohl vor als auch nach Aktivierung der Private Application Gateway Deployment-Funktion erstellt haben, können Sie Network Security Group (NSG) und die Route Table-Funktionalität nur mit der früheren Gateway-Bereitstellung verwenden. Um die Funktionen der Netzwerksicherheitsgruppe und der Routetabelle zu aktivieren, müssen Sie entweder die von Ihnen erstellten Anwendungsgateways neu provisionieren oder neue Gateways in einem anderen Subnetz erstellen.

  • Wenn im Subnetz ein Gateway vorhanden ist, das Sie vor dem Aktivieren der Funktion bereitgestellt haben, werden beim Hinzufügen von Einträgen in die Routentabelle möglicherweise Fehler wie die folgenden angezeigt: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet'
  • Beim Hinzufügen von Netzwerksicherheitsgruppenregeln zum Subnetz wird möglicherweise Folgendes angezeigt: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

Nächste Schritte