Verkeer routeren met Application Gateway

Voltooid

Met Application Gateway worden de aanvragen beheerd die clienttoepassingen kunnen verzenden naar een web-app. Met Application Gateway wordt verkeer naar een pool met webservers gerouteerd op basis van de URL van een aanvraag. Dit staat bekend als toepassingslaagroutering. De webserverpool kan bestaan uit virtuele Azure-machines, Azure-virtuele-machineschaalsets, Azure App Service-servers, en zelfs on-premises servers.

Diagram waarin wordt getoond hoe een aanvraag wordt doorgestuurd door Application Gateway naar een webserver.

Hoe aanvragen worden gerouteerd via Application Gateway

Clients verzenden aanvragen voor uw web-apps naar het IP-adres of de DNS-naam van de gateway. Met de gateway worden aanvragen gerouteerd naar een geselecteerde webserver in de back-endpool, met behulp van een set regels die zijn geconfigureerd voor de gateway en waarmee wordt bepaald waar de aanvraag naartoe moet.

Er zijn twee primaire methoden voor het routeren van verkeer: padgebaseerde routering en het hosten van meerdere sites. Laten we eens kijken naar de mogelijkheden van elk ervan.

Padgebaseerde routering

Met padgebaseerde routering kunt u aanvragen met verschillende paden in de URL verzenden naar een andere groep back-endservers. Zo kunt u bijvoorbeeld aanvragen met het pad /video/* naar een back-endpool sturen die servers bevat die zijn geoptimaliseerd voor het verwerken van video-streaming, en aanvragen met het pad /images/* naar een pool met servers sturen waarmee afbeeldingen worden opgehaald.

Diagram waarin wordt getoond hoe een aanvraag wordt gerouteerd door Application Gateway die is geconfigureerd met padgebaseerde routering.

Meerdere sites hosten

Door meerdere sites te hosten, kunt u meer dan één webtoepassing configureren op hetzelfde exemplaar van de toepassingsgateway. In een configuratie met meerdere locaties kunt u meerdere DNS-namen (CNAMEs) registreren voor het IP-adres van de Application Gateway, waarbij u de naam van elke site opgeeft. Application Gateway gebruikt afzonderlijke listeners om te wachten op aanvragen voor elke site. Elke listener geeft de aanvraag door aan een andere regel, waardoor de aanvragen kunnen worden gerouteerd naar servers in een andere back-endpool. U kunt Application Gateway bijvoorbeeld zo configureren dat alle aanvragen voor http://contoso.com naar de servers in de ene back-endpool worden gestuurd en aanvragen voor http://fabrikam.com naar een andere back-endpool. In het volgende diagram ziet u deze configuratie:

Diagram waarin wordt getoond hoe een aanvraag wordt gerouteerd door Application Gateway die is geconfigureerd met hosting van meerdere sites.

Configuraties voor meerdere locaties zijn handig voor het ondersteunen van multitenant-toepassingen, waarbij elke tenant een eigen set virtuele machines of andere resources heeft die als host fungeren voor een webtoepassing.

Andere routeringsmogelijkheden

Naast padgebaseerde routering en het hosten van meerdere sites is er een aantal andere mogelijkheden voor routering met Application Gateway.

  • Omleiding: omleiding kan worden gebruikt voor een andere site of van HTTP naar HTTPS.
  • HTTP-headers herschrijven: met HTTP-headers kan de client en server aanvullende informatie doorgeven aan de aanvraag of het antwoord.
  • Aangepaste foutpagina's: Met Application Gateway kunt u aangepaste foutpagina's maken in plaats van standaardfoutpagina's weer te geven. U kunt uw eigen huisstijl en lay-out hanteren door een aangepaste foutpagina te gebruiken.

Taakverdeling in Application Gateway

Met Application Gateway worden aanvragen die zijn verzonden naar de servers in elke back-endpool, automatisch verdeeld met behulp van een round-robin-mechanisme. U kunt echter sessie stickiness configureren als u ervoor moet zorgen dat alle aanvragen voor een client in dezelfde sessie worden doorgestuurd naar dezelfde server in een back-endpool.

Taakverdeling werkt met de OSI-laag 7-routering die door Application Gateway-routering wordt geïmplementeerd. Dit betekent dat aanvragen worden verdeeld op basis van de routeringsparameters (hostnamen en paden) die door de Application Gateway-regels worden gebruikt. Ter vergelijking: andere load balancers, zoals Azure Load Balancer, functioneren op het niveau van OSI-laag 4 en distribueren verkeer op basis van het IP-adres van het doel van een aanvraag.

Als u op OSI-laag 7 werkt, kan taakverdeling profiteren van de andere functies die Application Gateway biedt. Deze functies zijn onder andere:

  • Ondersteuning voor de protocollen HTTP, HTTPS, HTTP/2 en WebSocket.
  • Een Web Application Firewall die bescherming biedt tegen de beveiligingsproblemen in webtoepassingen.
  • End-to-endversleuteling voor aanvragen.
  • Automatisch schalen voor het dynamisch aanpassen van capaciteit wanneer de belasting van uw webverkeer verandert.

Routering voor de afdeling motorvoertuigen

We kunnen Application Gateway gebruiken om beide problemen op te lossen. We kunnen de mogelijkheden voor taakverdeling en statustests gebruiken om ervoor te zorgen dat fouten worden verwerkt zonder dat de gebruiker hiervan invloed heeft. We kunnen ook padgebaseerde routering gebruiken om gebruikers een enkel eindpunt te bieden voor toegang tot sites die worden gehost in verschillende webservices.

We gaan nader bekijken hoe dit in zijn werk gaat.

Kennis testen

1.

Welke criteria gebruikt Application Gateway om aanvragen te routeren naar een webserver?

2.

Welke strategie voor taakverdeling wordt geïmplementeerd met Application Gateway?