Criar uma escala automática global de um serviço Web no Compute Engine

Este tutorial mostra como configurar um serviço Web disponível globalmente com grupos de instâncias geridos do Compute Engine que são dimensionados automaticamente para satisfazer as necessidades de capacidade. Pode usar as técnicas apresentadas neste tutorial para implementar o seu próprio projeto distribuído globalmente e escalável no Compute Engine.

Objetivos

  • Implemente vários grupos de instâncias geridas regionais do Compute Engine com o escalamento automático ativado.
  • Crie um balanceador de carga entre regiões.
  • Gere tráfego de teste de diferentes regiões em todo o mundo.
  • Use a Trusted Cloud consola para visualizar como o balanceador de carga encaminha os pedidos e como os grupos de instâncias são dimensionados automaticamente para satisfazer a procura.

Custos

Este tutorial usa componentes faturáveis do Trusted Cloud by S3NS , incluindo:

  • Compute Engine

Antes de começar

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Arquitetura de aplicações

A aplicação 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 dimensionados automaticamente com base no tráfego recebido.
  3. Balanceador de carga: Um balanceador de carga HTTP que distribui o tráfego entre os grupos de instâncias.
  4. Instâncias: Várias instâncias de testes para gerar tráfego de teste a partir de diferentes partes do mundo.

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

Configure o serviço Web

Crie os grupos de instâncias

Consola

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

    1. Na Trusted Cloud consola, aceda à página Redes VPC.

      Aceda a redes de VPC

    2. Clique em Criar rede de VPC.

    3. Defina o Nome como fortressnet.

    4. Defina o Modo de criação de sub-redes como Automático.

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

  2. Crie uma regra de firewall para a rede. Esta regra permite todos os pedidos HTTP enviados para as suas instâncias.

    1. Na Trusted Cloud consola, aceda à página Regras de firewall.

      Aceda às regras de firewall

    2. Clique em Criar regra de firewall.

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

    4. Para Rede, selecione fortressnet.

    5. Para Segmentações, selecione All instances in the network.

    6. Defina Intervalos de IPv4 de origem como 0.0.0.0/0.

    7. Para Protocolos e portas, escolha Protocolos e portas especificados e, em seguida, selecione a caixa de verificação tcp e introduza 80.

    8. Clique em Criar.

  3. Crie um modelo de instância. Inclua um script de arranque que inicie um servidor Web Apache simples em cada instância.

    1. Na Trusted Cloud consola, aceda à página Modelos de instâncias.

      Aceda a Modelos de instâncias

    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 secção Opções avançadas, expanda Rede e, em seguida, faça o seguinte:

      1. Na secção Interfaces de rede, expanda a interface de rede para a editar.
      2. Para Rede, selecione fortressnet.
    6. Na secção Gestão, para Automatização, introduza o seguinte Script de arranque:

      apt update && apt -y install apache2
      

    7. Clique em Criar.

  4. Crie vários grupos de instâncias geridos regionais com o modelo de instância. Configure o escalamento automático para cada grupo de instâncias.

    1. Na Trusted Cloud consola, aceda à página Grupos de instâncias.

      Aceda a Grupos de instâncias

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

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

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

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

    6. Em Localização, selecione Várias zonas.

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

    8. Para o Modo de dimensionamento 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 escalamento automático, edite a seleção predefinida (utilização da CPU) e defina o Tipo de sinal como Utilização do balanceamento de carga HTTP.

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

    13. Clique em Concluído.

    14. Clique em Criar. É apresentada uma caixa de diálogo com a mensagem de que também tem de 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. Pode configurar o balanceador de carga depois de criar todos os grupos de instâncias.

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

      • Crie um grupo com Name como europe-west1-pool e Region como europe-west1.
      • Crie um grupo com Name como asia-east1-pool e Region como asia-east1.
  5. (Opcional) Verifique se as instâncias estão em bom estado e a publicar tráfego HTTP. Teste o endereço IP externo de uma ou mais instâncias. Pode ter de aguardar um minuto para que as instâncias concluam o processo de arranque.

    1. Na Trusted Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Verifique se cada instância em execução tem uma marca de verificação verde na coluna Estado junto ao nome do grupo de instâncias.

    3. Copie o IP externo de uma instância e cole-o num navegador de Internet.

    Deve ver a página Web "Apache2 Debian Default Page".

    Se não parecer funcionar, experimente aguardar alguns momentos.

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 permite todos os pedidos HTTP enviados para as 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 arranque que inicie 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 geridos regionais com o modelo de instância. Configure o escalamento 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 em bom estado e a publicar tráfego HTTP. Teste o endereço IP externo de uma ou mais instâncias. Pode ter de aguardar um minuto para que as instâncias concluam o processo de arranque.

    1. Liste as 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 o respetivo endereço IP na coluna EXTERNAL_IP.

      curl http://EXTERNAL_IP | head
      

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

    Se não parecer funcionar, experimente aguardar alguns momentos.

Configure o balanceador de carga

O equilibrador de carga distribui os pedidos dos clientes pelos vários backends.

Consola

Selecione o tipo de balanceador de carga

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique em Criar equilibrador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de aplicações (HTTP/HTTPS) e clique em Seguinte.
  4. Para Público ou interno, selecione Público (externo) e clique em Seguinte.
  5. Para a Implementação global ou de região única, selecione Melhor para cargas de trabalho globais e clique em Seguinte.
  6. Para Geração do balanceador de carga, selecione Balanceador de carga de aplicações externo global e clique em Seguinte.
  7. Clique em Configurar.

Configuração básica

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

Configuração do back-end

  1. Na página Criar balanceador de carga de aplicações externo global, clique em Configuração do back-end.
  2. No menu pendente Criar ou selecionar serviços de back-end e contentores de back-end, selecione Serviços de back-end e, de seguida, Criar um serviço de back-end. Deve ver a caixa de diálogo Criar serviço de back-end.
  3. Defina o Nome do serviço de back-end 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 de equilíbrio, selecione Taxa.
  6. Defina o máximo de RPS para 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 de equilíbrio, selecione Taxa.
  11. Defina o máximo de RPS para 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 de equilíbrio, selecione Taxa.
  16. Defina o máximo de RPS para 100 RPS por instância.
  17. Clique em Concluído.
  18. Em Verificação de funcionamento, selecione Criar uma verificação de funcionamento.
  19. Defina o Nome como http-basic-check.
  20. Para Protocolo, selecione HTTP.
  21. Defina Porta como 80.
  22. Clique em Guardar e continuar.
  23. Clique em Criar.

Regras de anfitriões e caminhos

  1. No painel esquerdo da página Criar Application Load Balancer externo global, clique em Regras de anfitriões e caminhos.
    Para este exemplo, não precisamos de configurar regras de anfitrião nem de caminho, uma vez que todo o tráfego vai para a regra predefinida. Assim, podemos aceitar os valores predefinidos pré-preenchidos.

Configuração da interface

  1. No painel esquerdo da página Criar Application Load Balancer externo global, clique em Configuração do 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 Reserve um novo IP estático, defina Nome como fortressnet-ip.
  6. Clique em Reservar e aguarde alguns momentos.
  7. Clique em Concluído na parte inferior da caixa de diálogo Novo endereço IP e porta do front-end.
  8. Clique em Adicionar IP e porta do front-end.
  9. Defina Nome como fortressnet-http-ipv6-rule.
  10. Para a versão do 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 momentos.
  14. Clique em Concluído na parte inferior da caixa de diálogo Novo endereço IP e porta do front-end.

Reveja e finalize

  1. No painel esquerdo da página Criar Application Load Balancer externo global, clique em Rever e finalizar.
  2. Compare as suas definições com o que pretendia criar.
  3. Se as definições estiverem corretas, clique em Criar na parte inferior do painel do lado esquerdo. Regressa ao ecrã de balanceamento de carga. Depois de criar o equilibrador de carga, é apresentada uma marca de verificação verde junto ao mesmo, o que indica que está em execução.

gcloud

Configuração do back-end

  1. Crie uma verificação de funcionamento básica. Esta ação verifica se um back-end do balanceador de carga está a responder a pedidos 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 vai 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 distribui o tráfego entre os back-ends com base num número máximo de pedidos 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 anfitriões e caminhos

  1. Defina um mapa de URLs. Os mapas de URLs encaminham diferentes URLs para diferentes serviços de back-end. Uma vez que só temos um serviço de back-end, vamos definir esse serviço de back-end como o serviço predefinido 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 pedidos HTTP e encaminham-nos de acordo com o seu mapa de URLs. Neste caso, envia todos os pedidos para o seu serviço de back-end único.

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

Configuração da interface

  1. Crie dois endereços IP externos estáticos globais: um para IPv4 e outro para IPv6. Estes sã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. Procure os endereços IP externos do balanceador de carga.

    gcloud compute addresses list
    
  3. Crie regras de encaminhamento globais para os endereços IP externos. Isto encaminha pedidos HTTP IPv4 e IPv6 para o 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 equilibrador de carga está a funcionar. Pode ter de aguardar um minuto ou três.

Consola

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Aguarde até que fortressnet-balancer tenha uma marca de verificação verde na coluna Back-ends.

  3. Clique em fortressnet-balancer.

  4. Em Front-end, copie o endereço IPv4 na coluna IP:Porta. (Os endereços IPv4 têm o formato www.xxx.yyy.zzz. Não precisa do número de porta final :nn.) Se a secção Frontend estiver em falta, experimente aguardar alguns momentos e, em seguida, atualizar a página Web.

  5. Introduza o endereço IP num navegador de Internet.

Deve ver a página Web "Apache2 Debian Default Page".

Se, em vez disso, receber uma página Web "Erro 404 (Não encontrado)", experimente aguardar mais alguns minutos.

gcloud

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

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

    curl http://LOAD_BALANCER_IP_ADDRESS | head
    

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

Se vir <title>Error 404 (Not Found)!!1</title>, experimente aguardar mais alguns minutos.

Prática recomendada: crie uma firewall segura para permitir apenas tráfego interno do balanceador de carga e da verificação de funcionamento. Em seguida, elimine a firewall original que permitia qualquer pedido HTTP. Isto impede que as instâncias individuais sejam acessíveis por clientes externos.

Consola

  1. Crie uma nova firewall que permita apenas o tráfego do balanceador de carga e a verificação de funcionamento.

    1. Na Trusted Cloud consola, aceda à página Regras de firewall.

      Aceda às regras de firewall

    2. Clique em Criar regra de firewall.

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

    4. Para Rede, selecione fortressnet.

    5. Para Segmentações, selecione All instances in the network.

    6. Para Intervalos de IPs de origem, escreva 130.211.0.0/22 e prima a tecla Enter. Em seguida, escreva 35.191.0.0/16 e prima Enter novamente.

    7. Em Protocolos e portas, selecione tcp e introduza 80.

    8. Clique em Criar.

  2. Elimine a firewall antiga que permite tudo.

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

gcloud

  1. Crie uma nova firewall que permita apenas o tráfego do balanceador de carga e a verificação de funcionamento.

    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. Elimine a firewall antiga que permite tudo.

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

(Opcional) Verifique se o dimensionamento automático e o equilíbrio de carga funcionam

Gere algum tráfego de teste

Suponhamos que é de manhã na Europa e o seu serviço Web torna-se subitamente viral na Internet. Gerar um número elevado de pedidos de clientes de uma só vez a partir da Europa.

Consola

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

    1. Na Trusted Cloud consola, aceda à página Criar uma instância.

      Aceda a Criar uma instância

    2. Defina o Nome como europe-loadtest.

    3. Para Região, selecione europe-west1.

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

      1. Expanda a secção Gestão.
      2. No campo Automatização, introduza o seguinte script de início:
        apt -y install siege
        
    5. Para criar a VM, clique em Criar.

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

    1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

      Aceda a Balanceamento de carga

    2. Clique em fortressnet-balancer.

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

  3. SSH para a instância de teste de carga.

    1. Na Trusted Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

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

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

  4. Iniciar cerco. Segmentar 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 do 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 equilibrador de carga.

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

    1. Na nova sessão de shell, faça SSH para a instância de teste de carga.

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

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Depois de executar o comando siege, deve ver um resultado a declarar 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...

Monitorize o balanceamento de carga e o dimensionamento automático

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no balanceador de carga com o nome fortressnet-balancer.

  3. Clique no separador Monitorização.

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

A apresentação de dados suficientes pode demorar até dez minutos. Em breve, deve ver uma apresentação semelhante à seguinte:

Trusted Cloud console monitoring display showing requests from Europe distributed equally among all three backends.

O que está a acontecer aqui:

  1. O teste de carga começa a enviar uma grande quantidade de tráfego de uma só vez. Inicialmente, o balanceador de carga distribui os pedidos igualmente entre os três back-ends. O número de pedidos excede rapidamente os limites da escala automática e pode até fazer com que os seus servidores devolvam Backend 5xx errors, que é apresentado no ecrã de monitorização. O escalador automático começa a ativar instâncias adicionais conforme necessário.

  2. A escalabilidade automática acompanha as necessidades de capacidade. Para minimizar a latência dos pedidos, os balanceadores de carga do Compute Engine tentam encaminhar os pedidos para o back-end mais próximo do cliente. Neste caso, uma vez que o tráfego do teste de carga tem origem na Europa, o balanceador de carga prefere encaminhar mais pedidos para o back-end da Europa. Como resultado, o dimensionamento automático pode iniciar mais instâncias no back-end da Europa para processar uma fração mais elevada de pedidos.

Gere tráfego de teste noutro local

Suponha que o seu serviço Web também faz sucesso na Ásia com o público da Internet da tarde. Gerar um número elevado de pedidos a partir da Ásia.

Consola

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

    1. Na Trusted Cloud consola, aceda à página Instâncias de VM.

      Aceder às 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 secção Opções avançadas.

    6. Expanda a secção Gestão.

    7. Na secção Automatização, introduza o seguinte script de arranque:

      apt -y install siege
      

    8. Clique em Criar.

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

    1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

      Aceda a 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 para a instância de teste de carga.

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

    siege -c150 http://LOAD_BALANCER_IP_ADDRESS
    

gcloud

  1. Na sessão de shell original, crie outra instância instalada com a ferramenta de teste de carga do 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 equilibrador de carga.

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

    1. Na nova sessão de shell, faça SSH para a instância de teste de carga.

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

      siege -c150 http://LOAD_BALANCER_IP_ADDRESS
      

Mais uma vez, deve ver um resultado a declarar 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...

Monitorize o balanceamento de carga e o dimensionamento automático

Voltar ao ecrã de monitorização do balanceamento de carga da última vez. Pode demorar até dez minutos a apresentar dados novos suficientes. Em breve, deve ver um ecrã semelhante ao seguinte:

Trusted Cloud console monitoring display showing requests from Europe and Asia distributed among all three backends

O que está a acontecer aqui:

  1. Mais uma vez, o teste de carga envia outro grande número de pedidos de uma só vez. Inicialmente, o balanceador de carga distribui os pedidos igualmente entre os três back-ends existentes. À medida que o número de pedidos excede os limites de escalabilidade automática, o escalador automático começa a ativar instâncias adicionais conforme necessário.

  2. A criação de uma escala automática acompanha as novas necessidades de capacidade. O balanceador de carga continua a preferir encaminhar pedidos para os back-ends disponíveis mais próximos. Como resultado, o back-end da Ásia acaba por receber pedidos principalmente da Ásia, o back-end da Europa recebe pedidos principalmente da Europa e o back-end dos EUA recebe tudo o resto.

Limpar

Depois de concluir o tutorial, pode limpar os recursos que criou para que deixem de usar a quota e incorrer em custos. As secções seguintes descrevem como eliminar ou desativar estes recursos.

Eliminar o projeto

A forma mais fácil de eliminar a faturação é eliminar o projeto que criou para o tutorial.

Para eliminar o projeto:

  1. In the Trusted 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.

Eliminar instâncias

Para eliminar uma instância do Compute Engine:

  1. In the Trusted 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 se segue?