Creación de una puerta de enlace de aplicaciones con un equilibrador de carga interno (ILB)

Azure Application Gateway Standard v1 se puede configurar con una VIP accesible desde Internet o con un punto de conexión interno que no esté expuesto a Internet, también conocido como punto de conexión de equilibrador de carga interno (ILB). La configuración de la puerta de enlace con un ILB es útil para aplicaciones de línea de negocio internas no expuestas a Internet. También es útil para los distintos servicios y niveles de una aplicación de niveles múltiples que se encuentran dentro de un límite de seguridad no expuesto a Internet, pero que aun así siguen necesitando distribución de carga round robin, permanencia de sesión o terminación de Seguridad de la capa de transporte (TLS), conocida previamente como Capa de sockets seguros (SSL).

Este artículo le guía por los pasos necesarios para configurar una puerta de enlace de aplicaciones versión estándar v1 con un ILB.

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.

  1. Instale la versión más reciente del módulo de Azure PowerShell siguiendo las instrucciones de instalación.
  2. Tendrá que crear una red virtual y una subred para Puerta de enlace de aplicaciones. Asegúrese de que ninguna máquina virtual o implementación en la nube usan la subred. La puerta de enlace de aplicaciones debe encontrarse en una subred de una red virtual.
  3. Los servidores que configure para que usen la Puerta de enlace de aplicaciones deben existir, o bien sus puntos de conexión deben haberse creado en la red virtual o tener una dirección IP/VIP pública asignada.

¿Qué se necesita para crear una puerta de enlace de aplicaciones?

  • Grupo de servidores de backend: lista de direcciones IP de los servidores backend. Las direcciones IP que se enumeran deben pertenecer a la red virtual, pero a otra subred de la puerta de enlace de aplicaciones, o deben ser IP/VIP públicas.
  • Configuración del grupo de servidores back-end : cada grupo tiene una configuración como el puerto, el protocolo y la afinidad basada en cookies. Estos valores están vinculados a un grupo y se aplican a todos los servidores del grupo.
  • Puerto front-end: este puerto es el puerto público que se abre en la puerta de enlace de aplicaciones. El tráfico llega a este puerto y, a continuación, se redirige a uno de los servidores backend.
  • Agente de escucha : la escucha tiene un puerto front-end, un protocolo (Http o Https, estos distinguen mayúsculas de minúsculas) y el nombre del certificado SSL (si se configura la descarga de SSL).
  • Regla: enlaza el agente de escucha y el grupo de servidores backend, y define a qué grupo de servidores backend se debe dirigir el tráfico cuando llega a un agente de escucha determinado. Actualmente, solo se admite la regla básica . La regla básica es la distribución de carga round robin.

Creación de una puerta de enlace de aplicaciones

La diferencia entre Azure Portal y Azure Resource Manager es el orden en el que se crea la puerta de enlace de aplicaciones y los elementos que es necesario configurar. Con Resource Manager, todos los elementos que componen una puerta de enlace de aplicaciones se configurarán individualmente y, luego, se unirán para crear el recurso de puerta de enlace de aplicaciones.

Estos son los pasos necesarios para crear una puerta de enlace de aplicaciones:

  1. Creación de un grupo de recursos para Resource Manager
  2. Creación de una red virtual y una subred para la puerta de enlace de aplicaciones
  3. Creación de un objeto de configuración de la puerta de enlace de aplicaciones
  4. Creación de un recurso de la puerta de enlace de aplicaciones

Creación de un grupo de recursos para Resource Manager

Asegúrese de cambiar el modo de PowerShell para que use los cmdlets de Azure Resource Manager. Hay más información disponible en Uso de Windows PowerShell con Resource Manager.

Paso 1

Connect-AzAccount

Paso 2

Compruebe las suscripciones para la cuenta.

Get-AzSubscription

Se le solicita que se autentique con sus credenciales.

Paso 3

Elección de la suscripción de Azure que se va a usar.

Select-AzSubscription -Subscriptionid "GUID of subscription"

Paso 4

Cree un grupo de recursos nuevo (omita este paso si usa uno existente).

New-AzResourceGroup -Name appgw-rg -location "West US"

Azure Resource Manager requiere que todos los grupos de recursos especifiquen una ubicación. Esta se utiliza como ubicación predeterminada para los recursos de ese grupo de recursos. Asegúrese de que todos los comandos para crear una puerta de enlace de aplicaciones usan el mismo grupo de recursos.

En el ejemplo anterior, creamos un grupo de recursos denominado "appgw-rg" y la ubicación "Oeste de EE. UU.".

Creación de una red virtual y una subred para la puerta de enlace de aplicaciones

En el ejemplo siguiente se muestra cómo crear una red virtual con Resource Manager:

Paso 1

$subnetconfig = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

Este paso asigna el intervalo de direcciones 10.0.0.0/24 a la variable de subred que se va a usar para crear una red virtual.

Paso 2

$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnetconfig

Este paso crea una red virtual denominada "appgwvnet" en el grupo de recursos "appgw-rg" para la región Oeste de EE. UU. con el prefijo 10.0.0.0/16 y la subred 10.0.0.0/24.

Paso 3

$subnet = $vnet.subnets[0]

Este paso asigna el objeto de subred a la variable $subnet para los siguientes pasos.

Creación de un objeto de configuración de la puerta de enlace de aplicaciones

Paso 1

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

Este paso crea una configuración de la IP de la puerta de enlace de aplicaciones denominada "gatewayIP01". Cuando se inicia Application Gateway, elige una dirección IP de la subred configurada y redirige el tráfico de red a las direcciones IP en el grupo IP de back-end. Tenga en cuenta que cada instancia toma una dirección IP.

Paso 2

$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 10.1.1.8,10.1.1.9,10.1.1.10

Este paso configura el grupo de direcciones IP de back-end denominado "pool01" con las direcciones IP "10.1.1.8, 10.1.1.9, 10.1.1.10". Son las direcciones IP que reciben el tráfico de red procedente del punto de conexión de la IP del front-end. Reemplaza las direcciones IP anteriores para agregar sus propios puntos de conexión de direcciones IP de la aplicación.

Paso 3

$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled

Este paso configura la opción de la puerta de enlace de aplicaciones "poolsetting01" para el tráfico de red con carga equilibrada del grupo de back-end.

Paso 4

$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 80

Este paso configura el puerto IP del front-end denominado "frontendport01" para el ILB.

Paso 5

$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -Subnet $subnet

Este paso crea la configuración de la IP del front-end llamada "fipconfig01" y la asocia una dirección IP privada de la subred de la red virtual actual.

Paso 6

$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp

Este paso crea el cliente de escucha "listener01" y asocia el puerto front-end con la configuración de la IP del front-end.

Paso 7

$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Este paso crea la regla de enrutamiento del equilibrador de carga denominada "rule01" que configura el comportamiento del equilibrador de carga.

Paso 8

$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

Este paso configura el tamaño de instancia de la puerta de enlace de aplicaciones.

Nota:

El valor predeterminado de Capacity es 2. Como nombre de la SKU puede elegir entre Standard_Small, Standard_Medium y Standard_Large.

Creación de una puerta de enlace de aplicaciones con New-AzureApplicationGateway

Cree una puerta de enlace de aplicaciones con todos los elementos de configuración de los pasos anteriores. En el ejemplo, la puerta de enlace de aplicaciones se denomina "appgwtest".

$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku

Este paso crea una puerta de enlace de aplicaciones con todos los elementos de configuración de los pasos anteriores. En el ejemplo, la Puerta de enlace de aplicaciones se denomina "appgwtest".

Eliminación de una puerta de enlace de aplicaciones

Para eliminar una puerta de enlace de aplicaciones, deberá realizar los pasos siguientes en orden:

  1. Use el cmdlet Stop-AzApplicationGateway para detener la puerta de enlace.
  2. Utilice el cmdlet Remove-AzApplicationGateway para quitar la puerta de enlace.
  3. Compruebe que se quitó la puerta de enlace con el cmdlet Get-AzureApplicationGateway.

Paso 1

Obtenga el objeto de puerta de enlace de aplicaciones y asócielo a una variable "$getgw".

$getgw =  Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg

Paso 2

Use Stop-AzApplicationGateway para detener la puerta de enlace de aplicaciones. Este ejemplo muestra el cmdlet Stop-AzApplicationGateway en la primera línea, seguido de la salida.

Stop-AzApplicationGateway -ApplicationGateway $getgw  
VERBOSE: 9:49:34 PM - Begin Operation: Stop-AzureApplicationGateway
VERBOSE: 10:10:06 PM - Completed Operation: Stop-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   ce6c6c95-77b4-2118-9d65-e29defadffb8

Cuando el estado de la puerta de enlace de aplicaciones sea detenido, use el cmdlet Remove-AzApplicationGateway para quitar el servicio.

Remove-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Force
VERBOSE: 10:49:34 PM - Begin Operation: Remove-AzureApplicationGateway
VERBOSE: 10:50:36 PM - Completed Operation: Remove-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   055f3a96-8681-2094-a304-8d9a11ad8301

Nota:

Se puede usar el modificador -force para suprimir el mensaje de confirmación de eliminación.

Para comprobar que se ha quitado el servicio, puede usar el cmdlet Get-AzApplicationGateway. Este paso no es necesario.

Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
VERBOSE: 10:52:46 PM - Begin Operation: Get-AzureApplicationGateway

Get-AzureApplicationGateway : ResourceNotFound: The gateway doesn't exist.

Pasos siguientes

Si desea configurar la descarga de SSL, consulte Configuración de una puerta de enlace de aplicaciones para la descarga SSL mediante el modelo de implementación clásica.

Si desea obtener más información acerca de opciones de equilibrio de carga en general, vea: