Protéger les applications web sur Azure VMware Solution avec Azure Application Gateway

Azure Application Gateway est un équilibreur de charge de trafic web de couche 7 qui vous permet de gérer le trafic vers vos applications web. Il est proposé dans Azure VMware Solution v1.0 et v2.0. Les deux versions ont été testées avec des applications web s’exécutant sur Azure VMware Solution.

Ces fonctionnalités sont les suivantes :

  • Affinité de session basée sur les cookies
  • Routage basé sur des URL
  • Pare-feu d’applications web (WAF)

Pour obtenir la liste complète des fonctionnalités, consultez Fonctionnalités Azure Application Gateway.

Cet article explique comment utiliser Application Gateway devant une batterie de serveurs web pour protéger une application web s’exécutant sur Azure VMware Solution.

Topologie

Le diagramme illustre la manière dont Application Gateway est utilisé pour protéger des machines virtuelles Azure IaaS, des groupes de machines virtuelles identiques Azure ou des serveurs locaux. Application Gateway traite les machines virtuelles Azure VMware Solution comme des serveurs locaux.

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

Important

Azure Application Gateway est actuellement la méthode prisée pour exposer des applications web s’exécutant sur des machines virtuelles Azure VMware Solution.

Le diagramme illustre le scénario de test utilisé pour valider Application Gateway avec des applications web Azure VMware Solution.

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

L’instance Application Gateway est déployée sur le hub dans un sous-réseau dédié avec une adresse IP publique Azure. L’activation d’Azure DDoS Protection pour le réseau virtuel est recommandée. Le serveur web est hébergé sur un cloud privé Azure VMware Solution derrière des passerelles NSX T0 et T1. De plus, Azure VMware Solution utilise le service Global Reach d’ExpressRoute pour activer la communication avec le hub et les systèmes locaux.

Prérequis

  • Compte Azure avec un abonnement actif.
  • Cloud privé Azure VMware Solution déployé et en cours d’exécution.

Déploiement et configuration

  1. Dans le portail Azure, recherchez Application Gateway, puis sélectionnez Créer une passerelle Application Gateway.

  2. Fournissez les informations de base, comme dans l’illustration suivante, puis sélectionnez Suivant : Serveurs frontaux>.

    Screenshot showing Create application gateway page in Azure portal.

  3. Choisissez le type d’adresse IP frontale. Pour l’option Publique, choisissez une adresse IP publique ou créez-en une. Sélectionnez Suivant : Back-ends>.

    Remarque

    Seules les références (SKU) Standard et de pare-feu d’applications web (WAF) sont prises en charge pour des serveurs frontaux privés.

  4. Ajoutez un pool back-end des machines virtuelles qui s’exécutent sur l’infrastructure Azure VMware Solution. Fournissez les détails des serveurs web qui s’exécutent sur le cloud privé Azure VMware Solution, puis sélectionnez Ajouter. Ensuite, sélectionnez Suivant : Configuration >.

  5. Sous l’onglet Configuration, sélectionnez Ajouter une règle d’acheminement.

  6. Sous l’onglet Écouteur, entrez les détails de l’écouteur. Si le protocole HTTPS est sélectionné, vous devez fournir un certificat, soit à partir d’un fichier PFX, soit à partir d’un certificat Azure Key Vault existant.

  7. Sélectionnez l’onglet Cibles de back-end, puis le pool principal créé précédemment. Pour le champ Paramètres HTTP, sélectionnez Ajouter nouveau.

  8. Configurez les paramètres HTTP. Sélectionnez Ajouter.

  9. Si vous souhaitez configurer des règles basées sur le chemin d’accès, sélectionnez Ajouter plusieurs cibles pour créer une règle basée sur le chemin.

  10. Ajoutez une règle basée sur un chemin d’accès, et sélectionnez Ajouter. Répétez cette opération pour ajouter d’autres règles basées sur un chemin d’accès.

  11. Lorsque vous finissez l’ajout de règles basées sur un chemin d’accès, sélectionnez de nouveau Ajouter, puis Suivant : Balises>.

  12. Ajoutez des étiquettes, puis sélectionnez Suivant : Vérifier + créer>.

  13. Une validation s’exécute sur votre Application Gateway. Si elle réussit, sélectionnez Créer pour effectuer le déploiement.

Exemples de configuration

Configurez à présent Application Gateway avec des machines virtuelles Azure VMware Solution comme pools back-end pour les cas d’usage suivants :

Hébergement de plusieurs sites

Cette procédure vous montre comment définir des pools d’adresses back-end à l’aide de machines virtuelles s’exécutant sur un cloud privé Azure VMware Solution sur une passerelle Application Gateway existante.

Remarque

Cette procédure part du principe que vous disposez de plusieurs domaines. Nous allons ainsi utiliser les exemples www.contoso.com et www.contoso2.com.

  1. Dans votre cloud privé, créez deux pools de machines virtuelles différents. L’un représente Contoso et le deuxième contoso2.

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

    Nous avons utilisé Windows Server 2016 avec le rôle IIS (Internet Information Services) installé. Une fois les machines virtuelles installées, exécutez les commandes PowerShell suivantes pour configurer IIS sur chaque machine virtuelle.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. Dans une instance Application Gateway existante, sélectionnez Pools principaux dans le menu de gauche, sélectionnez Ajouter et entrez les détails des nouveaux pools. Sélectionnez Ajouter dans le volet droit.

    Screenshot of Backend pools page for adding backend pools.

  3. Dans la section Écouteurs, créez un écouteur pour chaque site web. Entrez les détails de chaque écouteur, puis sélectionnez Ajouter.

  4. À gauche, sélectionnez Paramètres HTTP, puis choisissez Ajouter dans le volet gauche. Renseignez les détails pour créer un paramètre HTTP, puis sélectionnez Enregistrer.

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

  5. Créez les règles dans la section Règles du menu à gauche. Associez chaque règle à l’écouteur correspondant. Sélectionnez Ajouter.

  6. Configurez le pool principal et les paramètres HTTP correspondants. Sélectionnez Ajouter.

  7. Tester la connexion. Ouvrez votre navigateur préféré et accédez aux différents sites web hébergés dans votre environnement Azure VMware Solution.

    Screenshot of browser page showing successful test the connection.

Routage par URL

Les étapes suivantes définissent les pools d’adresses principaux avec des machines virtuelles fonctionnant sur un cloud privé Azure VMware Solution. Le cloud privé se trouve sur une passerelle applicative existante. Il permet ensuite de définir des règles d’acheminement qui font en sorte que le trafic web arrive sur les serveurs voulus dans les pools.

  1. Dans votre cloud privé, créez un pool de machines virtuelles pour représenter la batterie de serveurs web.

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

    Le rôle Windows Server 2016 avec IIS installé a été utilisé pour illustrer ce tutoriel. Une fois les machines virtuelles installées, exécutez les commandes PowerShell suivantes pour configurer IIS pour chaque machine virtuelle (tutoriel).

    La première machine virtuelle, contoso-web-01, héberge le site web principal.

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

    La deuxième machine virtuelle, contoso-web-02, héberge le site d’images.

    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)
    

    La troisième machine virtuelle, contoso-web-03, héberge le site de vidéos.

    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. Ajoutez trois nouveaux pools back-end dans une instance Application Gateway existante.

    1. Sélectionnez Pools principaux dans le menu de gauche.
    2. Sélectionnez Ajouter et entrez les détails du premier pool, contoso-web.
    3. Ajoutez une machine virtuelle en tant que cible.
    4. Sélectionnez Ajouter.
    5. Répétez ce processus pour contoso-images et contoso-video, en ajoutant une seule machine virtuelle comme cible.

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

  3. Dans la section Écouteurs, créez un écouteur de type De base utilisant le port 8080.

  4. Dans le volet de navigation à gauche, sélectionnez Paramètres HTTP, puis choisissez Ajouter dans le volet gauche. Renseignez les détails pour créer un paramètre HTTP, puis sélectionnez Enregistrer.

    Screenshot of Add HTTP setting page showing HTTP settings configuration.

  5. Créez les règles dans la section Règles du menu de gauche et associez chaque règle à l’écouteur créé précédemment. Configurez ensuite le pool principal et les paramètres HTTP, puis sélectionnez Ajouter.

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

  6. Testez la configuration. Accédez à la passerelle d’application sur le portail Azure, puis, dans la section Vue d’ensemble, copiez l’adresse IP publique.

    1. Ouvrez une nouvelle fenêtre de navigateur et entrez l’URL http://<app-gw-ip-address>:8080.

      Screenshot of browser page showing successful test of the configuration.

    2. Changez l’URL en http://<app-gw-ip-address>:8080/images/test.htm.

      Screenshot of another successful test with the new URL.

    3. Définissez de nouveau l’URL sur http://<app-gw-ip-address>:8080/video/test.htm.

      Screenshot of successful test with the final URL.

Étapes suivantes

À présent que vous savez comment utiliser Application Gateway pour protéger une application web s’exécutant sur Azure VMware Solution, en savoir plus sur :