Weiterleiten von Datenverkehr mit Application Gateway
Application Gateway verwaltet die Anforderungen, die Clientanwendungen an eine Web-App senden können. Application Gateway leitet den Datenverkehr anhand der URL einer Anforderung an einen Pool aus Webservern weiter. Dies ist als Anwendungsschichtrouting bekannt. Der Pool aus Webservern kann aus Azure-VMs (virtuelle Azure-Computer), Azure-VM-Skalierungsgruppen (Virtual Machine Scale Sets), Azure App Service-Instanzen und lokalen Servern bestehen.
Routen von Anforderungen mit Application Gateway
Clients senden Anforderungen an Ihre Web-Apps an die IP-Adresse oder den DNS-Namen des Gateways. Das Gateway leitet Anforderungen an einen Webserver im Back-End-Pool mithilfe mehrerer Regeln weiter, die für das Gateway konfiguriert wurden, um zu bestimmen, wohin die Anforderung gesendet werden soll.
Es gibt zwei Hauptmethoden für das Routing von Datenverkehr: pfadbasiertes Routing und Hosten mehrerer Websites. Im Folgenden werden die Funktionen beider Methoden erläutert.
Pfadbasiertes Routing
Mit dem pfadbasiertem Routing können Sie Anforderungen mit verschiedenen Pfaden in der URL an einen anderen Pool von Back-End-Servern senden. Zum Beispiel können Sie Anforderungen mit dem Pfad /video/*
an einen Back-End-Pool senden, der die Server enthält, die für die Verarbeitung von Videostreaming optimiert sind, und /images/*
-Anforderungen an einen Pool von Servern für die Verarbeitung von Bildabrufen weiterleiten.
Hosten mehrerer Websites
Das Hosten mehrerer Websites ermöglicht es Ihnen, mehr als eine Web-App auf derselben Application Gateway-Instanz zu konfigurieren. Bei der Konfiguration mit mehreren Standorten können Sie mehrere DNS-Namen (CNAMEs) für die IP-Adresse der Application Gateway-Instanz registrieren, und Sie geben dabei die Namen aller Websites an. Application Gateway verwendet für jede Website separate Listener, die auf Anforderungen warten. Jeder Listener übergibt die Anforderung an eine andere Regel, die die Anforderungen an Server in einem anderen Back-End-Pool weiterleiten kann. Sie können Application Gateway beispielsweise so konfigurieren, dass alle Anforderungen für http://contoso.com
an Server in einem Back-End-Pool gesendet und Anforderungen an http://fabrikam.com
an einen anderen Back-End-Pool gesendet werden. Auf der folgenden Abbildung wird diese Konfiguration veranschaulicht:
Konfigurationen mit mehreren Standorten sind für die Unterstützung von Anwendungen mit mehreren Mandanten nützlich, bei denen jeder Mandant über eigene VMs oder andere Ressourcen zum Hosten einer Web-App verfügt.
Andere Routingfunktionen
Neben dem pfadbasiertem Routing und dem Hosten mehrerer Websites stehen einige weitere Funktionen für das Routing mit Application Gateway zur Verfügung.
- Umleitung: Die Umleitung kann an eine andere Site oder von HTTP an HTTPS erfolgen.
- Umschreiben von HTTP-Headern: HTTP-Header ermöglichen Client und Server das Übergeben von zusätzlichen Informationen mit der Anforderung oder der Antwort.
- Benutzerdefinierte Fehlerseiten: Mit Application Gateway können Sie benutzerdefinierte Fehlerseiten erstellen, anstatt Standardfehlerseiten anzuzeigen. Sie können für eine benutzerdefinierte Fehlerseite Ihr eigenes Branding und Layout verwenden.
Lastenausgleich in Application Gateway
Application Gateway führt mithilfe einer Roundrobinstrategie automatisch einen Lastenausgleich für Anforderungen aus, die an die Server in den Back-End-Pools gesendet werden. Sie können jedoch die Sitzungspersistenz konfigurieren, wenn Sie sicherstellen müssen, dass alle Anforderungen für einen Client in der gleichen Sitzung an denselben Server in einem Back-End-Pool weitergeleitet werden.
Der Lastenausgleich nutzt das Routing der OSI-Schicht 7 (Anwendungsschicht), die vom Application Gateway-Routing implementiert wird, d. h., dass der Lastenausgleich für die Anforderungen anhand der Routingparameter (Hostnamen und Pfade) ausgeführt wird, die von Application Gateway-Regeln verwendet werden. Im Gegensatz dazu nutzen andere Lastenausgleiche, z. B. Azure Load Balancer, die OSI-Schicht 4 (Transportschicht) und verteilen den Datenverkehr anhand der IP-Adresse des Anforderungsziels.
Durch Verwendung der OSI-Schicht 7 kann der Lastenausgleich die anderen Features von Application Gateway nutzen. Zu diesen Features zählen:
- Unterstützung der HTTP-, HTTPS-, HTTP/2- und WebSocket-Protokolle
- Eine WAF (Web Application Firewall) für den Schutz vor Sicherheitsrisiken bei Web-Apps
- End-to-End-Verschlüsselung von Anforderungen
- Automatische Skalierung zum dynamischen Anpassen der Kapazität, wenn sich die Auslastung Ihres Webdatenverkehrs ändert
Routing für die Kraftfahrzeugbehörde
Im Szenario der Kraftfahrzeugbehörde kann Application Gateway zur Lösung beider Probleme verwendet werden. Sie können die Lastenausgleichs- und Integritätstestfunktionen verwenden, um sicherzustellen, dass Fehler ohne Auswirkungen auf die Benutzer verarbeitet werden. Sie können auch das pfadbasierte Routing verwenden, um einen einzelnen Endpunkt für den Zugriff von Benutzern auf Websites bereitzustellen, die auf unterschiedlichen Webdiensten gehostet werden.
Wie das funktioniert, sehen Sie sich nun genauer an.