Escalonamento automático global de um serviço da Web no Compute Engine


Este tutorial mostra como configurar um serviço da Web disponível globalmente com grupos regionais de instâncias gerenciadas do Compute Engine que são escalonados automaticamente para atender às necessidades de capacidade. Você pode usar as técnicas mostradas neste tutorial para implementar seu próprio projeto escalonável e distribuído globalmente no Compute Engine.

Objetivos

  • Implante vários grupos regionais de instâncias gerenciadas do Compute Engine com escalonamento automático ativado.
  • Crie um balanceador de carga entre regiões.
  • Gere tráfego de teste de diferentes regiões do mundo.
  • Use o console do Google Cloud para visualizar como o balanceador de carga roteia solicitações e como as instâncias agrupam o escalonamento automático para atender à demanda.

Custos

Este tutorial usa componentes faturáveis ​​de Google Cloud incluindo:

  • Mecanismo de computação

Antes de começar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

Arquitetura de aplicativo

O aplicativo inclui os seguintes componentes do Compute Engine:

  1. Modelo de instância : um modelo usado para criar cada instância nos grupos de instâncias.
  2. Grupos de instâncias : vários grupos de instâncias que são escalonados automaticamente com base no tráfego de entrada.
  3. Balanceador de carga : um balanceador de carga HTTP que distribui o tráfego entre os grupos de instâncias.
  4. Instâncias : múltiplas instâncias de teste para gerar tráfego de teste de diferentes partes do globo.

Diagrama da arquitetura do sistema mostrando um balanceador de carga com vários grupos de instâncias regionais

Configurar o serviço web

Crie os grupos de instâncias

Console

  1. Crie uma rede para os grupos de instâncias.

    1. No console do Google Cloud, acesse a página de redes VPC .

      Acesse redes VPC

    2. Clique em Criar rede VPC .

    3. Defina o nome como fortressnet .

    4. Defina o modo de criação de sub-rede como Automático .

    5. Clique em Criar na parte inferior da página.

  2. Crie uma regra de firewall para a rede. Esta regra permitirá todas as solicitações HTTP enviadas às suas instâncias.

    1. No console do Google Cloud, acesse a página Regras de firewall .

      Vá para as regras do Firewall

    2. Clique em Criar regra de firewall .

    3. Defina o Nome como fortressnet-allow-http .

    4. Para Rede selecione fortressnet .

    5. Para Destinos selecione All instances in the network .

    6. Defina os intervalos IPv4 de origem como 0.0.0.0/0 .

    7. Para Protocolos e portas , escolha Protocolos e portas especificados , marque a caixa de seleção tcp e insira 80 .

    8. Clique em Criar .

  3. Crie um modelo de instância. Inclua um script de inicialização que inicialize um servidor web Apache simples em cada instância.

    1. No console do Google Cloud, acesse a página Modelos de instância .

      Vá para modelos de instância

    2. Clique em Criar modelo de instância .

    3. Defina o nome como fort-template .

    4. Para Configuração da máquina , selecione e2-micro (2 vCPU, 1 GB de memória).

    5. Na seção Opções avançadas , expanda Rede e faça o seguinte:

      1. Na seção Interfaces de rede , expanda a interface de rede para editá-la.
      2. Para Rede , selecione fortressnet .
    6. Na seção Gerenciamento , para Automação , insira o seguinte script de inicialização :

      apt update && apt -y install apache2
      

    7. Clique em Criar .

  4. Crie vários grupos de instâncias gerenciadas regionais usando o modelo de instância. Configure o escalonamento automático para cada grupo de instâncias.

    1. No console do Google Cloud, acesse a página Grupos de instâncias .

      Vá para grupos de instâncias

    2. Clique em Criar grupo de instâncias para criar um novo grupo de instâncias gerenciadas.

    3. Selecione Novo grupo gerenciado de instâncias (sem estado) .

    4. Defina o Nome como us-central1-pool .

    5. Para modelo de instância , selecione fort-template .

    6. Para Localização , selecione Zonas múltiplas .

    7. Para Região , selecione us-central1 . Para Zonas , deixe os valores predefinidos selecionados.

    8. Para o modo de escalonamento automático , selecione Ativado: adicionar e remover instâncias do grupo .

    9. Defina o número mínimo de instâncias como 1 .

    10. Defina o número máximo de instâncias como 5 .

    11. Para sinais de escalonamento automático , edite a seleção padrão (utilização de CPU) e defina o tipo de sinal como utilização de balanceamento de carga HTTP .

    12. Defina a utilização do balanceamento de carga HTTP de destino como 80 .

    13. Clique em Concluído .

    14. Clique em Criar . Uma caixa de diálogo exibe a mensagem informando que você também deve atribuir o grupo de instâncias a um serviço de back-end de um balanceador de carga HTTP.

    15. Na caixa de diálogo de confirmação, clique em Confirmar . Você pode configurar o balanceador de carga depois de criar todos os grupos de instâncias.

    16. Repita essas etapas para criar mais dois grupos de instâncias com as seguintes alterações:

      • Crie um grupo com Nome como europe-west1-pool e Região como europe-west1 .
      • Crie um grupo com Nome como asia-east1-pool e Região como asia-east1 .
  5. (Opcional) Verifique se as instâncias estão íntegras e atendendo ao tráfego HTTP. Teste o endereço IP externo de uma ou mais instâncias. Talvez seja necessário aguardar um minuto para que as instâncias concluam o processo de inicialização.

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Verifique se cada instância em execução tem uma marca de seleção verde na coluna Status ao lado do nome do seu grupo de instâncias.

    3. Copie o IP externo de uma instância e cole-o em um navegador da web.

    Você deverá ver a página da web 'Página padrão do Apache2 Debian'.

    Se não funcionar, tente esperar alguns instantes.

gcloud

  1. Crie uma rede para os grupos de instâncias.

    gcloud compute networks create fortressnet --subnet-mode auto
    
  2. Crie uma regra de firewall para a rede. Esta regra permitirá todas as solicitações HTTP enviadas às suas instâncias.

    gcloud compute firewall-rules create fortressnet-allow-http \
        --network fortressnet \
        --allow tcp:80
    
  3. Crie um modelo de instância. Inclua um script de inicialização que inicialize um servidor web Apache simples em cada instância.

    gcloud compute instance-templates create fort-template \
        --machine-type e2-micro \
        --network fortressnet \
        --metadata startup-script='apt update && apt -y install apache2'
    
  4. Crie vários grupos de instâncias gerenciadas regionais usando o modelo de instância. Configure o escalonamento automático para cada grupo de instâncias.

    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. (Opcional) Verifique se as instâncias estão íntegras e atendendo ao tráfego HTTP. Teste o endereço IP externo de uma ou mais instâncias. Talvez seja necessário aguardar um minuto para que as instâncias concluam o processo de inicialização.

    1. Liste suas instâncias.

      gcloud compute instances list
      

    2. Verifique na coluna STATUS se as instâncias estão RUNNING .

    3. Verifique uma instância consultando seu endereço IP na coluna EXTERNAL_IP .

      curl http://EXTERNAL_IP | head
      

    Você deverá ver algum texto HTML, incluindo a linha <title>Apache2 Debian Default Page: It works</title> .

    Se não funcionar, tente esperar alguns instantes.

Configurar o balanceador de carga

O balanceador de carga distribuirá as solicitações do cliente entre seus vários back-ends.

Console

Inicie sua configuração

  1. No console do Google Cloud, acesse a página Balanceamento de carga .

    Vá para Balanceamento de carga

  2. Clique em Criar balanceador de carga .
  3. Para Tipo de balanceador de carga , selecione Application Load Balancer (HTTP/HTTPS) e clique em Avançar .
  4. Para Face pública ou interna , selecione Face pública (externa) e clique em Avançar .
  5. Para implantação global ou de região única , selecione Melhor para cargas de trabalho globais e clique em Avançar .
  6. Para geração do balanceador de carga , selecione Balanceador de carga de aplicativo externo global e clique em Avançar .
  7. Clique em Configurar .

Configuração básica

  1. Defina o nome do balanceador de carga como fortressnet-balancer .

Configuração de back-end

  1. Na página Criar balanceador de carga de aplicativo externo global , clique em Configuração de back-end .
  2. No menu suspenso Criar ou selecionar serviços de back-end e buckets de back-end , selecione Serviços de back-end e, em seguida, Criar um serviço de back-end . Você deverá ver a caixa de diálogo Criar serviço de back-end .
  3. Defina o Nome do serviço de backend como fortressnet-backend-service .
  4. Na caixa de diálogo Novo back-end , defina Grupo de instâncias como asia-east1-pool .
  5. Para o modo Balanceamento, selecione Taxa .
  6. Defina o RPS máximo como 100 RPS por instância.
  7. Clique em Concluído .
  8. Clique em Adicionar back-end .
  9. Na caixa de diálogo Novo back-end , defina Grupo de instâncias como europe-west1-pool .
  10. Para o modo Balanceamento, selecione Taxa .
  11. Defina o RPS máximo como 100 RPS por instância.
  12. Clique em Concluído .
  13. Clique em Adicionar back-end .
  14. Na caixa de diálogo Novo back-end , defina Grupo de instâncias como us-central1-pool .
  15. Para o modo Balanceamento, selecione Taxa .
  16. Defina o RPS máximo como 100 RPS por instância.
  17. Clique em Concluído .
  18. Em Verificação de integridade , selecione Criar uma verificação de integridade .
  19. Defina o Nome como http-basic-check .
  20. Para Protocolo selecione HTTP .
  21. Defina Porta como 80 .
  22. Clique em Salvar e continuar .
  23. Clique em Criar .

Regras de host e caminho

  1. No painel esquerdo da página Criar balanceador de carga de aplicativo externo global , clique em Regras de host e caminho .
    Neste exemplo, não precisamos configurar nenhuma regra de host ou caminho, pois todo o tráfego irá para a regra padrão. Portanto, podemos aceitar os valores padrão pré-preenchidos .

Configuração de front-end

  1. No painel esquerdo da página Criar balanceador de carga de aplicativo externo global , clique em Configuração de front-end .
  2. Defina Nome como fortressnet-http-rule .
  3. Para versão IP selecione IPv4 .
  4. Para endereço IP, selecione Criar endereço IP .
  5. Na caixa de diálogo Reservar um novo IP estático , defina Nome como fortressnet-ip .
  6. Clique em Reservar e aguarde alguns instantes.
  7. Clique em Concluído na parte inferior da caixa de diálogo Novo IP e porta de front-end .
  8. Clique em Adicionar IP e porta de front-end .
  9. Defina Nome como fortressnet-http-ipv6-rule .
  10. Para versão IP selecione IPv6 .
  11. Para endereço IP, selecione Criar endereço IP .
  12. Na caixa de diálogo, defina Nome como fortressnet-ipv6 .
  13. Clique em Reservar e aguarde alguns instantes.
  14. Clique em Concluído na parte inferior da caixa de diálogo Novo IP e porta de front-end .

Revise e finalize

  1. No painel esquerdo da página Criar balanceador de carga de aplicativo externo global , clique em Revisar e finalizar .
  2. Compare suas configurações com o que você pretendia criar.
  3. Se as configurações estiverem corretas, clique em Criar na parte inferior do painel esquerdo. Você retornará à tela Balanceamento de carga. Após a criação do balanceador de carga, uma marca de seleção verde próxima a ele indica que ele está em execução.

gcloud

Configuração de back-end

  1. Crie uma verificação de saúde básica. Isso verificará se um back-end do balanceador de carga está respondendo a solicitações HTTP.

    gcloud compute health-checks create http http-basic-check
    
  2. Crie um serviço de back-end global. Este serviço de back-end receberá tráfego HTTP do balanceador de carga.

    gcloud compute backend-services create fortressnet-backend-service \
        --protocol HTTP \
        --health-checks http-basic-check \
        --global
    
  3. Adicione os grupos de instâncias como back-ends regionais do serviço de back-end. Esta configuração distribuirá o tráfego entre os back-ends com base em um número máximo de solicitações por segundo (RPS) por instância.

    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
    

Regras de host e caminho

  1. Defina um mapa de URL. Os mapas de URL roteiam URLs diferentes para serviços de back-end diferentes. Como temos apenas um serviço de back-end, simplesmente definiremos esse serviço de back-end como o serviço padrão para todos os URLs.

    gcloud compute url-maps create fortressnet-balancer \
        --default-service fortressnet-backend-service
    
  2. Crie uma rota de proxy HTTP. As rotas de proxy HTTP aceitam solicitações HTTP e as roteiam de acordo com seu mapa de URL. Nesse caso, ele enviará todas as solicitações para o seu único serviço de back-end.

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

Configuração de front-end

  1. Crie dois endereços IP externos estáticos globais: um para IPv4 e outro para IPv6. Estes serão os endereços IP externos globais do balanceador de carga.

    gcloud compute addresses create fortressnet-ip \
        --ip-version IPV4 \
        --network-tier=PREMIUM \
        --global
    gcloud compute addresses create fortressnet-ipv6 \
        --ip-version IPV6 \
        --network-tier=PREMIUM \
        --global
    
  2. Pesquise os endereços IP externos do balanceador de carga.

    gcloud compute addresses list
    
  3. Crie regras de encaminhamento globais para endereços IP externos. Isso encaminhará solicitações HTTP IPv4 e IPv6 para seu proxy HTTP.

    gcloud compute forwarding-rules create fortressnet-http-rule \
        --load-balancing-scheme=EXTERNAL \
        --network-tier=PREMIUM \
        --global \
        --target-http-proxy fortressnet-http-proxy \
        --ports 80 \
        --address LOAD_BALANCER_IP_ADDRESS
    
    gcloud compute forwarding-rules create fortressnet-http-ipv6-rule \
        --load-balancing-scheme=EXTERNAL \
        --network-tier=PREMIUM \
        --global \
        --target-http-proxy fortressnet-http-proxy \
        --ports 80 \
        --address LOAD_BALANCER_IPV6_ADDRESS
    

(Opcional) Verifique se o balanceador de carga está funcionando. Pode ser necessário esperar um ou três minutos.

Console

  1. No console do Google Cloud, acesse a página Balanceamento de carga .

    Vá para Balanceamento de carga

  2. Aguarde até que fortressnet-balancer tenha uma marca de seleção verde na coluna Backends .

  3. Clique em fortressnet-balancer .

  4. Em Frontend, copie o endereço IPv4 na coluna IP:Port . (Os endereços IPv4 têm o formato www.xxx.yyy.zzz . Você não precisa do número da porta final :nn .) Se a seção Frontend estiver faltando, tente aguardar alguns instantes e recarregar a página da web.

  5. Digite o endereço IP em um navegador da web.

Você deverá ver a página da web 'Página padrão do Apache2 Debian'.

Se você receber uma página da web 'Erro 404 (não encontrado)', tente aguardar mais alguns minutos.

gcloud

  1. Pesquise os endereços IP externos do balanceador de carga.

    gcloud compute addresses list
    
  2. Consulte o endereço IPv4. (Os endereços IPv4 têm o formato www.xxx.yyy.zzz .)

    curl http://LOAD_BALANCER_IP_ADDRESS | head
    

Você deverá ver algum texto HTML, incluindo a linha <title>Apache2 Debian Default Page: It works</title> .

Se você vir <title>Error 404 (Not Found)!!1</title> , tente esperar mais alguns minutos.

Prática recomendada: crie um firewall seguro para permitir apenas o tráfego interno do balanceador de carga e da verificação de integridade. Em seguida, exclua o firewall original que permitiu qualquer solicitação HTTP. Isso evita que instâncias individuais sejam acessíveis por clientes externos.

Console

  1. Crie um novo firewall permitindo apenas o tráfego do balanceador de carga e da verificação de integridade.

    1. No console do Google Cloud, acesse a página Regras de firewall .

      Vá para as regras do Firewall

    2. Clique em Criar regra de firewall .

    3. Defina o Nome como fortressnet-allow-load-balancer .

    4. Para Rede selecione fortressnet .

    5. Para Destinos selecione All instances in the network .

    6. Para intervalos de IP de origem, digite 130.211.0.0/22 ​​e pressione a tecla Enter , digite 35.191.0.0/16 e pressione Enter novamente.

    7. Em Protocolos e portas selecione tcp e digite 80 .

    8. Clique em Criar .

  2. Exclua o antigo firewall que permite tudo.

    1. Selecione a marca de seleção ao lado de fortressnet-allow-http .
    2. Clique em Excluir na parte superior da página.
    3. Na caixa de diálogo, clique em Excluir .

gcloud

  1. Crie um novo firewall permitindo apenas o tráfego do balanceador de carga e da verificação de integridade.

    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. Exclua o antigo firewall que permite tudo.

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

(Opcional) Verifique se o escalonamento automático e o balanceamento de carga funcionam

Gere algum tráfego de teste

Suponha que seja de manhã na Europa e o seu serviço web de repente se torne viral na internet. Gere um grande número de solicitações de clientes da Europa de uma só vez.

Console

  1. Crie uma instância instalada com a ferramenta de teste de carga Siege.

    1. No console do Google Cloud, acesse a página Criar uma instância .

      Vá para Criar uma instância

    2. Defina o nome como europe-loadtest .

    3. Para Região selecione europe-west1 .

    4. Para configurações avançadas, expanda a seção Opções avançadas e faça o seguinte:

      1. Expanda a seção Gerenciamento .
      2. No campo Automação , insira o seguinte script de inicialização:
        apt -y install siege
        
    5. Para criar a VM, clique em Criar .

  2. Obtenha o endereço IPv4 do balanceador de carga.

    1. No console do Google Cloud, acesse a página Balanceamento de carga .

      Vá para Balanceamento de carga

    2. Clique em fortressnet-balancer .

    3. Em Frontend, copie o endereço IPv4 na coluna IP:Port . (Os endereços IPv4 têm o formato www.xxx.yyy.zzz .)

  3. SSH na instância de teste de carga.

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Aguarde até que a instância europe-loadtest tenha uma marca de seleção verde na coluna Nome .

    3. Clique em SSH em europe-loadtest na coluna Connect .

  4. Comece o cerco. Direcione o endereço IPv4 do balanceador de carga.

    siege -c150 http://LOAD_BALANCER_IP_ADDRESS
    

gcloud

  1. Crie uma instância instalada com a ferramenta de teste de carga Siege.

    gcloud compute instances create europe-loadtest \
        --network default \
        --zone europe-west1-c \
        --metadata startup-script='apt -y install siege'
    
  2. Obtenha o endereço IPv4 do balanceador de carga.

    gcloud compute addresses list
    
  3. Abra uma nova sessão de shell onde o comando gcloud esteja disponível.

    1. Em sua nova sessão de shell, faça SSH na instância de teste de carga.

      gcloud compute ssh --zone europe-west1-c europe-loadtest
      
    2. Comece o cerco. Direcione o endereço IPv4 do balanceador de carga.

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Depois de executar o comando siege , você deverá ver a saída declarando 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...

Monitore o balanceamento de carga e o escalonamento automático

  1. No console do Google Cloud, acesse a página Balanceamento de carga .

    Vá para Balanceamento de carga

  2. Clique no balanceador de carga denominado fortressnet-balancer .

  3. Clique na guia Monitoramento .

  4. No menu suspenso Backend , selecione fortressnet-backend-service .

Pode levar até dez minutos para exibir dados suficientes. Em breve você deverá ver uma tela semelhante a esta:

Tela de monitoramento do console do Google Cloud mostrando solicitações da Europa distribuídas igualmente entre os três back-ends.

O que está acontecendo aqui:

  1. O teste de carga começa a enviar uma grande quantidade de tráfego de uma só vez. A princípio, o balanceador de carga distribui as solicitações igualmente entre os três back-ends. O número de solicitações excede rapidamente os limites de escalonamento automático e pode até fazer com que seus servidores retornem Backend 5xx errors que aparecerão na tela de monitoramento. O escalonador automático começa a gerar instâncias adicionais conforme necessário.

  2. O escalonamento automático acompanha as necessidades de capacidade. Para minimizar a latência da solicitação, os balanceadores de carga do Compute Engine tentam rotear as solicitações para o back-end mais próximo do cliente. Neste caso, uma vez que o tráfego de teste de carga tem origem na Europa, o equilibrador de carga prefere encaminhar mais pedidos para o backend da Europa. Como resultado, o escalonamento automático poderá gerar mais instâncias no back-end da Europa para lidar com uma fração maior de solicitações.

Gere tráfego de teste em outro lugar

Suponha que seu serviço da web também faça sucesso na Ásia com o público da Internet à tarde. Gere um grande número de solicitações da Ásia.

Console

  1. Para criar outra instância instalada com a ferramenta de teste de carga Siege, faça o seguinte:

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Clique em Criar instância .

    3. Defina o nome como asia-loadtest .

    4. Para Região selecione asia-east1 .

    5. Expanda a seção Opções avançadas .

    6. Expanda a seção Gerenciamento .

    7. Na seção Automação , insira o seguinte script de inicialização:

      apt -y install siege
      

    8. Clique em Criar .

  2. Para obter o endereço IP do balanceador de carga, faça o seguinte:

    1. No console do Google Cloud, acesse a página Balanceamento de carga .

      Vá para Balanceamento de carga

    2. Clique em fortressnet-balancer .

    3. Em Frontend, copie o endereço IPv4 na coluna IP:Port . (Os endereços IPv4 têm o formato www.xxx.yyy.zzz .)

  3. SSH na instância de teste de carga.

    1. Aguarde até que a instância asia-loadtest tenha uma marca de seleção verde na coluna Nome .
    2. Clique em SSH em asia-loadtest na coluna Conectar .
  4. Comece o cerco. Direcione o endereço IPv4 do balanceador de carga.

    siege -c150 http://LOAD_BALANCER_IP_ADDRESS
    

gcloud

  1. Na sua sessão de shell original, crie outra instância instalada com a ferramenta de teste de carga Siege.

    gcloud compute instances create asia-loadtest \
        --network default \
        --zone asia-east1-c \
        --metadata startup-script='apt -y install siege'
    
  2. Obtenha o endereço IPv4 do balanceador de carga.

    gcloud compute addresses list
    
  3. Abra uma nova sessão de shell onde o comando gcloud esteja disponível.

    1. Em sua nova sessão de shell, faça SSH na instância de teste de carga.

      gcloud compute ssh --zone asia-east1-c asia-loadtest
      
    2. Comece o cerco. Direcione o endereço IPv4 do balanceador de carga.

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Novamente, você deverá ver a saída declarando 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...

Monitore o balanceamento de carga e o escalonamento automático

Volte para a tela de monitoramento de balanceamento de carga da última vez. Pode levar até dez minutos para exibir novos dados suficientes. Em breve você deverá ver uma tela semelhante a esta:

Tela de monitoramento do console do Google Cloud mostrando solicitações da Europa e da Ásia distribuídas entre os três back-ends

O que está acontecendo aqui:

  1. Novamente, o teste de carga envia outro grande número de solicitações de uma só vez. Inicialmente, o balanceador de carga distribui as solicitações igualmente entre os três back-ends existentes. À medida que o número de solicitações excede os limites de escalonamento automático, o escalonador automático começa a gerar instâncias adicionais conforme necessário.

  2. O escalonamento automático acompanha as novas necessidades de capacidade. O balanceador de carga ainda prefere rotear solicitações para os back-ends disponíveis mais próximos. Como resultado, eventualmente o backend da Ásia recebe solicitações principalmente da Ásia, o backend da Europa recebe solicitações principalmente da Europa e o backend dos EUA recebe todo o resto.

Limpar

Depois de concluir o tutorial, você poderá limpar os recursos criados para que eles parem de usar a cota e de incorrer em cobranças. As seções a seguir descrevem como excluir ou desativar esses recursos.

Excluindo o projeto

A maneira mais fácil de eliminar o faturamento é excluir o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Excluindo instâncias

Para excluir uma instância do Compute Engine:

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

O que vem a seguir