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 können ein WAF-Gerät aus Azure-Marketplace oder das Azure Application Gateway verwenden.
Das Azure Application Gateway ist eine virtuelle Anwendung, die Lastenausgleich in Schicht 7, TLS/SSL-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 Anwendungsgateways mit einer App in einer ILB-App Service-Umgebung beschrieben.
Die Integration des Anwendungsgateways mit der ILB-App Service-Umgebung erfolgt auf App-Ebene. Wenn Sie das Anwendungsgateway mit der ILB-App Service-Umgebung konfigurieren, erfolgt dies für bestimmte Apps in Ihrer ILB-App Service-Umgebung. Dieses Verfahren ermöglicht es, sichere mehrinstanzenfähige Anwendungen in einer einzelnen ILB-App Service-Umgebung zu hosten.
In dieser exemplarischen Vorgehensweise führen Sie folgende Aktionen aus:
- Erstellen eines Azure Application Gateways.
- Konfigurieren des Anwendungsgateways 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 Anwendungsgateway in die 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
- Einen öffentlichen DNS-Namen, über den später auf Ihr Anwendungsgateway verwiesen wird
- Wenn Sie TLS/SSL-Verschlüsselung für das Anwendungsgateway verwenden müssen, benötigen Sie ein gültiges öffentliches Zertifikat, das zum Binden an Ihr Anwendungsgateway verwendet wird.
Eine ILB-App Service-Umgebung
Ausführliche Informationen zum Erstellen einer ILB-App Service-Umgebung finden Sie unter Erstellen einer ASE im Azure-Portal und Erstellen einer ASE mit einer ARM-Vorlage.
Nachdem die ILB-ASE erstellt wurde, lautet die Standarddomäne
<YourAseName>.appserviceenvironment.net
.Ein interner Lastenausgleich (ILB) wird für den eingehenden Zugriff bereitgestellt. Sie können die eingehende Adresse in den IP-Adressen unter den ASE-Einstellungen ü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 im Schnellstart: Erstellen einer privaten Azure DNS-Zone über das Azure-Portal).
Name | type | Wert |
---|---|---|
* | Ein | Eingangsadresse der ASE |
@ | A | Eingangsadresse der ASE |
@ | SOA | DNS-Name der ASE |
*.scm | A | Eingangsadresse der ASE |
App Service in der ILB-ASE
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-ASE 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
Zur Verbesserung der Sicherheit wird empfohlen, ein TLS/SSL-Zertifikat für die Sitzungsverschlüsselung zu binden. Zum Binden eines TLS/SSL-Zertifikats an das Anwendungsgateway ist ein gültiges öffentliches Zertifikat mit den folgenden Informationen erforderlich. Sie können mit App Service Certificate ein TLS/SSL-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 Zertifikatsdatei sollte einen privaten Schlüssel aufweisen und im PFX-Format gespeichert werden. Sie 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/SSL-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 Verbindungen mit dem Anwendungsgateway die TLS/SSL-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 Sie TLS/SSL-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.
Im Folgenden sind die HTTP-Einstellungen aufgeführt:
Parameter Wert BESCHREIBUNG Name der HTTP-Einstellung Beispiel: https-setting
Name der HTTP-Einstellung Back-End-Protokoll HTTPS Verwenden Sie TLS/SSL-Verschlüsselung. Back-End-Port 443 Standard-HTTPS-Port Zertifikat einer bekannten Zertifizierungsstelle verwenden Ja Der Standarddomänenname der ILB-ASE lautet .appserviceenvironment.net
und 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-ASE ü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 einer ILB-ASE
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.