Ejercicio: Implementación de un conjunto de escalado en Azure Portal
En el escenario de ejemplo, decide usar un conjunto de escalado para ejecutar la aplicación web para la empresa de transportes. La empresa de transportes puede mantener tiempos de respuesta breves para los usuarios a medida que varíe la carga de trabajo usando un conjunto de escalado.
La primera tarea consiste en crear un conjunto de escalado. Lo configura para ejecutar un servidor web, en este caso nginx. Después de configurar el conjunto de escalado correctamente, implemente la aplicación web. Después, configure un sondeo de mantenimiento que Azure usa para comprobar la disponibilidad de cada máquina virtual (VM) en el conjunto de escalado. Por último, pruebe el conjunto de escalado mediante el envío de solicitudes desde un explorador web.
Nota:
Este ejercicio es opcional. Si no tiene una cuenta de Azure, puede leer las instrucciones para entender cómo se usa la API REST para recuperar métricas.
Si quiere completar este ejercicio pero no tiene una suscripción de Azure o prefiere no usar una cuenta propia, cree una cuenta gratuita antes de empezar.
Implementación de un conjunto de escalado de máquinas virtuales
Inicie sesión en Azure Portal y abra Azure Cloud Shell.
En la barra de herramientas de la parte superior de la ventana de Cloud Shell, seleccione Configuración>Ir a la versión clásica.
En Cloud Shell, inicie el editor de código y cree un archivo llamado cloud-init.yaml.
code cloud-init.yaml
Agregue el texto siguiente al archivo:
#cloud-config package_upgrade: true packages: - nginx write_files: - owner: www-data:www-data - path: /var/www/html/index.html content: | Hello world from Virtual Machine Scale Set ! runcmd: - service nginx restart
El archivo contiene la información de configuración para instalar nginx en las máquinas virtuales del conjunto de escalado.
Seleccione Ctrl+S para guardar el archivo y, a continuación, Ctrl+Q para cerrar el editor de código.
Ejecute el comando siguiente para crear un nuevo grupo de recursos para el conjunto de escalado:
az group create --location eastus --name myResourceGroup
Ejecute el comando siguiente para crear el conjunto de escalado de máquinas virtuales:
az vmss create \ --resource-group myResourceGroup \ --name webServerScaleSet \ --image Ubuntu2204 \ --upgrade-policy-mode automatic \ --custom-data cloud-init.yaml \ --admin-username azureuser \ --generate-ssh-keys
De forma predeterminada, el nuevo conjunto de escalado de máquinas virtuales tiene dos instancias y un equilibrador de carga.
Nota:
La marca
custom-data
especifica que la configuración de la máquina virtual debe usar los valores del archivo cloud-init.yaml una vez creada la máquina virtual. Puede usar un archivo cloud-init para instalar más paquetes, configurar la seguridad y escribir en archivos después de instalar por primera vez la máquina.Para más información, vea Compatibilidad de cloud-init con máquinas virtuales en Azure.
Configuración del conjunto de escalado de máquinas virtuales
Ejecute el comando siguiente para agregar un sondeo de mantenimiento al equilibrador de carga:
az network lb probe create \ --lb-name webServerScaleSetLB \ --resource-group myResourceGroup \ --name webServerHealth \ --port 80 \ --protocol Http \ --path /
El sondeo de mantenimiento hace ping al directorio raíz del sitio web mediante el puerto 80. Si el sitio web no responde, se considera que el servidor no está disponible. El equilibrador de carga no enruta el tráfico al servidor.
Ejecute el comando siguiente para configurar el equilibrador de carga de forma que enrute el tráfico HTTP a las instancias del conjunto de escalado:
az network lb rule create \ --resource-group myResourceGroup \ --name webServerLoadBalancerRuleWeb \ --lb-name webServerScaleSetLB \ --probe-name webServerHealth \ --backend-pool-name webServerScaleSetLBBEPool \ --backend-port 8080 \ --frontend-ip-name loadBalancerFrontEnd \ --frontend-port 8080 \ --protocol tcp
Prueba del conjunto de escalado de máquinas virtuales
En Azure Portal, en el menú lateral, seleccione Grupos de recursos>myResourceGroup.
Seleccione el conjunto de escalado de máquinas virtuales webServerScaleSet.
En la página Información general, fíjese en la dirección IP pública del conjunto de escalado de máquinas virtuales.
Seleccione Instancias. Compruebe que el conjunto de escalado contiene dos máquinas virtuales en ejecución.
Seleccione una instancia y vaya a la página Propiedades. Compruebe que las máquinas virtuales se ejecutan en Ubuntu Linux.
En el explorador web, vaya a la dirección IP pública del conjunto de escalado. Compruebe que aparece el mensaje Hello World from Virtual Machine Scale Set ! (¡Hola mundo del conjunto de escalado de máquinas virtuales!).