Tutorial: Configuración de una puerta de enlace de aplicaciones con terminación TLS mediante Azure Portal

Puede usar Azure Portal para configurar una puerta de enlace de aplicaciones con un certificado para terminación TLS que use máquinas virtuales para servidores back-end.

En este tutorial, aprenderá a:

  • Creación de un certificado autofirmado
  • Crear una puerta de enlace de aplicaciones con el certificado
  • Crear las máquinas virtuales que se utilizan como servidores back-end
  • Prueba de la puerta de enlace de aplicaciones

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Nota

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Requisitos previos

  • Una suscripción de Azure

Creación de un certificado autofirmado

En esta sección, usará New-SelfSignedCertificate para crear un certificado autofirmado. Cargará el certificado en Azure Portal al crear el agente de escucha para la puerta de enlace de aplicaciones.

En el equipo local, abra una ventana de Windows PowerShell como administrador. Ejecute el siguiente comando para crear el certificado:

New-SelfSignedCertificate `
  -certstorelocation cert:\localmachine\my `
  -dnsname www.contoso.com

Debería ver algo parecido a esta respuesta:

PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint                                Subject
----------                                -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630  CN=www.contoso.com

Use Export-PfxCertificate con la huella digital que se devolvió al exportar un archivo PFX del certificado. Los algoritmos PFX compatibles se enumeran en la función PFXImportCertStore. Asegúrese de que la contraseña tiene entre 4 y 12 caracteres de longitud:

$pwd = ConvertTo-SecureString -String <your password> -Force -AsPlainText
Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

Inicio de sesión en Azure

Inicie sesión en Azure Portal.

Creación de una puerta de enlace de aplicaciones

  1. En el menú de Azure Portal, seleccione + Crear un recurso>Redes>Application Gateway, o busque Application Gateway en el cuadro de búsqueda del portal.

  2. Seleccione Crear.

Pestaña Aspectos básicos

  1. En la pestaña Aspectos básicos, escriba o seleccione estos valores:

    • Grupo de recursos: Seleccione myResourceGroupAG como grupo de recursos. Si no existe, seleccione Crear nuevo para crearlo.

    • Nombre de la puerta de enlace de aplicaciones: Escriba myAppGateway como nombre de la puerta de enlace de aplicaciones.

      Create new application gateway: Basics

  2. Para que Azure se comunique entre los recursos que se crean, se necesita una red virtual. Puede crear una red virtual o usar una existente. En este ejemplo, creará una nueva red virtual a la vez que crea la puerta de enlace de aplicaciones. Se crean instancias de Application Gateway en subredes independientes. En este ejemplo se crean dos subredes: una para la puerta de enlace de aplicaciones y la otra para los servidores back-end.

    En Configurar la red virtual, seleccione Crear nuevo para crear una nueva red virtual. En la ventana Crear red virtual que se abre, escriba los valores siguientes para crear la red virtual y dos subredes:

    • Name: Escriba myVnet como nombre de la red virtual.

    • Nombre de subred (subred de Application Gateway): La cuadrícula Subredes mostrará una subred llamada Predeterminada. Cambie el nombre de esta subred a myAGSubnet.
      La subred de la puerta de enlace de aplicaciones solo puede contener puertas de enlace de aplicaciones. No se permite ningún otro recurso.

    • Nombre de subred (subred de servidor de back-end): En la segunda fila de la cuadrícula Subredes, escriba myBackendSubnet en la columna Nombre de subred.

    • Intervalo de direcciones (subred de servidor de back-end): En la segunda fila de la cuadrícula Subredes, escriba un intervalo de direcciones que no se superponga al intervalo de direcciones de myAGSubnet. Por ejemplo, si el intervalo de direcciones de myAGSubnet es 10.0.0.0/24, escriba 10.0.1.0/24 para el intervalo de direcciones de myBackendSubnet.

    Seleccione Aceptar para cerrar la ventana Crear red virtual y guarde la configuración de la red virtual.

    Create new application gateway: virtual network

  3. En la pestaña Aspectos básicos, acepte los valores predeterminados para las demás opciones y seleccione Siguiente: Front-end.

Pestaña Front-end

  1. En la pestaña Front-end, compruebe que Tipo de dirección IP de front-end esté establecido en Pública.
    Puede configurar la dirección IP de front-end para que sea pública o privada, según el caso de uso. En este ejemplo, elegimos una IP de front-end pública.

    Nota:

    Para la SKU de Application Gateway v2, solo puede elegir la configuración IP de front-end pública. La configuración de IP de front-end privada no está habilitada actualmente para este SKU v2.

  2. En Dirección IP pública, seleccione Agregar nueva y escriba myAGPublicIPAddress como nombre de la dirección IP pública y, luego, elija Aceptar.

    Create new application gateway: frontends

  3. Seleccione Siguiente: Back-end.

Pestaña Back-end

El grupo de back-end se usa para enrutar las solicitudes a los servidores back-end, que atienden la solicitud. Los grupos back-end pueden constar de NIC, conjuntos de escalado de máquinas virtuales, IP públicas, IP internas, nombres de dominio completos (FQDN) y servidores backend multiinquilino, como Azure App Service. En este ejemplo, creará un grupo de back-end vacío con la puerta de enlace de aplicaciones y, luego, agregará destinos de back-end al grupo de back-end.

  1. En la pestaña Back-end, seleccione Agregar un grupo de back-end.

  2. En la ventana Agregar un grupo de back-end, escriba los valores siguientes para crear un grupo de back-end vacío:

    • Name: Escriba myBackendPool para el nombre del grupo de back-end.
    • Agregar grupo de back-end sin destinos: Seleccione para crear un grupo de back-end sin destinos. Agregará destinos de back-end después de crear la puerta de enlace de aplicaciones.
  3. En la ventana Agregar un grupo de back-end, seleccione Agregar para guardar la configuración del grupo de back-end y vuelva a la pestaña Back-end.

    Create new application gateway: backends

  4. En la pestaña Back-end, seleccione Siguiente: Configuración.

Pestaña Configuración

En la pestaña Configuración, conecte el grupo de front-end y back-end que ha creado con una regla de enrutamiento.

  1. Seleccione Agregar una regla de enrutamiento en la columna Reglas de enrutamiento.

  2. En la ventana Agregar una regla de enrutamiento que se abre, escriba myRoutingRule para el Nombre de regla.

  3. Una regla de enrutamiento necesita un cliente de escucha. En la pestaña Cliente de escucha de la ventana Agregar una regla de enrutamiento, escriba los valores siguientes para el cliente de escucha:

    • Nombre del cliente de escucha: Escriba myListener para el nombre del cliente de escucha.
    • Dirección IP de front-end: Seleccione Pública para elegir la dirección IP pública que ha creado para el front-end.
    • Protocolo: seleccione HTTPS.
    • Puerto: compruebe que se ha especificado el puerto 443.

    En Configuración HTTPS:

    • Elegir un certificado: seleccione Cargar un certificado.

    • Archivo de certificado PFX: busque y seleccione el archivo c:\appgwcert.pfx que creó anteriormente.

    • Nombre del certificado: escriba mycert1 como nombre del certificado.

    • Contraseña: escriba la contraseña que utilizó para crear el certificado.

      Acepte los valores predeterminados para las demás opciones de la pestaña Cliente de escucha y, a continuación, seleccione la pestaña Destinos de back-end para configurar el resto de opciones de la regla de enrutamiento.

    Create new application gateway: listener

  4. En la pestaña Destinos de back-end, seleccione myBackendPool para el Destino de back-end.

  5. Para la Configuración de HTTP, seleccione Agregar nueva para crear una nueva configuración de HTTP. La configuración de HTTP determinará el comportamiento de la regla de enrutamiento. En la ventana Agregar una configuración de HTTP que se abre, escriba myHTTPSetting en el Nombre de configuración de HTTP. Acepte los valores predeterminados para las demás opciones de la ventana Agregar una configuración de HTTP y, a continuación, seleccione Agregar para volver a la ventana Agregar una regla de enrutamiento.

    Screenshot of Adding H T T P setting from the configuration tab of Create new Application Gateway

  6. En la ventana Agregar una regla de enrutamiento, seleccione Agregar para guardar la regla de enrutamiento y volver a la pestaña Configuración.

    Create new application gateway: routing rule

  7. Seleccione Siguiente: Etiquetas y, a continuación, Siguiente: Review + create (Revisar y crear).

Pestaña Revisar y crear

Revise la configuración en la pestaña Revisar y crear y seleccione Crear para crear la red virtual, la dirección IP pública y la puerta de enlace de aplicaciones. Azure puede tardar varios minutos en crear la puerta de enlace de aplicaciones. Espere hasta que finalice la implementación correctamente antes de continuar con la siguiente sección.

Agregar destinos de back-end

En este ejemplo, se usan máquinas virtuales como back-end de destino. Pueden usarse máquinas virtuales existentes o crear otras nuevas. En este ejemplo, se crean dos máquinas virtuales que Azure usa como servidores back-end para la puerta de enlace de aplicaciones.

Para ello, necesitará lo siguiente:

  1. Crear dos VM, myVM y myVM2, que se usarán como servidores back-end.
  2. Instalar IIS en las máquinas virtuales para comprobar que la puerta de enlace de aplicaciones se ha creado correctamente.
  3. Agregar los servidores back-end al grupo de back-end.

Creación de una máquina virtual

  1. En el menú de Azure Portal, seleccione + Crear un recurso>Proceso>Windows Server 2016 Datacenter o busque Windows Server en el cuadro de búsqueda del portal y seleccione Windows Server 2016 Datacenter.

  2. Seleccione Crear.

    Application Gateway puede enrutar el tráfico a cualquier tipo de máquina virtual que se use en el grupo de back-end. En este ejemplo se usa un Windows Server 2016 Datacenter.

  3. Especifique estos valores en la pestaña Datos básicos de la siguiente configuración de máquina virtual:

    • Grupo de recursos: Seleccione myResourceGroupAG como nombre del grupo de recursos.
    • Nombre de la máquina virtual: Especifique myVM como nombre de la máquina virtual.
    • Nombre de usuario: Escriba un nombre de usuario para el administrador.
    • Contraseña: Escriba una contraseña para la cuenta de administrador.
  4. Acepte los valores predeterminados y haga clic en Siguiente: Discos.

  5. Acepte los valores predeterminados de la pestaña Discos y seleccione Siguiente: Redes.

  6. En la pestaña Redes, compruebe que myVNet está seleccionada como red virtual y que la subred es myBackendSubnet. Acepte los valores predeterminados y haga clic en Siguiente: Administración.

    Application Gateway puede comunicarse con instancias fuera de la red virtual en la que se encuentra, pero hay que comprobar que haya conectividad IP.

  7. En la pestaña Administración, establezca Diagnósticos de arranque en Deshabilitar. Acepte los demás valores predeterminados y seleccione Revisar y crear.

  8. En la pestaña Revisar y crear, revise la configuración, corrija los errores de validación y, después, seleccione Crear.

  9. Espere a que la implementación se complete antes de continuar.

Instalación de IIS para pruebas

En este ejemplo se instala IIS en las máquinas virtuales con el fin de comprobar que Azure creó correctamente la puerta de enlace de aplicaciones.

  1. Abra Azure PowerShell. Para ello, seleccione Cloud Shell en la barra de navegación superior de Azure Portal y, a continuación, seleccione PowerShell en la lista desplegable.

    Install custom extension

  2. Cambie el valor de ubicación del entorno y, a continuación, ejecute el siguiente comando para instalar IIS en la máquina virtual:

           Set-AzVMExtension `
             -ResourceGroupName myResourceGroupAG `
             -ExtensionName IIS `
             -VMName myVM `
             -Publisher Microsoft.Compute `
             -ExtensionType CustomScriptExtension `
             -TypeHandlerVersion 1.4 `
             -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
             -Location <location>
    
  3. Cree una segunda máquina virtual e instale IIS con los pasos que acaba de finalizar. Use myVM2 como nombre de la máquina virtual y como valor de VMName para el cmdlet Set-AzVMExtension.

Incorporación de servidores back-end a un grupo de back-end

  1. Seleccione Todos los recursos y, después, seleccione myAppGateway.

  2. Seleccione los grupos back-end en el menú de la izquierda.

  3. Seleccione MyBackendPool.

  4. En Tipo de destino, seleccione Máquina virtual de la lista desplegable.

  5. En Destino, seleccione la interfaz de red de myVM en la lista desplegable.

  6. Repita este procedimiento para agregar la interfaz de red para myVM2.

    Add backend servers

  7. Seleccione Guardar.

  8. Espere a que la implementación se complete antes de continuar con el paso siguiente.

Prueba de la puerta de enlace de aplicaciones

  1. Seleccione Todos los recursos y, después, myAGPublicIPAddress.

    Record application gateway public IP address

  2. En la barra de direcciones del explorador, escriba https://<la dirección IP de la puerta de enlace de aplicaciones> .

    Para aceptar la advertencia de seguridad si usó un certificado autofirmado, seleccione Detalles (o Configuración avanzada en Chrome) y, luego, continúe a la página web:

    Secure warning

    El sitio web IIS protegido se muestra ahora como en el ejemplo siguiente:

    Test base URL in application gateway

Limpieza de recursos

Cuando ya no los necesite, elimine el grupo de recursos y todos los recursos relacionados. Para ello, seleccione el grupo de recursos y, después, Eliminar grupo de recursos.

Pasos siguientes

En este tutorial, hizo lo siguiente:

  • Creó un certificado autofirmado.
  • Creó una puerta de enlace de aplicación con el certificado.

Para más información sobre la compatibilidad de TLS de Application Gateway, consulte TLS de un extremo a otro con Application Gateway y Directiva de TLS de Application Gateway.

Para aprender a crear y configurar una instancia de Application Gateway para hospedar varios sitios web mediante Azure Portal, pase al siguiente tutorial.