Compartir vía


Administrar el tráfico web con Application Gateway mediante la CLI de Azure

La puerta de enlace de aplicaciones se utiliza para administrar y proteger el tráfico web en los servidores que mantenga. Puede usar la CLI de Azure para crear una puerta de enlace de aplicaciones que use un conjunto de escalado de máquinas virtuales para los servidores back-end. En este ejemplo, el conjunto de escalado contiene dos instancias de máquina virtual. El conjunto de escalado se agrega al grupo de back-end predeterminado de la puerta de enlace de la aplicación.

En este artículo aprenderá a:

  • Configuración de la red
  • Creación de una puerta de enlace de aplicaciones
  • Creación de un conjunto de escalado de máquinas virtuales con el grupo de servidores back-end predeterminado

Si lo prefiere, puede realizar los pasos de este procedimiento mediante Azure PowerShell.

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

Requisitos previos

  • Este tutorial requiere la versión 2.0.4 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.

Crear un grupo de recursos

Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Para crear un grupo de recursos, use az group create.

En el ejemplo siguiente, se crea un grupo de recursos llamado myResourceGroupAG en la ubicación eastus.

az group create --name myResourceGroupAG --location eastus

Crear recursos de red

Cree la red virtual llamada myVNet y la subred llamada myAGSubnet mediante az network vnet create. Después, puede agregar la subred llamada myBackendSubnet que necesitan los servidores back-end mediante az network vnet subnet create. Cree la dirección IP pública llamada myAGPublicIPAddress mediante az network public-ip create.

az network vnet create \
 --name myVNet \
 --resource-group myResourceGroupAG \
 --location eastus \
 --address-prefix 10.0.0.0/16 \
 --subnet-name myAGSubnet \
 --subnet-prefix 10.0.1.0/24

az network vnet subnet create \
 --name myBackendSubnet \
 --resource-group myResourceGroupAG \
 --vnet-name myVNet \
 --address-prefix 10.0.2.0/24

az network public-ip create \
 --resource-group myResourceGroupAG \
 --name myAGPublicIPAddress \
 --allocation-method Static \
 --sku Standard

Creación de una instancia de Application Gateway

Use az network application-gateway create para crear la puerta de enlace de aplicaciones llamada myAppGateway. Cuando se crea una puerta de enlace de aplicaciones mediante la CLI de Azure, se especifica información de configuración, como capacidad, SKU y HTTP. La puerta de enlace de aplicaciones se asigna a los elementos myAGSubnet y myPublicIPAddress que se crearon anteriormente.

az network application-gateway create \
 --name myAppGateway \
 --location eastus \
 --resource-group myResourceGroupAG \
 --vnet-name myVNet \
 --subnet myAGsubnet \
 --capacity 2 \
 --sku Standard_v2 \
 --http-settings-cookie-based-affinity Disabled \
 --frontend-port 80 \
 --http-settings-port 80 \
 --http-settings-protocol Http \
 --public-ip-address myAGPublicIPAddress \
 --priority 100

La puerta de enlace de aplicaciones puede tardar varios minutos en crearse. Después de crear la puerta de enlace de la aplicación, verá estas características nuevas:

  • appGatewayBackendPool: una puerta de enlace de aplicaciones debe tener al menos un grupo de direcciones de servidores back-end.
  • appGatewayBackendHttpSettings: especifica que se use el puerto 80 y un protocolo HTTP para la comunicación.
  • appGatewayHttpListener: agente de escucha predeterminado asociado con appGatewayBackendPool.
  • appGatewayFrontendIP: asigna myAGPublicIPAddress a appGatewayHttpListener.
  • rule1: la regla de enrutamiento predeterminada asociada a appGatewayHttpListener.

Creación de un conjunto de escalado de máquinas virtuales

En este ejemplo, creará un conjunto de escalado de máquinas virtuales que proporcione servidores para el grupo de servidores back-end en la puerta de enlace de aplicaciones. Las máquinas virtuales del conjunto de escalado están asociadas a myBackendSubnet y appGatewayBackendPool. Para crear el conjunto de escalado, use az vmss create.

az vmss create \
 --name myvmss \
 --resource-group myResourceGroupAG \
 --image Ubuntu2204 \
 --admin-username azureuser \
 --admin-password Azure123456! \
 --instance-count 2 \
 --vnet-name myVNet \
 --subnet myBackendSubnet \
 --vm-sku Standard_DS2 \
 --upgrade-policy-mode Automatic \
 --app-gateway myAppGateway \
 --backend-pool-name appGatewayBackendPool

Instalación de NGINX

Ahora puede instalar NGINX en el conjunto de escalado de máquinas virtuales, con lo que puede comprobar la conectividad HTTP al grupo de back-end.

az vmss extension set \
 --publisher Microsoft.Azure.Extensions \
 --version 2.0 \
 --name CustomScript \
 --resource-group myResourceGroupAG \
 --vmss-name myvmss \
 --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'

Prueba de la puerta de enlace de aplicaciones

Para obtener la dirección IP pública de la puerta de enlace de aplicaciones, use az network public-ip show. Copie la dirección IP pública y péguela en la barra de direcciones del explorador.

az network public-ip show \
 --resource-group myResourceGroupAG \
 --name myAGPublicIPAddress \
 --query [ipAddress] \
 --output tsv

Prueba de la dirección URL base en la puerta de enlace de aplicaciones

Limpieza de recursos

Cuando ya no los necesite, quite el grupo de recursos, la puerta de enlace de aplicaciones y todos los recursos relacionados.

az group delete --name myResourceGroupAG --location eastus

Pasos siguientes

Restringir el tráfico web con un firewall de aplicaciones web