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