Schützen von Web-Apps in Azure VMware Solution mit Azure Application Gateway

Azure Application Gateway ist ein Lastenausgleich für Webdatenverkehr auf Schicht 7, mit dem Sie in Ihre Webanwendungen eingehenden Datenverkehr verwalten können, der sowohl in Azure VMware Solution v1.0 als auch v2.0 angeboten wird. Beide Versionen wurden mit Web-Apps getestet, die in Azure VMware Solution ausgeführt werden.

Die Funktionen sind:

  • Cookiebasierte Sitzungsaffinität
  • URL-basiertes Routing
  • Web Application Firewall (WAF)

Eine umfassende Liste der Features finden Sie unter Azure Application Gateway-Funktionen.

In diesem Artikel erfahren Sie, wie Sie Application Gateway vor einer Webserverfarm verwenden, um eine Web-App zu schützen, die in Azure VMware Solution ausgeführt wird.

Topologie

Die Abbildung zeigt, wie Application Gateway verwendet wird, um Azure-IaaS-VMs, Azure-VM-Skalierungsgruppen oder lokale Server zu schützen. Application Gateway behandelt Azure VMware Solution-VMs als lokale Server.

Diagram showing how Application Gateway protects Azure IaaS virtual machines (VMs), Azure Virtual Machine Scale Sets, or on-premises servers.

Wichtig

Azure Application Gateway ist die bevorzugte Methode, um Web-Apps verfügbar zu machen, die auf Azure VMware Solution-VMs ausgeführt werden.

Das Diagramm zeigt das Testszenario zum Überprüfen von Application Gateway mit Azure VMware Solution-Webanwendungen.

Diagram showing the testing scenario used to validate the Application Gateway with Azure VMware Solution web applications.

Die Application Gateway-Instanz wird auf dem Hub in einem dedizierten Subnetz mit einer öffentlichen Azure-IP-Adresse bereitgestellt. Es wird empfohlen, Azure DDoS Protection für das virtuelle Netzwerk zu aktivieren. Der Webserver wird in einer privaten Azure VMware Solution-Cloud hinter NSX T0- und T1-Gateways gehostet. Außerdem ermöglicht Azure VMware Solution die Kommunikation mit dem Hub und den lokalen Systemen mithilfe von ExpressRoute Global Reach.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement.
  • Eine bereitgestellte und ausgeführte private Azure VMware Solution-Cloud.

Bereitstellung und Konfiguration

  1. Suchen Sie im Azure-Portal nach Application Gateway, und wählen Sie Anwendungsgateway erstellen aus.

  2. Geben Sie die grundlegenden Details wie in der folgenden Abbildung an, und klicken Sie dann auf Weiter: Front-Ends >.

    Screenshot showing Create application gateway page in Azure portal.

  3. Wählen Sie den IP-Adresstyp für das Front-End aus. Wählen Sie für den Typ „Öffentlich“ eine vorhandene öffentliche IP-Adresse aus, oder erstellen Sie eine neue. Klicken Sie auf Weiter: Back-Ends>.

    Hinweis

    Für private Front-Ends werden nur die SKUs „Standard“ und „Web Application Firewall (WAF)“ unterstützt.

  4. Fügen Sie einen Back-End-Pool der virtuellen Computer hinzu, die in der Azure VMware Solution-Infrastruktur ausgeführt werden. Geben Sie die Details der in der privaten Azure VMware Solution-Cloud ausgeführten Webserver an, und wählen Sie Hinzufügen aus. Wählen Sie anschließend Weiter: Konfiguration > aus.

  5. Wählen Sie auf der Registerkarte Konfiguration die Option Routingregel hinzufügen aus.

  6. Geben Sie auf der Registerkarte Listener die Details für den Listener an. Wenn HTTPS ausgewählt wurde, müssen Sie entweder ein Zertifikat aus einer PFX-Datei oder ein vorhandenes Zertifikat von Azure Key Vault bereitstellen.

  7. Wählen Sie die Registerkarte Back-End-Ziele und dann das zuvor erstellte Back-End aus. Wählen Sie für das Feld HTTP-Einstellungen die Option Neu hinzufügen aus.

  8. Konfigurieren Sie die Parameter für die HTTP-Einstellungen. Wählen Sie Hinzufügen aus.

  9. Wenn Sie mehrere pfadbasierte Regeln konfigurieren möchten, wählen Sie Fügen Sie mehrere Ziele zum Erstellen einer pfadbasierten Regel hinzu aus.

  10. Fügen Sie eine pfadbasierte Regel hinzu, und wählen Sie Hinzufügen aus. Wiederholen Sie diese Schritte, um weitere pfadbasierte Regeln hinzuzufügen.

  11. Wenn Sie mit dem Hinzufügen von pfadbasierten Regeln fertig sind, wählen Sie erneut Hinzufügen und dann Weiter: Tags >> aus.

  12. Fügen Sie Tags hinzu, und klicken Sie auf Weiter: Überprüfen und erstellen >.

  13. Eine Validierung wird auf Ihrem Application Gateway ausgeführt. Wenn Sie erfolgreich ist, wählen Sie Erstellen zum Bereitstellen.

Konfigurationsbeispiele

Konfigurieren Sie nun Application Gateway mit Azure VMware Solution-VMs als Back-End-Pools für diese Anwendungsfälle:

Hosten mehrerer Websites

Hier lernen Sie die Vorgehensweise zum Definieren von Back-End-Adresspools mithilfe von VMs kennen, die in einer privaten Azure VMware Solution-Cloud auf einem vorhandenen Anwendungsgateway ausgeführt werden.

Hinweis

Diese Vorgehensweise setzt voraus, dass Sie mehrere Domänen besitzen, und als Beispiele werden www.contoso.com und www.contoso2.com verwendet.

  1. Erstellen Sie in Ihrer privaten Cloud zwei unterschiedliche VM-Pools. Einer stellt Contoso und der zweite contoso2 dar.

    Screenshot showing summary of a web server's details in VMware vSphere Client.

    Hier wurde Windows Server 2016 mit installierter IIS-Rolle (Internetinformationsdienste) verwendet. Nachdem die virtuellen Computer installiert wurden, führen Sie die folgenden PowerShell-Befehle aus, um IIS auf den einzelnen VMs zu konfigurieren.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. Klicken Sie in einer vorhandenen Application Gateway-Instanz im Menü links zunächst auf Back-End-Pools und anschließend auf Hinzufügen, und geben Sie die Details der neuen Pools ein. Wählen Sie im rechten Bereich Hinzufügen aus.

    Screenshot of Backend pools page for adding backend pools.

  3. Erstellen Sie im Abschnitt Listener einen neuen Listener für jede Website. Geben Sie die Details für jeden Listener ein, und wählen Sie Hinzufügen aus.

  4. Wählen Sie links HTTP-Einstellungen aus, und wählen Sie im linken Bereich Hinzufügen aus. Geben Sie die Details ein, um eine neue HTTP-Einstellung zu erstellen, und wählen Sie Speichern aus.

    Screenshot of HTTP settings page to create a new HTTP setting.

  5. Erstellen Sie die Regeln im linken Menü im Abschnitt Regeln. Ordnen Sie jede Regel dem entsprechenden Listener zu. Wählen Sie Hinzufügen aus.

  6. Konfigurieren Sie den entsprechenden Back-End-Pool und die HTTP-Einstellungen. Wählen Sie Hinzufügen aus.

  7. Testen der Verbindung. Öffnen Sie Ihren bevorzugten Browser, und browsen Sie zu den verschiedenen Websites, die in Ihrer Azure VMware Solution-Umgebung gehostet werden.

    Screenshot of browser page showing successful test the connection.

Routing per URL

In den folgenden Schritten werden Back-End-Adresspools mit VMs definiert, die in einer privaten Azure VMware Solution-Cloud ausgeführt werden. Die private Cloud ist über ein Anwendungsgateway verbunden. Anschließend erstellen Sie Routingregeln, die sicherstellen, dass Webdatenverkehr an die richtigen Server in den Pools gesendet wird.

  1. Erstellen Sie in Ihrer privaten Cloud einen VM-Pool, um die Webfarm darzustellen.

    Screenshot of page in VMware vSphere Client showing summary of another VM.

    Zur Veranschaulichung wurde in diesem Tutorial Windows Server 2016 mit installierter IIS-Rolle verwendet. Nachdem die virtuellen Computer installiert wurden, führen Sie die folgenden PowerShell-Befehle aus, um IIS für jedes VM-Tutorial zu konfigurieren.

    Die erste VM (contoso-web-01) hostet die Hauptwebsite.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    

    Die zweite VM (contoso-web-02) hostet die Website für die Bilder.

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "images" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\images\test.htm -Value $($env:computername)
    

    Die dritte VM (contoso-web-03) hostet die Website für die Videos.

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "video" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\video\test.htm -Value $($env:computername)
    
  2. Fügen Sie drei neue Back-End-Pools in einer vorhandenen Application Gateway-Instanz hinzu.

    1. Klicken Sie im Menü auf der linken Seite auf Back-End-Pools.
    2. Wählen Sie Hinzufügen aus, und geben Sie die Details des ersten Pools (contoso-web) ein.
    3. Fügen Sie eine VM als Ziel hinzu.
    4. Wählen Sie Hinzufügen aus.
    5. Wiederholen Sie diesen Vorgang für contoso-images und contoso-video, wobei Sie jeweils eine andere VM als Ziel hinzufügen.

    Screenshot of Backend pools page showing the addition of three new backend pools.

  3. Erstellen Sie im Abschnitt Listener einen neuen Listener vom Typ Basic an Port 8080.

  4. Wählen Sie im linken Navigationsbereich HTTP-Einstellungen aus, und wählen Sie im linken Bereich Hinzufügen aus. Geben Sie die Details ein, um eine neue HTTP-Einstellung zu erstellen, und wählen Sie Speichern aus.

    Screenshot of Add HTTP setting page showing HTTP settings configuration.

  5. Erstellen Sie die Regeln im Abschnitt Regeln des linken Menüs, und ordnen Sie jede Regel dem zuvor erstellten Listener zu. Konfigurieren Sie anschließend den Haupt-Back-End-Pool sowie die HTTP-Einstellungen und wählen Sie dann Hinzufügen.

    Screenshot of Add a routing rule page to configure routing rules to a backend target.

  6. Testen Sie die Konfiguration. Greifen Sie im Azure-Portal auf das Anwendungsgateway zu, und kopieren Sie die öffentliche IP-Adresse im Abschnitt Übersicht.

    1. Öffnen Sie ein neues Browserfenster, und geben Sie die URL http://<app-gw-ip-address>:8080 ein.

      Screenshot of browser page showing successful test of the configuration.

    2. Ändern Sie die URL in http://<app-gw-ip-address>:8080/images/test.htm.

      Screenshot of another successful test with the new URL.

    3. Ändern Sie die URL erneut in http://<app-gw-ip-address>:8080/video/test.htm.

      Screenshot of successful test with the final URL.

Nächste Schritte

Nachdem Sie sich mit Application Gateway zum Schutz einer in Azure VMware Solution ausgeführten Web-App beschäftigt haben, erfahren Sie mehr über Folgendes: