Compartir vía


Inicio rápido: Creación de un equilibrador de carga interno para equilibrar la carga de las máquinas virtuales mediante la CLI de Azure

Para comenzar a usar Azure Load Balancer, cree un equilibrador de carga interno y dos máquinas virtuales con la CLI de Azure. Entre los recursos adicionales, se incluyen Azure Bastion, NAT Gateway, una red virtual y las subredes necesarias.

Diagrama de recursos implementados para el equilibrador de carga interno.

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 administran los recursos de Azure.

Cree un grupo de recursos con az group create.

    az group create \
      --name CreateIntLBQS-rg \
      --location westus2

Cuando se crea un equilibrador de carga interno, se configura una red virtual como red para él.

Crear la red virtual

Antes de implementar las VM y probar el equilibrador de carga, cree los recursos de red virtual auxiliares y la subred. La red virtual y la subred contienen los recursos implementados más adelante en este artículo.

Use az network vnet create para crear una red virtual.

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

Creación de un host de Azure Bastion

En este ejemplo, creará un host de Azure Bastion. Más adelante en este artículo, se usará el host de Azure Bastion para administrar las máquinas virtuales de forma segura y probar la implementación 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.

Creación de una dirección IP pública de tipo bastión

Use az network public-ip create para crear una dirección IP pública para el host de Azure Bastion.

az network public-ip create \
    --resource-group CreateIntLBQS-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.

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

Creación del host bastión

Use az network bastion create para crear un host.

az config set extension.use_dynamic_install=yes_without_prompt

az network bastion create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location westus2 \
    --only-show-errors \
    --no-wait

El host de Azure Bastion tarda unos minutos en implementarse.

Creación del 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 interno con az network lb create.

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackEndPool \
    --frontend-ip-name myFrontEnd

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 el sondeo de estado con az network lb probe create.

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

Creación de una 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 CreateIntLBQS-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 \
    --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.

Para crear un grupo de seguridad de red, use az network nsg create.

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

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

Para crear una regla de grupo de seguridad de red, use az network nsg rule create.

  az network nsg rule create \
    --resource-group CreateIntLBQS-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 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 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 CreateIntLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

Creación de las máquinas virtuales

Cree las máquinas virtuales con az vm create.

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2022datacenter \
    --admin-username azureuser \
    --zone $n \
    --no-wait
  done

Puede que las máquinas virtuales tarden unos minutos en implementarse.

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

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

  array=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-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 CreateIntLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

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 CreateIntLBQS-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 CreateIntLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

Creación de una máquina virtual de prueba

Cree la interfaz de red con az network nic create.

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

Cree la máquina virtual con az vm create.

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

Es posible que haya que esperar unos minutos para que se implemente la máquina virtual.

Instalación de IIS

Utilice az vm extension set para instalar el software IIS en las máquinas virtuales de back-end y establezca el nombre del equipo como valor del 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 CreateIntLBQS-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

  1. Inicie sesión en Azure Portal.

  2. En la página Información general, busque la dirección IP privada del equilibrador de carga. En el menú de la izquierda, seleccione Todos los servicios>Todos los recursos>myLoadBalancer.

  3. En la información general de myLoadBalancer, copie la dirección que aparece junto a Dirección IP privada. Si la Dirección IP privada no es visible, seleccione Ver más.

  4. En el menú de la izquierda, seleccione Todos los servicios>Todos los recursos. En la lista de recursos, en el grupo de recursos CreateIntLBQS-RG, seleccione myTestVM.

  5. En la página Información general, seleccione Conectar>Bastion.

  6. Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual.

  7. En myTestVM, abra Internet Explorer.

  8. Escriba la dirección IP del paso anterior en la barra de direcciones del explorador. En el explorador se muestra la página predeterminada del servidor web de IIS.

    Captura de pantalla de la dirección IP en la barra de direcciones del explorador.

Limpieza de recursos

Cuando ya no se necesiten los recursos, 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 CreateIntLBQS-rg

Pasos siguientes

En esta guía de inicio rápido:

  • Ha creado un equilibrador de carga interno

  • 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: