Ajuste de escala automático global de un servicio web en Compute Engine

En este instructivo se muestra cómo configurar un servicio web disponible a nivel global a través de grupos de instancias administrados regionales de Compute Engine, con un ajuste de escala automático para satisfacer las necesidades de capacidad. Puedes usar las técnicas que se muestran en este instructivo para implementar en tu propio proyecto escalable y distribuido a nivel global en Compute Engine.

Objetivos

  • Implementa varios grupos de instancias de Compute Engine, administrados y regionales, con el ajuste de escala automático habilitado.
  • Crea un balanceador de cargas automático entre regiones.
  • Genera tráfico de prueba desde diferentes regiones del mundo.
  • Usa Google Cloud Console para visualizar la forma en que el balanceador de cargas distribuye las solicitudes y los grupos de instancias realizan el ajuste de escala automático para satisfacer la demanda.

Costos

En este instructivo, se usan los siguientes componentes facturables de GCP:

  • Compute Engine

Antes de comenzar

  1. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

  2. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  3. Habilita lasCompute EngineAPI.

    Habilita lasAPI

Arquitectura de aplicaciones

En la aplicación se incluyen los siguientes componentes de Compute Engine:

  1. Plantilla de instancias: Una plantilla que se usa para crear cada instancia en los grupos de instancias.
  2. Grupos de instancias: Varios grupos de instancias con un ajuste de escala automático que funciona según el tráfico entrante.
  3. Balanceador de cargas: Un balanceador de cargas HTTP que distribuye el tráfico entre los grupos de instancias.
  4. Instancias: Varias instancias de prueba para generar tráfico de prueba desde diferentes partes del mundo.

Diagrama de la arquitectura del sistema que muestra un balanceador de cargas con varios grupos de instancias regionales

Configura el servicio web

Crea los grupos de instancias

Console

  1. Crea una red para los grupos de instancias.

    1. En Cloud Console, ve a la página Redes de VPC.
      Ir a la página Redes de VPC
    2. Haz clic en Crear red de VPC.
    3. Configura el campo Nombre como fortressnet.
    4. Establece Modo de creación de subred en Automático.
    5. Haz clic en Crear en la parte inferior de la página.
  2. Crea una regla de firewall para la red. Esta regla permitirá todas las solicitudes HTTP que se envíen a las instancias.

    1. En Cloud Console, ve a la página Reglas de firewall.
      Ir a la página Reglas de firewall
    2. Haz clic en Crear regla de firewall.
    3. Configura el campo Nombre como fortressnet-allow-http.
    4. En Red, selecciona fortressnet.
    5. En Destinos, selecciona All instances in the network.
    6. Configura Rangos de IP de origen como 0.0.0.0/0.
    7. En Protocolos y puertos, selecciona TCP y, luego, ingresa 80.
    8. Haz clic en Crear.
  3. Crea una plantilla de instancias. Incluye una secuencia de comandos de inicio para que, en cada instancia, se inicie un Apache Web Server simple.

    1. En Cloud Console, ve a la página Plantillas de instancias.
      Ir a la página Plantillas de instancias
    2. Haz clic en Crear plantilla de instancias.
    3. Configura el campo Nombre como fort-template.
    4. En Configuración de la máquina, selecciona micro (f1-micro).
    5. Haz clic en Administración, seguridad, discos, redes, instancia única para mostrar la configuración avanzada. Deberías ver varias pestañas.
    6. Haz clic en la pestaña Herramientas de redes.
    7. En Red, selecciona fortressnet.
    8. Haz clic en la pestaña Administración.
    9. En Automatización, ingresa la siguiente Secuencia de comandos de inicio.

      apt-get update && apt-get install -y apache2
      

    10. Haz clic en Crear en la parte inferior de la página.

  4. Crea varios grupos de instancias administrados y regionales con la plantilla de instancias. Configura el ajuste de escala automático para cada grupo de instancias.

    1. Ve a la página Grupos de instancias en Cloud Console.
      Ir a la página Grupos de instancias
    2. Haz clic en Crear plantilla de grupo de instancias.
    3. Configura el campo Nombre como us-central1-pool.
    4. En Ubicación selecciona Multi-zone.
    5. En Región, selecciona us-central1.
    6. En Plantilla de instancias, selecciona fort-template.
    7. En Ajuste de escala automático selecciona Activado.
    8. En Ajuste de escala automático basado en selecciona HTTP load balancing usage.
    9. Configura el campo Uso del balanceo de cargas de destino como 80.
    10. Establece el campo Número mínimo de instancias como 1.
    11. Establece el campo Número máximo de instancias como 5.
    12. Haz clic en Crear.
    13. Repite estos pasos para crear otros dos grupos de instancias con los siguientes cambios:
      • Crea un grupo con Nombre como europe-west1-pool y Región como europe-west1.
      • Crea un grupo con Nombre como asia-east1-pool y Región como asia-east1.
  5. Verifica que las instancias estén en buen estado y entreguen tráfico HTTP (opcional). Prueba la dirección IP externa de una o más instancias. Es posible que debas esperar un minuto hasta que las instancias finalicen el proceso de inicio.

    1. En Cloud Console, ve a la página Instancias de VM.
      Ir a la página Instancias de VM
    2. Verifica que cada instancia en ejecución tenga una marca de verificación verde en la columna Nombre.
    3. Copia la IP externa de una instancia y pégala en un navegador web.

    Deberías ver la página web “Apache2 Debian Default Page”.

    Si no funciona, espera un momento.

gcloud

  1. Crea una red para los grupos de instancias.

    gcloud compute networks create fortressnet --subnet-mode auto
    
  2. Crea una regla de firewall para la red. Esta regla permitirá todas las solicitudes HTTP que se envíen a las instancias.

    gcloud compute firewall-rules create fortressnet-allow-http \
        --network fortressnet \
        --allow tcp:80
    
  3. Crea una plantilla de instancias. Incluye una secuencia de comandos de inicio para que, en cada instancia, se inicie un Apache Web Server simple.

    gcloud compute instance-templates create fort-template \
        --machine-type f1-micro \
        --network fortressnet \
        --metadata startup-script='apt-get update && apt-get install -y apache2'
    
  4. Crea varios grupos de instancias administrados y regionales con la plantilla de instancias. Configura el ajuste de escala automático para cada grupo de instancias.

    gcloud compute instance-groups managed create us-central1-pool \
        --region us-central1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling us-central1-pool \
        --region us-central1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
    gcloud compute instance-groups managed create europe-west1-pool \
        --region europe-west1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling europe-west1-pool \
        --region europe-west1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
    gcloud compute instance-groups managed create asia-east1-pool \
        --region asia-east1 \
        --template fort-template \
        --size 1
    gcloud compute instance-groups managed set-autoscaling asia-east1-pool \
        --region asia-east1 \
        --min-num-replicas 1 \
        --max-num-replicas 5 \
        --scale-based-on-load-balancing \
        --target-load-balancing-utilization .8
    
  5. Verifica que las instancias estén en buen estado y entreguen tráfico HTTP (opcional). Prueba la dirección IP externa de una o más instancias. Es posible que debas esperar un minuto hasta que las instancias finalicen el proceso de inicio.

    1. Genera una lista de tus instancias.

      gcloud compute instances list
      

    2. Verifica debajo de la columna STATUS que las instancias seanRUNNING.

    3. Para comprobar una instancia, consulta su dirección IP en la columna EXTERNAL_IP.

      curl http://[EXTERNAL_IP] | head
      

    Deberías ver texto HTML, incluida la línea <title>Apache2 Debian Default Page: It works</title>.

    Si no funciona, espera un momento.

Configura el balanceador de cargas

El balanceador de cargas distribuirá las solicitudes de los clientes entre los diferentes backends.

Console

Comienza a configurar el balanceador de cargas

  1. En Cloud Console, ve a la página Balanceo de cargas.
    Ir a la página Balanceo de cargas
  2. Haz clic en Crear balanceador de cargas.
  3. En Balanceo de cargas HTTP(S), haz clic en Iniciar configuración.
  4. Establece el Nombre como fortressnet-balancer.

Configuración de backend

  1. En la página Nuevo balanceador de cargas HTTP(S), haz clic en Configuración de backend.
  2. En el menú desplegable Crear o seleccionar servicios y depósitos de backend, selecciona Servicios de backend y, luego, Crear un servicio de backend. Deberías ver el cuadro de diálogo Crear servicio de backend.
  3. Configura el Nombre del servicio de backend como fortressnet-backend-service.
  4. En el cuadro de diálogo Nuevo backend, configura el campo Grupo de instancias como asia-east1-pool.
  5. En el Modo de balanceo, selecciona Velocidad.
  6. Configura el RPS máximo como 100 RPS por instancia.
  7. Haz clic en Listo.
  8. Haz clic en Agregar backend.
  9. En el cuadro de diálogo Nuevo backend, configura el campo Grupo de instancias como europe-west1-pool.
  10. En el Modo de balanceo, selecciona Velocidad.
  11. Configura el RPS máximo como 100 RPS por instancia.
  12. Haz clic en Listo.
  13. Haz clic en Agregar backend.
  14. En el cuadro de diálogo Nuevo backend, configura el campo Grupo de instancias como us-central1-pool.
  15. En el Modo de balanceo, selecciona Velocidad.
  16. Configura el RPS máximo como 100 RPS por instancia.
  17. Haz clic en Listo.
  18. En Verificación de estado, selecciona Crear una verificación de estado.
  19. Configura el campo Nombre como http-basic-check.
  20. En Protocolo, selecciona HTTP.
  21. Configura el Puerto como 80.
  22. Haz clic en Guardar y continuar.
  23. Haz clic en Crear.

Reglas de host y ruta de acceso

  1. En el panel izquierdo de la página Nuevo balanceador de cargas HTTP(S), haz clic en Reglas de host y rutas.
    Para este ejemplo, no se necesita configurar ningún host o ruta de acceso ya que todo el tráfico se dirigirá a la regla predeterminada. Por ello, puedes aceptar los valores predeterminados propagados previamente.

Configuración de frontend

  1. En el panel izquierdo de la página Nuevo balanceador de cargas HTTP(S), haz clic en Configuración de frontend.
  2. Establece el campo Nombre como fortressnet-http-rule.
  3. En Versión de la IP, selecciona IPv4.
  4. En Dirección IP, selecciona Crear dirección IP.
  5. En el cuadro de diálogo Reservar una nueva dirección IP estática, configura el campo Nombre como fortressnet-ip.
  6. Haz clic en Reservar y espera unos minutos.
  7. Haz clic en Listo en la parte inferior del cuadro de diálogo IP y puerto de frontend nuevos.
  8. Haz clic en Agregar IP y puerto de frontend.
  9. Establece el campo Nombre como fortressnet-http-ipv6-rule.
  10. En Versión de la IP, selecciona IPv6.
  11. En Dirección IP, selecciona Crear dirección IP.
  12. En el cuadro de diálogo, establece el Nombre en fortressnet-ipv6.
  13. Haz clic en Reservar y espera unos minutos.
  14. Haz clic en Listo en la parte inferior del cuadro de diálogo IP y puerto de frontend nuevos.

Revisa y finaliza

  1. En el panel izquierdo de la página Nuevo balanceador de cargas HTTP(S), haz clic en Revisar y finalizar.
  2. Compara tu configuración con lo que querías crear.
  3. Si la configuración es correcta, haz clic en Crear en la parte inferior del panel izquierdo. Volverás a la pantalla del balanceo de cargas. Después de crear el balanceador de cargas, verás a su lado una marca de verificación verde que indica que está en ejecución.

gcloud

Configuración de backend

  1. Crea una verificación de estado básica. Se verificará si un backend del balanceador de cargas responde a las solicitudes HTTP.

    gcloud compute health-checks create http http-basic-check
    

  2. Crea un servicio de backend global. Este servicio de backend recibirá tráfico HTTP desde el balanceador de cargas.

    gcloud compute backend-services create fortressnet-backend-service 
    --protocol HTTP
    --health-checks http-basic-check
    --global

  3. Agrega los grupos de instancias como backend regionales del servicio de backend. Esta configuración distribuirá el tráfico entre los backend según un número máximo de solicitudes por segundo (RPS) por instancia.

    gcloud compute backend-services add-backend fortressnet-backend-service 
    --balancing-mode RATE
    --max-rate-per-instance 100
    --instance-group us-central1-pool
    --instance-group-region us-central1
    --global gcloud compute backend-services add-backend fortressnet-backend-service
    --balancing-mode RATE
    --max-rate-per-instance 100
    --instance-group europe-west1-pool
    --instance-group-region europe-west1
    --global gcloud compute backend-services add-backend fortressnet-backend-service
    --balancing-mode RATE
    --max-rate-per-instance 100
    --instance-group asia-east1-pool
    --instance-group-region asia-east1
    --global

Reglas de host y ruta de acceso

  1. Define un mapa de URL. Los mapas de URL dirigen diferentes URL a distintos servicios de backend. Ya que solo tenemos un servicio de backend, simplemente configuraremos ese servicio de backend como el servicio predeterminado para todas las URL.

    gcloud compute url-maps create fortressnet-balancer 
    --default-service fortressnet-backend-service

  2. Crea una ruta de Proxy HTTP. Las rutas de Proxy HTTP aceptan solicitudes HTTP y las enrutan de acuerdo con el mapa de URL. En este caso, enviará todas las solicitudes al único servicio de backend.

    gcloud compute target-http-proxies create fortressnet-http-proxy 
    --url-map fortressnet-balancer

Configuración de frontend

  1. Crea dos direcciones IP externas estáticas globales: una para IPv4 y otra para IPv6. Estas serán las direcciones IP externas globales del balanceador de cargas.

    gcloud compute addresses create fortressnet-ip 
    --ip-version IPV4
    --global gcloud compute addresses create fortressnet-ipv6
    --ip-version IPV6
    --global

  2. Busca las direcciones IP externas del balanceador de cargas.

    gcloud compute addresses list
    

  3. Crea reglas de reenvío globales para las direcciones IP externas. Esto reenviará la solicitud HTTP IPv4 y la IPv6 al Proxy HTTP.

    gcloud compute forwarding-rules create fortressnet-http-rule 
    --global
    --target-http-proxy fortressnet-http-proxy
    --ports 80
    --address [LOAD_BALANCER_IP_ADDRESS]
    gcloud compute forwarding-rules create fortressnet-http-ipv6-rule 
    --global
    --target-http-proxy fortressnet-http-proxy
    --ports 80
    --address [LOAD_BALANCER_IPV6_ADDRESS]

Verifica que el balanceador de cargas funcione (opcional). Es posible que debas esperar entre uno y tres minutos.

Console

  1. En Cloud Console, ve a la página Balanceo de cargas.
    Ir a la página Balanceo de cargas
  2. Espera a que fortressnet-balancer tenga una marca de verificación verde debajo de la columna Backend.
  3. Haz clic en fortressnet-balancer:
  4. En Frontend, copia la dirección IPv4 en la columna IP:Puerto. (Las direcciones IPv4 tienen formato www.xxx.yyy.zzz. No necesitas el número de puerto final :nn). Si la sección Frontend no figura, espera unos minutos y, luego, vuelve a cargar la página web.
  5. Ingresa la dirección IP en un navegador web.

Deberías ver la página web “Apache2 Debian Default Page”.

Si aparece la página web “Error 404 (no encontrado)”, espera unos minutos más.

gcloud

  1. Busca las direcciones IP externas del balanceador de cargas.

    gcloud compute addresses list
    

  2. Consulta la dirección IPv4. (Las direcciones IPv4 tienen formato www.xxx.yyy.zzz).

    curl http://[LOAD_BALANCER_IP_ADDRESS] | head
    

Deberías ver texto HTML, incluida la línea <title>Apache2 Debian Default Page: It works</title>.

Si, en cambio, ves <title>Error 404 (Not Found)!!1</title>, espera unos minutos más.

Práctica recomendada: Crea un firewall seguro para permitir solo el tráfico interno del balanceador de cargas y de la verificación de estado. Luego, borra el firewall original que permitió todas las solicitudes HTTP. Esto evitará que clientes externos puedan acceder a las instancias individuales.

Console

  1. Crea un firewall nuevo que permita solo el tráfico del balanceador de cargas y de la verificación de estado.

    1. En Cloud Console, ve a la página Reglas de firewall.
      Ir a la página Reglas de firewall
    2. Haz clic en Crear regla de firewall.
    3. Configura el campo Nombre como fortressnet-allow-load-balancer.
    4. En Red, selecciona fortressnet.
    5. En Destinos, selecciona All instances in the network.
    6. En Rangos de IP de origen escribe 130.211.0.0/22 y presiona la tecla Intro; luego, escribe 35.191.0.0/16 y presiona Intro una vez más.
    7. En Protocolos y puertos, selecciona TCP y, luego, ingresa 80.
    8. Haz clic en Crear.
  2. Borra el firewall anterior que permitía todo el tráfico.

    1. Selecciona la marca de verificación junto a fortressnet-allow-http.
    2. Haz clic en Borrar en la parte superior de la página.
    3. En el cuadro de diálogo, haz clic en Borrar.

gcloud

  1. Crea un firewall nuevo que permita solo el tráfico del balanceador de cargas y de la verificación de estado.

    gcloud compute firewall-rules create fortressnet-allow-load-balancer 
    --network fortressnet
    --source-ranges 130.211.0.0/22,35.191.0.0/16
    --allow tcp:80

  2. Borra el firewall anterior que permitía todo el tráfico.

    gcloud compute firewall-rules delete fortressnet-allow-http -q
    

Verifica que el ajuste de escala automático y el balanceo de cargas funcionen (opcional)

Genera algo de tráfico de prueba

Supongamos que es de mañana en Europa y que tu servicio web de repente se vuelve viral en Internet. Genera una gran cantidad de solicitudes de clientes de Europa a la vez.

Console

  1. Crea una instancia que tenga instalada la herramienta de prueba de carga Siege.

    1. En Cloud Console, ve a la página Instancias de VM.
      Ir a la página Instancias de VM
    2. Haz clic en Crear instancia.
    3. Configura el campo Nombre como europe-loadtest.
    4. En Región, selecciona europe-west1.
    5. Haz clic en Administración, seguridad, discos, redes, instancia única para mostrar la configuración avanzada. Deberías ver varias pestañas.
    6. Haz clic en la pestaña Administración.
    7. En Automatización, ingresa la siguiente Secuencia de comandos de inicio.

      apt-get install -y siege
      

    8. Haz clic en Crear en la parte inferior de la página.

  2. Obtén la dirección IPv4 del balanceador de cargas.

    1. En Cloud Console, ve a la página Balanceo de cargas.
      Ir a la página Balanceo de cargas
    2. Haz clic en fortressnet-balancer:
    3. En Frontend, copia la dirección IPv4 en la columna IP:Puerto. (Las direcciones IPV4 tienen formato www.xxx.yyy.zzz).
  3. Conéctate a la instancia de prueba de carga mediante SSH.

    1. En Cloud Console, ve a la página Instancias de VM.
      Ir a la página Instancias de VM
    2. Espera a que la instancia europe-loadtest tenga una marca de verificación verde debajo de la columna Nombre.
    3. Haz clic en SSH en europe-loadtest, debajo de la columna Conectar.
  4. Inicia Siege. Apunta a la dirección IPv4 del balanceador de cargas.

    siege -c150 http://[LOAD_BALANCER_IP_ADDRESS]
    

gcloud

  1. Crea una instancia que tenga instalada la herramienta de prueba de carga Siege.

    gcloud compute instances create europe-loadtest \
        --network default \
        --zone europe-west1-c \
        --metadata startup-script='apt-get -y install siege'
    
  2. Obtén la dirección IPv4 del balanceador de cargas.

    gcloud compute addresses list
    
  3. Abre una sesión de Shell nueva en la que esté disponible el comando gcloud.

    1. En la sesión de Shell nueva, conéctate a la instancia de prueba de carga a través de SSH.

      gcloud compute ssh --zone europe-west1-c europe-loadtest
      
    2. Inicia Siege. Apunta a la dirección IPv4 del balanceador de cargas.

      siege -c150 http://[LOAD_BALANCER_IP_ADDRESS]
      

Después de ejecutar el comando siege, deberías ver un resultado que declare The server is now under siege...

[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.2
** Preparing 150 concurrent users for battle.
The server is now under siege...

Supervisa el balanceo de cargas y el ajuste de escala automático

  1. En Cloud Console, ve a la página Balanceo de cargas.
    Ir a la página Balanceo de cargas
  2. Haz clic en el balanceador de cargas llamado fortressnet-balancer.
  3. Haz clic en la pestaña Supervisión.
  4. En el menú desplegable Backend, selecciona fortressnet-backend-service.

Puede demorar hasta diez minutos en mostrar datos suficientes. Debería aparecer una pantalla similar a la siguiente:

Pantalla de supervisión de Cloud Console que muestra solicitudes de Europa distribuidas de forma equitativa entre los tres backends

¿Qué sucede aquí?

  1. La prueba de carga comienza a enviar una gran cantidad de tráfico a la vez. Al principio, el balanceador de cargas distribuye las solicitudes de manera equitativa entre los tres backend. El número de solicitudes excede rápidamente los límites del ajuste de escala automático, y puede ocasionar, incluso, que los servidores muestren Backend 5xx errors, que aparecerá en la pantalla de supervisión. El ajuste de escala automático comienza a activar instancias adicionales según sea necesario.

  2. El ajuste de escala automático alcanza la capacidad necesaria. Para minimizar la latencia de las solicitudes, los balanceadores de cargas de Compute Engine intentan enrutar las solicitudes al backend más cercano al cliente. En este caso, dado que el tráfico de prueba de carga se origina en Europa, el balanceador de cargas prefiere enrutar más solicitudes al backend de Europa. Como resultado, el ajuste de escala automático puede generar más instancias en el backend de Europa para manejar una fracción de solicitudes mayor.

Genera tráfico de prueba en otro lugar

Supongamos que tu servicio web también se pone de moda en Asia, entre los usuarios de Internet de la tarde. Genera una gran cantidad de solicitudes de Asia.

Console

  1. Crea otra instancia que tenga instalada la herramienta de prueba de cargas Siege.

    1. En Cloud Console, ve a la página Instancias de VM.
      Ir a la página Instancias de VM
    2. Haz clic en Crear instancia.
    3. Configura el campo Nombre como asia-loadtest.
    4. En Región, selecciona asia-east1.
    5. Haz clic en Administración, seguridad, discos, redes, instancia única para mostrar la configuración avanzada. Deberías ver varias pestañas.
    6. Haz clic en la pestaña Administración.
    7. En Automatización, ingresa la siguiente Secuencia de comandos de inicio.

      apt-get install -y siege
      

    8. Haz clic en Crear en la parte inferior de la página.

  2. Obtén la dirección IP del balanceador de cargas.

    1. En Cloud Console, ve a la página Balanceo de cargas.
      Ir a la página Balanceo de cargas
    2. Haz clic en fortressnet-balancer:
    3. En Frontend, copia la dirección IPv4 en la columna IP:Puerto. (Las direcciones IPV4 tienen formato www.xxx.yyy.zzz).
  3. Conéctate a la instancia de prueba de carga mediante SSH.

    1. Espera a que la instancia asia-loadtest tenga una marca de verificación verde debajo de la columna Nombre.
    2. Haz clic en SSH en asia-loadtest, debajo de la columna Conectar.
  4. Inicia Siege. Apunta a la dirección IPv4 del balanceador de cargas.

    siege -c150 http://[LOAD_BALANCER_IP_ADDRESS]
    

gcloud

  1. En la sesión de Shell original, crea otra instancia que tenga instalada la herramienta de prueba de carga Siege.

    gcloud compute instances create asia-loadtest \
        --network default \
        --zone asia-east1-c \
        --metadata startup-script='apt-get -y install siege'
    
  2. Obtén la dirección IPv4 del balanceador de cargas.

    gcloud compute addresses list
    
  3. Abre una sesión de Shell nueva en la que esté disponible el comando gcloud.

    1. En la sesión de Shell nueva, conéctate a la instancia de prueba de carga a través de SSH.

      gcloud compute ssh --zone asia-east1-c asia-loadtest
      
    2. Inicia Siege. Apunta a la dirección IPv4 del balanceador de cargas.

      siege -c150 http://[LOAD_BALANCER_IP_ADDRESS]
      

Una vez más, deberías ver un mensaje de salida que indica The server is now under siege...

[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.2
** Preparing 150 concurrent users for battle.
The server is now under siege...

Supervisa el balanceo de cargas y el ajuste de escala automático

Vuelve a la pantalla de supervisión del balanceo de cargas de la última vez. Puede tomar hasta diez minutos mostrar suficientes datos nuevos. Debería aparecer una pantalla similar a la siguiente:

Pantalla de supervisión de Cloud Console que muestra las solicitudes de Europa y Asia distribuidas entre los tres backends

¿Qué sucede aquí?

  1. Una vez más, la prueba de carga envía otra gran cantidad de solicitudes a la vez. Al principio, el balanceador de cargas distribuye las solicitudes de manera uniforme entre los tres backend existentes. A medida que el número de solicitudes excede los límites del ajuste de escala automático, este comienza a activar instancias adicionales según sea necesario.

  2. El ajuste de escala automático alcanza la nueva capacidad necesaria. El balanceador de cargas aún prefiere enrutar las solicitudes al backend más cercano posible. Como resultado, el backend de Asia recibirá solicitudes que provengan mayormente de Asia, el backend de Europa recibirá las solicitudes provenientes de Europa, y el backend de EE.UU. recibirá las que resten.

Limpieza

Una vez que hayas terminado el instructivo sobre el ajuste de escala automático, puedes limpiar los recursos que creaste en GCP para que no consuman tu cuota y no se te facture por ellos en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  1. En GCP Console, dirígete a la página Administrar recursos.

    Ir a la página Administración de recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra instancias

Para borrar una instancia de Compute Engine:

    Próximos pasos

    ¿Te ha resultado útil esta página? Enviar comentarios:

    Enviar comentarios sobre...

    Documentación de Compute Engine