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.
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.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.
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.
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.
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.
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.
Konfigurationseinstellung
Unter der Einstellung Konfiguration müssen Sie eine Routingregel hinzufügen, indem Sie das Symbol Routingregel hinzufügen auswählen.
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. 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. 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.
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.
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.
Konfigurieren von Verknüpfungen virtueller Netzwerke mit einer privaten DNS-Zone
- 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.
- Geben Sie den Linknamen ein, und wählen Sie das entsprechende Abonnement und virtuelle Netzwerk aus, in dem sich das Anwendungsgateway befindet.
- Sie können den Back-End-Integritätsstatus unter Back-End-Integrität im Bereich des Anwendungsgateways überprüfen.
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.
- 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.
Ü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.
- Testen Sie auf einem Computer mit Internetzugriff den Webzugriff über einen Browser.