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.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- 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
Inicie sesión en Azure Portal.
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.
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.
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.
En la página Información general, seleccione Conectar>Bastion.
Escriba el nombre de usuario y la contraseña que especificó al crear la máquina virtual.
En myTestVM, abra Internet Explorer.
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.
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: