Protección de aplicaciones web en Azure VMware Solution con Azure Application Gateway

Azure Application Gateway es un equilibrador de carga de tráfico web de capa 7 que permite administrar el tráfico a las aplicaciones web que se ofrecen en las versiones v1.0 y v2.0 de Azure VMware Solution. Ambas versiones probadas con aplicaciones web en ejecución en Azure VMware Solution.

Entre estas funcionalidades, cabe destacar:

  • Afinidad de sesión basada en cookies
  • Enrutamiento basado en dirección URL
  • Firewall de aplicaciones web (WAF)

Para una lista completa de las características, consulte Características de Azure Application Gateway.

En este artículo se muestra cómo usar Application Gateway delante de una granja de servidores web para proteger una aplicación web que se ejecuta en Azure VMware Solution.

Topología

En el diagrama se muestra cómo se usa Application Gateway para proteger máquinas virtuales (VM) de IaaS de Azure, Microsoft Azure Virtual Machine Scale Sets o servidores locales. Application Gateway considera las máquinas virtuales de Azure VMware Solution como servidores locales.

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

Importante

Azure Application Gateway es el método preferido para exponer las aplicaciones web que se ejecutan en máquinas virtuales de Azure VMware Solution.

En el diagrama se muestra el escenario de prueba que se usa para validar Application Gateway con aplicaciones web de Azure VMware Solution.

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

La instancia de Application Gateway se implementa en el centro en una subred dedicada con una dirección IP pública de Azure. Se recomienda activar Azure DDoS Protection para la red virtual. El servidor web se hospeda en una nube privada de Azure VMware Solution detrás de las puertas de enlace NSX T0 y T1. Además, Azure VMware Solution usa Global Reach de ExpressRoute para habilitar la comunicación con el centro de conectividad y los sistemas locales.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa.
  • Una nube privada de Azure VMware Solution implementada y en ejecución.

Implementación y configuración

  1. En Azure Portal, busque Application Gateway y seleccione Crear puerta de enlace de aplicaciones.

  2. Proporcione los detalles básicos como se indica en la ilustración siguiente. A continuación, seleccione Siguiente: Front-end>.

    Screenshot showing Create application gateway page in Azure portal.

  3. Seleccione el tipo de dirección IP de front-end. Para que sea pública, seleccione una dirección IP pública existente o cree una nueva. Seleccione Siguiente: Back-end>.

    Nota:

    Solo se admiten SKU estándar y del firewall de aplicaciones web para los servidores front-end privados.

  4. Agregue un grupo de back-end de las máquinas virtuales que se ejecutan en la infraestructura de Azure VMware Solution. Proporcione los detalles de los servidores web que se ejecutan en la nube privada de Azure VMware Solution y seleccione Agregar. Después, seleccione Siguiente: Configuración >.

  5. En la pestaña Configuración, seleccione Agregar una regla de enrutamiento.

  6. En la pestaña Cliente de escucha, proporcione los detalles del cliente de escucha. Si se selecciona HTTPS, debe proporcionar un certificado, ya sea de un archivo PFX o un certificado existente de Azure Key Vault.

  7. Seleccione la pestaña Destinos de back-end y seleccione el grupo de back-end que creó anteriormente. En el campo Configuración HTTP, seleccione Agregar nueva.

  8. Configure los parámetros para la configuración HTTP. Seleccione Agregar.

  9. Si desea configurar reglas basadas en rutas de acceso, seleccione Agregar varios destinos para crear una regla basada en ruta de acceso.

  10. Agregue una regla basada en ruta de acceso y seleccione Agregar. Repita para agregar más reglas basadas en rutas de acceso.

  11. Cuando haya terminado de agregar reglas basadas en rutas de acceso, seleccione Agregar de nuevo. A continuación, seleccione Siguiente: Etiquetas>.

  12. Agregue las etiquetas y, a continuación, seleccione Siguiente: Revisar y crear>.

  13. Se ejecuta una validación en Application Gateway. Si el resultado es satisfactorio, seleccione Crear para realizar la implementación.

Ejemplos de configuración

Ahora vamos a configurar Application Gateway con máquinas virtuales de Azure VMware Solution como grupos de back-end para estos casos de uso:

Hospedaje de varios sitios

En este procedimiento se muestra cómo definir grupos de direcciones de back-end mediante máquinas virtuales que se ejecutan en una nube privada de Azure VMware Solution en una puerta de enlace de aplicación existente.

Nota:

En este procedimiento se presupone que tiene varios dominios, por lo que usaremos ejemplos de www.contoso.com y www.contoso2.com.

  1. En la nube privada, cree dos grupos distintos de máquinas virtuales. Uno representa a Contoso y el segundo, a contoso2.

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

    Hemos usado Windows Server 2016 con el rol Internet Information Services (IIS) instalado. Una vez instaladas las máquinas virtuales, ejecute los comandos de PowerShell siguientes para configurar IIS en cada una de ellas.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. En una instancia de Application Gateway existente, seleccione Grupos de back-end en el menú de la izquierda, seleccione Agregar y escriba los detalles de los grupos nuevos. Seleccione Agregar en el panel derecho.

    Screenshot of Backend pools page for adding backend pools.

  3. En la sección Clientes de escucha, cree un nuevo cliente de escucha para cada sitio web. Especifique los detalles de cada cliente de escucha y seleccione Agregar.

  4. A la izquierda, seleccione Configuración HTTP y seleccione Agregar en el panel de la izquierda. Complete los detalles para crear una nueva configuración HTTP y seleccione Guardar.

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

  5. Cree las reglas en la sección Reglas del menú de la izquierda. Asocie cada regla con el cliente de escucha correspondiente. Seleccione Agregar.

  6. Configure el grupo de back-end y la configuración HTTP correspondientes. Seleccione Agregar.

  7. Pruebe la conexión. Abra el explorador que prefiera y vaya a los distintos sitios web hospedados en su entorno de Azure VMware Solution.

    Screenshot of browser page showing successful test the connection.

Enrutamiento por dirección URL

En los pasos siguientes se definen grupos de direcciones de back-end mediante máquinas virtuales que se ejecutan en una nube privada de Azure VMware Solution. La nube privada está en una puerta de enlace de aplicación existente. A continuación, creará reglas de enrutamiento que garanticen que el tráfico web llega a los servidores adecuados de los grupos.

  1. En la nube privada, cree un grupo de máquinas virtuales para representar la granja de servidores web.

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

    Se ha usado Windows Server 2016 con el rol de IIS instalado para ilustrar este tutorial. Una vez instaladas las máquinas virtuales, ejecute los comandos de PowerShell siguientes para configurar IIS para cada tutorial de VM.

    La primera máquina virtual, contoso-web-01, hospeda el sitio web principal.

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

    La segunda máquina virtual, contoso-web-02, hospeda el sitio de imágenes.

    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 tercera máquina virtual, contoso-web-03, hospeda el sitio de vídeos.

    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. Agregue tres nuevos grupos de back-end en una instancia de Application Gateway existente.

    1. Seleccione los grupos back-end en el menú de la izquierda.
    2. Seleccione Agregar y escriba los detalles del primer grupo, contoso-web.
    3. Agregue una máquina virtual como destino.
    4. Seleccione Agregar.
    5. Repita este proceso para contoso-images y contoso-video, agregando una máquina virtual única como destino.

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

  3. En la sección Clientes de escucha, cree un nuevo cliente de escucha de tipo Básico mediante el puerto 8080.

  4. En el panel de navegación izquierdo, seleccione Configuración HTTP y seleccione Agregar en el panel izquierdo. Complete los detalles para crear una nueva configuración HTTP y seleccione Guardar.

    Screenshot of Add HTTP setting page showing HTTP settings configuration.

  5. Cree las reglas en la sección Reglas del menú izquierdo y asocie cada regla con el agente de escucha creado anteriormente. Después, configure el grupo de back-end principal y la configuración HTTP, y luego, seleccione Agregar.

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

  6. Pruebe la configuración. Acceda a la puerta de enlace de aplicación en Azure Portal y copie la IP pública en la sección Información general.

    1. Abra una ventana nueva del explorador y escriba la dirección URL http://<app-gw-ip-address>:8080.

      Screenshot of browser page showing successful test of the configuration.

    2. Cambie la dirección URL a http://<app-gw-ip-address>:8080/images/test.htm.

      Screenshot of another successful test with the new URL.

    3. Vuelva a cambiar la dirección URL a http://<app-gw-ip-address>:8080/video/test.htm.

      Screenshot of successful test with the final URL.

Pasos siguientes

Ahora que ha leído sobre el uso de Application Gateway para proteger una aplicación web que se ejecuta en Azure VMware Solution, obtenga más información sobre: