Freigeben über


Integrieren Ihrer ILB-App Service-Umgebung in ein Azure Application Gateway

Die Azure App Service-Umgebung ist eine Bereitstellung von Azure App Service in einem Subnetz im virtuellen Azure-Netzwerk eines Kunden. Sie kann für den App-Zugriff über einen externen oder internen Endpunkt bereitgestellt werden. Die Bereitstellung der App Service-Umgebung mit einem internen Endpunkt wird als ILB-ASE (App Service-Umgebung mit internem Lastenausgleich) bezeichnet.

Web Application Firewalls tragen zum Schutz Ihrer Webanwendungen bei, indem sie eingehenden Webdatenverkehr untersuchen und die Einschleusung von SQL-Befehlen, websiteübergreifendes Scripting, das Hochladen von Schadsoftware sowie DDoS-Angriffe und andere Angriffe unterbinden. Sie erhalten ein WAF-Gerät im Azure-Marketplace, oder Sie verwenden Azure Application Gateway.

Azure Application Gateway ist ein virtuelles Gerät, das Lastenausgleich der Ebene 7, TLS-Abladung und WAF-Schutz (Web Application Firewall) bietet. Es kann eine öffentliche IP-Adresse überwachen und Datenverkehr an Ihren Anwendungsendpunkt routen. In den folgenden Informationen wird die Vorgehensweise beim Integrieren eines WAF-konfigurierten Application Gateways mit einer App in einer ILB-App Service-Umgebung beschrieben.

Die Integration des Application Gateways mit der ILB-App Service-Umgebung erfolgt auf App-Ebene. Wenn Sie das Application Gateway mit der ILB-App Service-Umgebung konfigurieren, erfolgt dies für bestimmte Apps in Ihrer ILB-App Service-Umgebung.

Screenshot des Diagramms allgemeinen Integrationsdiagramms

In dieser exemplarischen Vorgehensweise führen Sie folgende Aktionen aus:

  • Erstellen eines Azure Application Gateways.
  • Konfigurieren des Application Gateways zum Verweisen auf eine App in Ihrer ILB-App Service-Umgebung
  • Bearbeiten des öffentlichen DNS-Hostnamens, der auf Ihr Application Gateway verweist

Voraussetzungen

Sie benötigen Folgendes, um Ihr Application Gateway mit der ILB-App Service-Umgebung zu integrieren:

  • Eine ILB-App Service-Umgebung
  • Eine private DNS-Zone für die ILB-App Service-Umgebung
  • Eine App, die in der ILB-App Service-Umgebung ausgeführt wird
  • Ein öffentlicher DNS-Name für Ihr Anwendungsgateway
  • Wenn Sie TLS-Verschlüsselung für das Anwendungsgateway verwenden müssen, benötigen Sie ein gültiges öffentliches Zertifikat, das zum Binden an Ihr Anwendungsgateway genutzt wird.

ILB-App Service-Umgebung

Ausführliche Informationen zum Erstellen einer ILB-App Service-Umgebung finden Sie unter Erstellen einer App Service-Umgebung im Azure-Portal und Erstellen einer App Service-Umgebung mit Azure Resource Manager-Vorlage.

  • Nachdem eine ILB-App Service-Umgebung erstellt wurde, ist <YourAseName>.appserviceenvironment.net die Standarddomäne.

    Screenshot: Übersicht über die ILB-App Service-Umgebung

  • Ein interner Lastenausgleich (ILB) wird für den eingehenden Zugriff bereitgestellt. Sie können die eingehende Adresse bei den IP-Adressen unter „Einstellungen der App Service-Umgebung“ überprüfen. Sie können später eine private DNS-Zone erstellen, die dieser IP-Adresse zugeordnet wird.

    Screenshot: Abrufen der eingehenden Adresse aus den IP-Adresseneinstellungen der ILB-App Service-Umgebung

Eine private DNS-Zone

Sie benötigen eine private DNS-Zone für die interne Namensauflösung. Erstellen Sie diese mithilfe des ASE-Namens und der in der folgenden Tabelle gezeigten Datensätze. Anweisungen finden Sie unter Schnellstart: Erstellen einer privaten Azure DNS-Zone über das Azure-Portal.

Name type Wert
* Ein Eingehende Adresse der App Service-Umgebung
@ A Eingehende Adresse der App Service-Umgebung
@ SOA DNS-Name der App Service-Umgebung
*.scm A Eingehende Adresse der App Service-Umgebung

App Service in der ILB-App Service-Umgebung

Sie müssen einen App Service-Plan und eine App in Ihrer ILB-ASE erstellen. Wählen Sie beim Erstellen der App im Portal Ihre ILB-App Service-Umgebung als Region aus.

Ein öffentlicher DNS-Name für das Anwendungsgateway

Um über das Internet eine Verbindung mit dem Anwendungsgateway herzustellen, benötigen Sie einen routingfähigen Domänennamen. In diesem Fall wurde der routingfähige Domänenname asabuludemo.com verwendet, und es ist geplant, eine Verbindung mit einer App Service-Instanz mit dem Domänennamen app.asabuludemo.com herzustellen. Die IP-Adresse, die diesem App-Domänennamen zugeordnet ist, muss auf die öffentliche IP-Adresse des Anwendungsgateways festgelegt werden, nachdem das Anwendungsgateway erstellt wurde. Wenn dem Anwendungsgateway eine öffentliche Domäne zugeordnet ist, müssen Sie in App Service keine benutzerdefinierte Domäne konfigurieren. Sie können mit App Service-Domänen einen benutzerdefinierten Domänennamen erwerben.

Ein gültiges öffentliches Zertifikat

Binden Sie zum Verbessern der Sicherheit ein TLS-Zertifikat für die Sitzungsverschlüsselung. Zum Binden eines TLS-Zertifikats an das Anwendungsgateway ist ein gültiges öffentliches Zertifikat mit den folgenden Informationen erforderlich. Sie können mit App Service-Zertifikaten ein TLS-Zertifikat erwerben und im .pfx-Format exportieren.

Name Wert BESCHREIBUNG
Allgemeiner Name <yourappname>.<yourdomainname>, z. B.: app.asabuludemo.com
oder *.<yourdomainname>, z. B.: *.asabuludemo.com
Ein Standardzertifikat oder ein Platzhalterzertifikat für das Anwendungsgateway
Alternativer Antragstellername <yourappname>.scm.<yourdomainname>, z. B.: app.scm.asabuludemo.com
oder *.scm.<yourdomainname>, z. B.: *.scm.asabuludemo.com
Das SAN, das das Herstellen einer Verbindung mit App Service-Kudu-Dienst ermöglicht. Dies ist eine optionale Einstellung, wenn Sie den App Service-Kudu-Dienst nicht im Internet veröffentlichen möchten.

Die Zertifikatdatei sollte über einen privaten Schlüssel verfügen und im .pfx-Format gespeichert werden. Das Zertifikat wird später in das Anwendungsgateway importiert.

Erstellen eines Anwendungsgateways

Informationen zur grundlegenden Erstellung des Anwendungsgateways finden Sie im Tutorial: Erstellen eines Anwendungsgateways mit Web Application Firewall über das Azure-Portal.

In diesem Tutorial wird das Azure-Portal verwendet, um ein Anwendungsgateway mit einer ILB-App Service-Umgebung zu erstellen.

Wählen Sie im Azure-Portal Neu>Netzwerk>Anwendungsgateway aus, um ein Anwendungsgateway zu erstellen.

  1. Grundlegende Einstellungen

    In der Dropdownliste Tarif können Sie Standard V2 oder WAF V2 auswählen, um das WAF-Feature auf dem Anwendungsgateway zu aktivieren.

  2. Front-End-Einstellung

    Wählen Sie als Front-End-IP-Adresstyp eine der Optionen Öffentlich, Privat oder Beide aus. Wenn Sie Privat oder Beide festlegen, müssen Sie eine statische IP-Adresse im Subnetzbereich des Anwendungsgateways zuweisen. In diesem Fall wird nur für den öffentlichen Endpunkt eine öffentliche IP-Adresse festgelegt.

    • Öffentliche IP-Adresse: Sie müssen eine öffentliche IP-Adresse für den öffentlichen Zugriff auf das Anwendungsgateway zuordnen. Notieren Sie sich diese IP-Adresse. Sie müssen Ihrem DNS-Dienst später einen Eintrag hinzufügen.

      Screenshot vom Abruf der öffentlichen IP-Adresse aus der Front-End-Einstellung des Anwendungsgateways

  3. Back-End-Einstellung

    Geben Sie einen Back-End-Poolnamen ein, und wählen Sie als Zieltyp die Option App Services oder IP-Adresse oder FQDN aus. In diesem Fall legen wird App Services festgelegt und der App Service-Name aus der Dropdownliste für das Ziel ausgewählt.

    Screenshot des Hinzufügens eines Back-End-Poolnamens in der Back-End-Einstellung

  4. Konfigurationseinstellung

    Unter der Einstellung Konfiguration müssen Sie eine Routingregel hinzufügen, indem Sie das Symbol Routingregel hinzufügen auswählen.

    Screenshot des Hinzufügens einer Routingregel in der Konfigurationseinstellung

    Sie müssen in einer Routingregel einen Listener und Back-End-Ziele konfigurieren. Sie können einen HTTP-Listener für die Bereitstellung des Proof of Concept (Machbarkeitsnachweis) oder einen HTTPS-Listener zur Steigerung der Sicherheit hinzufügen.

    • Um für Verbindungen mit dem Anwendungsgateway HTTP zu verwenden, können Sie einen Listener mit den folgenden Einstellungen erstellen:

      Parameter Wert BESCHREIBUNG
      Regelname Beispiel: http-routingrule Routingname
      Name des Listeners Beispiel: http-listener Name des Listeners
      Front-End-IP Öffentlich Legen Sie für Internetzugriff „Öffentlich“ fest.
      Protocol HTTP Verwenden Sie keine TLS-Verschlüsselung.
      Port 80 Standard-HTTP-Port
      Listenertyp Mehrere Standorte Lassen Sie das Lauschen an mehreren Standorten auf dem Anwendungsgateway zu.
      Hosttyp Mehrere/Platzhalter Die Festlegung auf mehrere Websitenamen oder Platzhalter wird empfohlen, wenn der Listenertyp auf mehrere Standorte festgelegt ist.
      Hostname Beispiel: app.asabuludemo.com Legen Sie für App Service einen routingfähigen Domänennamen fest.

      Screenshot des HTTP-Listeners der Routingregel für das Anwendungsgateway

    • Um für das Herstellen von Verbindungen mit dem Anwendungsgateway die TLS-Verschlüsselung zu verwenden, können Sie einen Listener mit den folgenden Einstellungen erstellen:

      Parameter Wert BESCHREIBUNG
      Regelname Beispiel: https-routingrule Routingname
      Name des Listeners Beispiel: https-listener Name des Listeners
      Front-End-IP Öffentlich Legen Sie für Internetzugriff „Öffentlich“ fest.
      Protocol HTTPS Verwenden der TLS-Verschlüsselung
      Port 443 Standard-HTTPS-Port
      HTTPS-Einstellungen Hochladen eines Zertifikats Laden Sie ein Zertifikat mit dem CN und dem privaten Schlüssel im PFX-Format hoch.
      Listenertyp Mehrere Standorte Lassen Sie das Lauschen an mehreren Standorten auf dem Anwendungsgateway zu.
      Hosttyp Mehrere/Platzhalter Die Festlegung auf mehrere Websitenamen oder Platzhalter wird empfohlen, wenn der Listenertyp auf mehrere Standorte festgelegt ist.
      Hostname Beispiel: app.asabuludemo.com Legen Sie für App Service einen routingfähigen Domänennamen fest.

      HTTPS-Listener der Routingregel für das Anwendungsgateway.

    • Sie müssen den Back-End-Pool und die HTTP-Einstellungen in den Back-End-Zielen konfigurieren. Der Back-End-Pool wurde in den vorherigen Schritten konfiguriert. Wählen Sie den Link Neu hinzufügen aus, um eine HTTP-Einstellung hinzuzufügen.

      Screenshot des Hinzufügens eines neuen Links, um eine HTTP-Einstellung hinzufügen

    • In der folgenden Tabelle aufgeführte HTTP-Einstellungen:

      Parameter Wert BESCHREIBUNG
      Name der HTTP-Einstellung Beispiel: https-setting Name der HTTP-Einstellung
      Back-End-Protokoll HTTPS Verwenden der TLS-Verschlüsselung
      Back-End-Port 443 Standard-HTTPS-Port
      Zertifikat einer bekannten Zertifizierungsstelle verwenden Ja Der Standarddomänenname der ILB-App Service-Umgebung lautet .appserviceenvironment.net. Das Zertifikat dieser Domäne wird von einer öffentlichen vertrauenswürdigen Stammzertifizierungsstelle ausgestellt. In der Einstellung „Vertrauenswürdiges Stammzertifikat“ können Sie festlegen, dass ein bekanntes vertrauenswürdiges Zertifizierungsstellen-Stammzertifikat verwendet wird.
      Mit neuem Hostnamen überschreiben Ja Der Hostnamenheader wird beim Herstellen einer Verbindung mit der App in der ILB-App Service-Umgebung überschrieben.
      Hostnamen außer Kraft setzen Hostnamen aus Back-End-Ziel auswählen Wenn Sie den Back-End-Pool auf App Service festlegen, können Sie den Host am Back-End-Ziel auswählen.
      Benutzerdefinierte Tests erstellen Nein Verwenden Sie den Standardintegritätstest.

      Screenshot des Dialogfelds **H T T P-Einstellung hinzufügen**

