Inicio rápido: Creación de un equilibrador de carga público para equilibrar la carga de máquinas virtuales usando CLI de Azure

Comience a usar Azure Load Balancer mediante la CLI de Azure Portal para crear un equilibrador de carga público y dos máquinas virtuales. Junto con estos recursos, implementará Azure Bastion, NAT Gateway, una red virtual y las subredes necesarias.

Diagrama de recursos implementados para un equilibrador de carga público estándar.

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

Requisitos previos

  • Para realizar este inicio rápido es necesaria la versión 2.0.28 o superior 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 de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

Cree un grupo de recursos con az group create:

  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

Creación de una red virtual

Antes de implementar las VM y probar el equilibrador de carga, cree los recursos de red virtual auxiliares y la subred.

Cree una red virtual con az network vnet create. La red virtual y la subred contienen los recursos implementados más adelante en este artículo.

  az network vnet create \
    --resource-group CreatePubLBQS-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Crear una dirección IP pública

Para obtener acceso a la aplicación web en Internet, necesita una dirección IP pública para el equilibrador de carga.

Use az network public-ip create para crear la dirección IP pública para el front-end del equilibrador de carga.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1 2 3

Para crear una dirección IP pública de zona en la zona 1, utilice el comando siguiente:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1

Creación de un equilibrador de carga

En esta sección se detalla cómo se pueden crear y configurar los componentes siguientes del equilibrador de carga:

  • Un grupo de direcciones IP de front-end que recibe el tráfico de red entrante en el equilibrador de carga

  • Un grupo de direcciones IP de back-end al que el grupo de servidores front-end envía el tráfico de red de carga equilibrada

  • Un sondeo de estado que determina el estado de las instancias de máquina virtual de back-end

  • Una regla de equilibrador de carga que define cómo se distribuye el tráfico a las VM

Creación del recurso del equilibrador de carga

Cree un equilibrador de carga público con az network lb create:

  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool

Si la IP pública creada es zonal, debe definirse la zona especificada al crear el equilibrador de carga público.

  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --public-ip-zone 1 \
    --backend-pool-name myBackEndPool

Creación del sondeo de estado

Los sondeos de estado comprueban todas las instancias de máquina virtual para asegurarse de que pueden enviar tráfico de red.

Una máquina virtual con una comprobación de sondeo con errores se quita del equilibrador de carga. La máquina virtual se agrega de nuevo al equilibrador de carga cuando se resuelve el error.

Cree un sondeo de estado con az network lb probe create:

  az network lb probe create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

Creación de la regla de equilibrador de carga

Una regla de equilibrador de carga define:

  • La configuración de IP del front-end para el tráfico entrante

  • El grupo de IP de back-end para recibir el tráfico

  • Los puertos de origen y de destino requeridos

Cree una regla de equilibrador de carga con az network lb rule create:

  az network lb rule create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --disable-outbound-snat true \
    --idle-timeout 15 \
    --enable-tcp-reset true

Crear un grupo de seguridad de red

En el caso de un equilibrador de carga estándar, las interfaces de red de las VM del grupo de back-end deberán pertenecer a un grupo de seguridad de red.

Use az network nsg create para crear el grupo de seguridad de red:

  az network nsg create \
    --resource-group CreatePubLBQS-rg \
    --name myNSG

Creación de una regla de grupo de seguridad de red

Cree una regla de grupo de seguridad de red con el az network nsg rule create:

  az network nsg rule create \
    --resource-group CreatePubLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

Creación de un host de Bastion

En esta sección, creará los recursos para Azure Bastion. Azure Bastion se usa para administrar de forma segura las máquinas virtuales del grupo de back-end del equilibrador de carga.

Importante

Los precios por hora comienzan desde el momento en que se implementa Bastion, independientemente del uso de datos salientes. Para más información, consulte Precios y SKU. Si va a implementar Bastion como parte de un tutorial o prueba, se recomienda eliminar este recurso una vez que haya terminado de usarlo.

Crear una dirección IP pública

Use az network public-ip create para crear una dirección IP pública para el host bastión. El host bastión usa la dirección IP pública para proteger el acceso a los recursos de la máquina virtual.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

Creación de una subred de Bastion

Use az network vnet subnet create para crear una subred bastión. El host bastión usa la subred bastión para acceder a la red virtual.

  az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Creación de un host bastión

Use az network bastion create para crear un host bastión. El host bastión se usa para conectarse de forma segura a los recursos de máquina virtual creados más adelante en este artículo.

  az network bastion create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

El host de Azure Bastion tarda unos minutos en implementarse.

Creación de servidores back-end

En esta sección, creará:

  • Dos interfaces de red para las máquinas virtuales

  • Dos máquinas virtuales que se usarán como servidores back-end para el equilibrador de carga

Creación de interfaces de red para las máquinas virtuales

Cree dos interfaces de red con az network nic create:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreatePubLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

Creación de máquinas virtuales

Cree las máquinas virtuales con az vm create:

  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM1 \
    --nics myNicVM1 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 1 \
    --no-wait
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM2 \
    --nics myNicVM2 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

Puede que las VM tarden unos minutos en implementarse. Puede continuar con los pasos siguientes mientras se crean las máquinas virtuales.

Nota:

Azure proporciona una dirección IP de acceso de salida predeterminada para las máquinas virtuales que no tienen asignada una dirección IP pública o están en el grupo back-end de un equilibrador de carga de Azure básico interno. El mecanismo de dirección IP de acceso de salida predeterminado proporciona una dirección IP de salida que no se puede configurar.

La dirección IP de acceso de salida predeterminada está deshabilitada cuando se produce uno de los siguientes eventos:

  • Se asigna una dirección IP pública a la máquina virtual.
  • La máquina virtual se coloca en el grupo back-end de un equilibrador de carga estándar, con o sin reglas de salida.
  • Se asigna un recurso de Azure NAT Gateway a la subred de la máquina virtual.

Las máquinas virtuales creadas mediante conjuntos de escalado de máquinas virtuales en modo de orquestación flexible no tienen acceso de salida predeterminado.

Para más información sobre las conexiones de salida en Azure, vea Acceso de salida predeterminado en Azure y Uso de traducción de direcciones de red (SNAT) de origen para conexiones de salida.

Adición de máquinas virtuales al grupo de back-end del equilibrador de carga

Agregue las máquinas virtuales al grupo de back-end con az network nic ip-config address-pool add:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

Creación de una instancia de NAT Gateway

Para proporcionar acceso saliente a Internet para los recursos del grupo de back-end, cree una puerta de enlace NAT.

Creación de una IP pública

Use az network public-ip create para crear una única dirección IP para la conectividad saliente.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

Para crear una dirección IP pública con redundancia zonal en la zona 1, use el siguiente comando:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1

Creación de un recurso de puerta de enlace de NAT

Uso de az network nat gateway create para crear el recurso de puerta de enlace NAT. La dirección IP pública creada en el paso anterior está asociada a la puerta de enlace NAT.

  az network nat gateway create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --idle-timeout 10

Asociación de una puerta de enlace NAT a una subred

Configure la subred de origen de la red virtual para usar un recurso de puerta de enlace NAT concreto con az network vnet subnet update.

  az network vnet subnet update \
    --resource-group CreatePubLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

Instalación de IIS

Utilice az vm extension set para instalar IIS en las máquinas virtuales y establecer el nombre del equipo como sitio web predeterminado.

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreatePubLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

Prueba del equilibrador de carga

Para obtener la dirección IP pública del equilibrador de carga, 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 CreatePubLBQS-rg \
    --name myPublicIP \
    --query ipAddress \
    --output tsv

Prueba del equilibrador de carga

Limpieza de recursos

Cuando ya no se necesiten, use el comando az group delete para quitar el grupo de recursos, el equilibrador de carga y todos los recursos relacionados.

  az group delete \
    --name CreatePubLBQS-rg

Pasos siguientes

En esta guía de inicio rápido:

  • Ha creado un equilibrador de carga estándar público

  • Ha adjuntado dos máquinas virtuales

  • Ha configurado la regla de tráfico del equilibrador de carga y el sondeo de estado

  • Ha probado el equilibrador de carga.

Para más información sobre Azure Load Balancer, vaya a: