Instruções e requisitos de configuração do laboratório
Proteja sua conta e seu progresso. Sempre use uma janela anônima do navegador e suas credenciais para realizar este laboratório.

Configurar balanceadores de carga HTTP e de rede [ACE]

Laboratório 40 minutos universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Visão geral

Neste laboratório prático, você aprenderá as diferenças entre os balanceadores de carga HTTP e de rede e a configurá-los para seus aplicativos em execução nas máquinas virtuais do Google Compute Engine.

Existem várias maneiras de balancear a carga no Google Cloud Platform. Este laboratório mostra as etapas de configuração dos seguintes balanceadores de carga:

Recomendamos que os estudantes digitem os comandos para aprender os conceitos principais. Vários laboratórios incluem um bloco de código que contém os comandos necessários. Você pode copiar e colar os comandos desse bloco onde for apropriado durante o laboratório.

Atividades do laboratório

  • Configurar um balanceador de carga de rede

  • Configurar um balanceador de carga HTTP(S)

  • Aprender na prática as diferenças entre balanceadores de carga HTTP e de rede

Pré-requisitos

É recomendável que você já conheça os editores de texto padrão do Linux, como vim, emacs ou nano.

Configuração

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.

O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

    Ícone do Cloud Shell em destaque

  2. Clique em Continuar.

O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

ID do projeto em destaque no terminal do Cloud Shell

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  • Para listar o nome da conta ativa, use este comando:
gcloud auth list

Saída:

Credentialed accounts: - @.com (active)

Exemplo de saída:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Para listar o ID do projeto, use este comando:
gcloud config list project

Saída:

[core] project =

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: a documentação completa da gcloud está disponível no guia com informações gerais sobre a gcloud CLI .

Defina a região e a zona padrão para todos os recursos

Defina a zona padrão no Cloud Shell:

gcloud config set compute/zone us-central1-a

Defina a região padrão:

gcloud config set compute/region us-central1

Saiba mais sobre como escolher zonas e regiões na documentação Regiões e zonas.

Crie várias instâncias do servidor da Web

Para simular a exibição de um cluster de máquinas, crie um cluster simples de servidores da Web Nginx que mostrarão o conteúdo estático usando modelos de instância e grupos de instâncias gerenciadas. Os modelos de instância definem as características de cada máquina virtual no cluster (disco, CPUs, memória etc). Os grupos de instâncias gerenciadas criam várias instâncias de máquina virtual usando o respectivo modelo.

Para gerar os clusters de servidores da Web Nginx, crie os seguintes itens:

  • Um script de inicialização que será usado pelas instâncias de máquina virtual para configurar o servidor Nginx na inicialização
  • Um modelo de instância para usar o script de inicialização
  • Um pool de destino
  • Um grupo de instâncias gerenciadas usando o modelo de instância

Ainda no Cloud Shell, crie o script de inicialização que será usado por todas as instâncias de máquinas virtuais. Esse script configura o servidor Nginx na inicialização:

cat << EOF > startup.sh
#! /bin/bash
apt-get update
apt-get install -y nginx
service nginx start
sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html
EOF

Crie um modelo de instância que use o script de inicialização:

gcloud compute instance-templates create nginx-template \
         --metadata-from-file startup-script=startup.sh

(Resposta)

Created [...].
NAME           MACHINE_TYPE  PREEMPTIBLE CREATION_TIMESTAMP
nginx-template n1-standard-1             2015-11-09T08:44:59.007-08:00

Crie um pool de destino. Um pool de destino permite um único ponto de acesso às instâncias de um grupo e é necessário para o balanceamento de carga nas próximas etapas.

gcloud compute target-pools create nginx-pool

(Resposta)

Created [...].
NAME       REGION       SESSION_AFFINITY BACKUP HEALTH_CHECKS
nginx-pool us-central1

Crie um grupo de instâncias gerenciadas usando o modelo de instância:

gcloud compute instance-groups managed create nginx-group \
         --base-instance-name nginx \
         --size 2 \
         --template nginx-template \
         --target-pool nginx-pool

(Resposta)

Created [...].
NAME         LOCATION       SCOPE  BASE_INSTANCE_NAME  SIZE  TARGET_SIZE  INSTANCE_TEMPLATE  AUTOSCALED
nginx-group  us-central1-a  zone   nginx               0     2            nginx-template     no

Isso cria duas instâncias de máquina virtual com nomes prefixados com nginx- e pode levar alguns minutos.

Liste as instâncias do Compute Engine para ver todas as que foram criadas:

gcloud compute instances list

(Resposta)

NAME       ZONE           MACHINE_TYPE  PREEMPTIBLE INTERNAL_IP EXTERNAL_IP    STATUS
nginx-7wvi us-central1-a n1-standard-1             10.240.X.X  X.X.X.X           RUNNING
nginx-9mwd us-central1-a n1-standard-1             10.240.X.X  X.X.X.X           RUNNING

Configure um firewall para se conectar às máquinas na porta 80 usando os endereços EXTERNAL_IP:

gcloud compute firewall-rules create www-firewall --allow tcp:80

Você poderá se conectar às instâncias pelos endereços IP externos de cada uma delas usando o http://EXTERNAL_IP/ que é o resultado da execução do comando anterior.

Verifique seu progresso no laboratório. Clique em Verificar meu progresso abaixo para conferir se você criou um grupo de servidores da Web.

Crie um grupo de servidores da Web

Crie um balanceador de carga de rede

Com essa ferramenta, você pode balancear a carga dos sistemas com base nos dados de protocolo IP recebidos, como endereço, porta e tipo de protocolo. Você também conta com algumas opções que não estão disponíveis com o balanceamento de carga HTTP(S). Por exemplo, é possível balancear a carga de outros protocolos baseados em TCP/UDP, como o tráfego SMTP. Com o balanceamento de carga de rede, é possível fazer seu aplicativo inspecionar os pacotes quando as características relacionadas à conexão TCP forem do interesse dele. Isso não é possível com o balanceamento de carga HTTP(S).

Crie um balanceador de carga de rede L4 para seu grupo de instâncias:

gcloud compute forwarding-rules create nginx-lb \
         --region us-central1 \
         --ports=80 \
         --target-pool nginx-pool

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].

Liste as regras de encaminhamento do Google Compute Engine no seu projeto.

gcloud compute forwarding-rules list

(Resposta)

NAME     REGION       IP_ADDRESS     IP_PROTOCOL TARGET
nginx-lb us-central1 X.X.X.X        TCP         us-central1/targetPools/nginx-pool

É possível acessar o balanceador de carga no navegador http://IP_ADDRESS/, em que IP_ADDRESS é o endereço que aparece como resultado da execução do comando anterior.

Verifique seu progresso no laboratório. Clique em Verificar meu progresso abaixo e veja se um balanceador de carga de rede L4 foi criado para os servidores da Web.

Crie um balanceador de carga de rede L4 para os servidores da Web

Crie um balanceador de carga HTTP(S)

Essa ferramenta proporciona balanceamento global de carga para solicitações HTTP(S) destinadas às suas instâncias. Você pode configurar regras de URL que direcionem alguns URLs para um conjunto de instâncias e outros para outras instâncias. As solicitações são sempre direcionadas ao grupo de instâncias mais próximo do usuário, desde que ele tenha capacidade suficiente e seja apropriado para a solicitação. Se o grupo mais próximo não tiver capacidade suficiente, a solicitação será enviada ao outro mais próximo com capacidade.

Primeiro crie uma verificação de integridade. Ela testa se a instância está respondendo ao tráfego HTTP ou HTTPS:

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

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].
NAME             HOST PORT REQUEST_PATH
http-basic-check      80   /

Defina um serviço HTTP e mapeie um nome para a porta relevante do grupo de instâncias. Agora o serviço de balanceamento de carga pode encaminhar o tráfego para a porta nomeada:

gcloud compute instance-groups managed \
       set-named-ports nginx-group \
       --named-ports http:80

(Resposta)

Updated [https://www.googleapis.com/compute/v1/projects/...].

Crie um serviço de back-end:

gcloud compute backend-services create nginx-backend \
      --protocol HTTP --http-health-checks http-basic-check --global

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].
NAME          BACKENDS PROTOCOL
nginx-backend          HTTP

Adicione o grupo de instâncias ao serviço de back-end:

gcloud compute backend-services add-backend nginx-backend \
    --instance-group nginx-group \
    --instance-group-zone us-central1-a \
    --global

(Resposta)

Updated [https://www.googleapis.com/compute/v1/projects/...].

Crie um mapa padrão de URLs para direcionar as solicitações recebidas às suas instâncias:

gcloud compute url-maps create web-map \
    --default-service nginx-backend

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].
NAME    DEFAULT_SERVICE
Web-map nginx-backend

Crie um proxy HTTP de destino para encaminhar as solicitações ao mapa de URLs:

gcloud compute target-http-proxies create http-lb-proxy \
    --url-map web-map

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].
NAME          URL_MAP
http-lb-proxy web-map

Crie uma regra de encaminhamento global para processar e encaminhar solicitações de entrada. O tráfego é enviado pela regra de encaminhamento a um proxy de destino HTTP ou HTTPS específico, dependendo da definição de endereço IP, protocolo IP e porta. Não são aceitas várias portas na regra de encaminhamento global.

gcloud compute forwarding-rules create http-content-rule \
        --global \
        --target-http-proxy http-lb-proxy \
        --ports 80

(Resposta)

Created [https://www.googleapis.com/compute/v1/projects/...].

Após a criação da regra de encaminhamento global, poderá levar alguns minutos até a configuração ser propagada.

gcloud compute forwarding-rules list

(Resposta)

NAME              REGION IP_ADDRESS    IP_PROTOCOL TARGET
http-content-rule        X.X.X.X       TCP         http-lb-proxy
nginx-lb   us-central1  X.X.X.X       TCP         us-central1/....

Anote o "IP_ADDRESS" de "http-content-rule" da regra de encaminhamento.

No navegador, você poderá se conectar a http://IP_ADDRESS/. Isso pode levar de três a cinco minutos. Se a conexão falhar, aguarde um minuto e atualize o navegador.

Verifique seu progresso no laboratório. Clique em Verificar meu progresso abaixo para conferir se você criou um balanceador de carga HTTP(S) L7.

Crie um balanceador de carga HTTP(S) L7

Teste seu conhecimento

Responda ao questionário para testar seus conhecimentos sobre o Google Cloud Platform. Selecione mais de uma opção, se necessário.

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

A melhor maneira de executar este laboratório é usando uma janela de navegação anônima ou privada. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.