Konfigurieren einer Anwendungsgatewayintegration mit der ILB-App Service-Umgebung

Um über das Anwendungsgateway auf die ILB-ASE zuzugreifen, müssen Sie überprüfen, ob ein virtuelles Netzwerk mit der privaten DNS-Zone verknüpft ist. Wenn kein virtuelles Netzwerk mit dem VNet Ihres Anwendungsgateways verknüpft ist, fügen Sie mit den folgenden Schritten eine Verknüpfung mit dem virtuellen Netzwerk hinzu.

  • Um eine Verknüpfung des virtuellen Netzwerks mit einer privaten DNS-Zone zu konfigurieren, wechseln Sie zum Konfigurationsbereich der privaten DNS-Zone. Wählen Sie VNET-Verknüpfungen>Hinzufügen aus.

Hinzufügen einer VNet-Verknüpfung zur privaten DNS-Zone

  • Geben Sie den Linknamen ein, und wählen Sie das entsprechende Abonnement und virtuelle Netzwerk aus, in dem sich das Anwendungsgateway befindet.

Screenshot der Eingabe von Details zum Verknüpfungsnamen für die Einstellung „VNET-Verknüpfungen“ in der privaten DNS-Zone

  • Sie können den Back-End-Integritätsstatus unter Back-End-Integrität im Bereich des Anwendungsgateways überprüfen.

Screenshot der Überprüfung des Back-End-Integritätsstatus in „Back-End-Integrität“

Hinzufügen eines öffentlichen DNS-Eintrags

Sie müssen eine ordnungsgemäße DNS-Zuordnung konfigurieren, wenn Sie über das Internet auf das Anwendungsgateway zugreifen.

  • Die öffentliche IP-Adresse des Anwendungsgateways finden Sie im Bereich des Anwendungsgateways unter Front-End-IP-Konfigurationen.

Die Front-End-IP-Adresse des Anwendungsgateways finden Sie unter „Front-End-IP-Konfiguration“.

  • Verwenden Sie den Azure DNS-Dienst als Beispiel. Sie können einen Datensatz hinzufügen, um den App-Domänennamen der öffentlichen IP-Adresse des Anwendungsgateways zuzuordnen.

Screenshot des Hinzufügens eines Datensatzes, um den App-Domänennamen der öffentlichen IP-Adresse des Anwendungsgateways zuzuordnen

Überprüfen der Verbindung

  • Sie können auf einem Computer mit Internetzugriff die Namensauflösung für den App-Domänennamen mit der öffentlichen IP-Adresse des Anwendungsgateways überprüfen.

Überprüfen der Namensauflösung über eine Eingabeaufforderung

  • Testen Sie auf einem Computer mit Internetzugriff den Webzugriff über einen Browser.

Screenshot des Öffnens eines Browsers und des Zugriffs auf das Internet