Carregando...
Nenhum resultado encontrado.

Aplique suas habilidades no console do Google Cloud

Acesse mais de 700 laboratórios e cursos

Como criar um balanceamento de carga entre regiões

Laboratório 45 minutos universal_currency_alt 5 créditos show_chart Intermediário
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

GSP157

Logotipo dos laboratórios autoguiados do Google Cloud

Visão geral

Este laboratório mostra como criar um balanceador de carga HTTP(S) que encaminha o tráfego para instâncias em duas regiões diferentes. Neste laboratório, você vai criar quatro instâncias do Compute Engine, duas em cada uma das duas regiões diferentes. Em seguida, vai configurar o restante do sistema para que as conexões de entrada sejam enviadas à instância adequada.

Os recursos que você cria se conectam conforme mostrado aqui:

Diagrama de arquitetura de balanceamento de carga

Configuração

Antes de clicar no botão Começar o Laboratório

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento. No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:

    • O botão Abrir Console do Google Cloud
    • O tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações, se forem necessárias
  2. Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.

    O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.

    {{{user_0.username | "Username"}}}

    Você também encontra o nome de usuário no painel Detalhes do Laboratório.

  4. Clique em Próxima.

  5. Copie a Senha abaixo e cole na caixa de diálogo de Olá.

    {{{user_0.password | "Password"}}}

    Você também encontra a senha no painel Detalhes do Laboratório.

  6. Clique em Próxima.

    Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  7. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.

Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar. Ícone do menu de navegação e campo de pesquisa

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias 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. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

  2. Clique nas seguintes janelas:

    • Continue na janela de informações do Cloud Shell.
    • Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.

Depois de se conectar, você verá que sua conta já está autenticada e que o projeto está configurado com seu Project_ID, . A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

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

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

Saída:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.

Nestas instruções, supomos que você esteja usando uma rede VPC de modo automático ou uma rede legada. Se você estiver usando uma rede VPC de modo personalizado, algumas das etapas abaixo, como a criação de uma instância, vão exigir que você especifique o intervalo de sub-rede.

Tarefa 1: como configurar instâncias

Crie instâncias de máquina virtual em duas regiões diferentes para receber o tráfego encaminhado do balanceador de carga. Configure as instâncias de máquina para teste e atribua a todas elas a mesma tag, que será usada por uma regra de firewall para permitir o tráfego de entrada.

O script de inicialização instala o Apache e cria uma página inicial exclusiva para cada instância.

  1. Crie as duas instâncias na região :
gcloud compute instances create www-1 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone |ZONE}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html1_code|Code}}}" gcloud compute instances create www-2 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone |ZONE}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html_code|Code}}}"

Clique em Verificar meu progresso para conferir o objetivo.

Configurar instâncias para a região principal
  1. Crie as duas instâncias na região:
gcloud compute instances create www-3 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone_2 |ZONE 2}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html2_code|Code}}}" gcloud compute instances create www-4 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone_2 |ZONE 2}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html3_code|Code}}}"

Clique em Verificar meu progresso para conferir o objetivo.

Configurar instâncias para a região secundária
  1. Crie uma regra de firewall para permitir que o tráfego externo chegue às suas instâncias de máquina virtual. Com essa regra, o tráfego de todas as origens é permitido, o que é útil durante a definição e o teste da configuração.

A regra do firewall usa a tag http-tag que você criou anteriormente. A regra de firewall permite tráfego na porta designada para alcançar instâncias que tenham a tag:

gcloud compute firewall-rules create www-firewall \ --target-tags http-tag --allow tcp:80
  1. Verifique se as instâncias estão em execução. Liste as instâncias para ver os respectivos endereços IP na coluna EXTERNAL_IP:
gcloud compute instances list
  1. Copie o IP externo de cada instância e cole em uma nova guia do navegador para testar se as instâncias estão em execução e se os servidores da Web estão configurados corretamente e podem responder com a página inicial padrão pela porta de firewall aberta.

Tarefa 2: configurar serviços para balanceamento de carga

Agora que as instâncias já estão em execução, configure os serviços necessários para o balanceamento de carga. Crie o seguinte:

  • Um endereço IP externo estático global que os clientes vão usar para acessar seu balanceador de carga.
  • Grupos de instâncias para armazenar suas instâncias.
  • Uma verificação de integridade, que consulta as instâncias para conferir se estão íntegras. O balanceador de carga só envia tráfego a instâncias íntegras.

Para configurar esses serviços, siga estas etapas:

  1. Crie um endereço IP externo estático global IPv4 para o balanceador de carga:
gcloud compute addresses create lb-ip-cr \ --ip-version=IPV4 \ --global
  1. Crie um grupo de instâncias para cada uma das suas zonas.
gcloud compute instance-groups unmanaged create {{{project_0.default_region |REGION}}}-resources-w --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged create {{{project_0.default_region_2 |REGION 2}}}-resources-w --zone {{{project_0.default_zone_2 |ZONE 2}}}
  1. Adicione as instâncias criadas anteriormente aos grupos de instâncias.
gcloud compute instance-groups unmanaged add-instances {{{project_0.default_region |REGION}}}-resources-w \ --instances www-1,www-2 \ --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged add-instances {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --instances www-3,www-4 \ --zone {{{project_0.default_zone_2 |ZONE 2}}}
  1. Crie uma verificação de integridade:
gcloud compute health-checks create http http-basic-check

Tarefa 3: como configurar o serviço de balanceamento de carga

O balanceamento de carga envolve vários serviços conectados. Nesta seção, você vai configurar e conectar os serviços.

  • Portas nomeadas, usadas pelo balanceador de carga para direcionar tráfego aos grupos de instâncias.
  • Serviços de back-end, usados para monitorar o uso e a integridade das instâncias. Os serviços de back-end sabem se as instâncias no grupo podem receber tráfego. Se não puderem e houver instâncias subutilizadas em outro lugar, o balanceador de carga vai redirecionar o tráfego para essas instâncias.
  • Um mapa de URL, que analisa o URL da solicitação e pode encaminhar algumas solicitações a serviços de back-end específicos com base no host e no caminho do URL da solicitação. No exemplo, como não estamos usando encaminhamento baseado em conteúdo, o mapa de URL só contém mapeamento padrão.
  • Um ou mais recursos de certificado SSL se você estiver usando HTTPS, que contém informações de certificado SSL referentes ao balanceador de carga. Você pode usar vários certificados SSL e precisa criar um recurso de certificado SSL para cada certificado.
  • Uma política de SSL opcional, se você estiver usando HTTPS.
  • Um proxy de destino, que recebe e encaminha a solicitação do usuário para o mapa de URL. O proxy de destino é o serviço que descriptografa o tráfego SSL usando o recurso de certificado SSL. Ele pode encaminhar o tráfego para as instâncias por HTTP ou HTTPS.
  • Duas regras de encaminhamento global, uma para IPv4 e outra para IPv6, que contêm os recursos de endereço IP externo global. As regras de encaminhamento global direcionam a solicitação recebida para o proxy de destino.
  1. Para cada grupo de instâncias, defina um serviço HTTP e associe um nome à porta relevante:
gcloud compute instance-groups unmanaged set-named-ports {{{project_0.default_region |REGION}}}-resources-w \ --named-ports http:80 \ --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged set-named-ports {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --named-ports http:80 \ --zone {{{project_0.default_zone_2 |ZONE 2}}}

Clique em Verificar meu progresso para conferir o objetivo.

Reservar endereço IPv4, criar grupos de instâncias e verificação de integridade
  1. Crie um serviço de back-end e especifique os parâmetros dele. Defina o campo --protocol como HTTP porque estamos usando HTTP para acessar as instâncias. Use http-basic-check que criamos anteriormente como a verificação de integridade:
gcloud compute backend-services create web-map-backend-service \ --protocol HTTP \ --health-checks http-basic-check \ --global
  1. Adicione os grupos de instâncias como back-ends aos serviços de back-end. Um back-end define a capacidade (utilização máxima de CPU ou máximo de consultas por segundo) dos grupos de instâncias nele contidos. Neste exemplo, defina o modo de balanceamento como a utilização da CPU, 80% como o máximo de utilização e 1 como o escalonamento de capacidade. Para esvaziar um serviço de back-end, defina o escalonamento de capacidade como 0.
gcloud compute backend-services add-backend web-map-backend-service \ --balancing-mode UTILIZATION \ --max-utilization 0.8 \ --capacity-scaler 1 \ --instance-group {{{project_0.default_region |REGION}}}-resources-w \ --instance-group-zone {{{project_0.default_zone |ZONE}}} \ --global gcloud compute backend-services add-backend web-map-backend-service \ --balancing-mode UTILIZATION \ --max-utilization 0.8 \ --capacity-scaler 1 \ --instance-group {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --instance-group-zone {{{project_0.default_zone_2 |ZONE 2}}} \ --global

Clique em Verificar meu progresso para conferir o objetivo.

Criar serviços de back-end e adicionar o grupo de instâncias a eles
  1. 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 web-map-backend-service
  1. 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
  1. Procure os endereços IP estáticos que você criou para o balanceador de carga. Você vai usá-los na próxima etapa.
gcloud compute addresses list
  1. Crie uma regra de encaminhamento global IPv4 para rotear as solicitações de entrada para o proxy. Substitua [LB_IP_ADDRESS] no comando pelo endereço IPv4 estático que você criou:
gcloud compute forwarding-rules create http-cr-rule \ --address [LB_IP_ADDRESS] \ --global \ --target-http-proxy http-lb-proxy \ --ports 80 Observação:após a criação da regra de encaminhamento global, pode levar alguns minutos até a configuração ser propagada.

Clique em Verificar meu progresso para conferir o objetivo.

Criar um mapa de URL e direcionar o proxy HTTP para o mapa

Tarefa 4: como enviar tráfego às instâncias

Agora que você já configurou o serviço de balanceamento de carga, comece a enviar tráfego à regra de encaminhamento para que ele seja distribuído para diferentes instâncias.

  1. Encontre os endereços IP das regras de encaminhamento globais:
gcloud compute forwarding-rules list
  1. No console, pesquise Balanceamento de carga e selecione o primeiro resultado. Na página de Balanceamento de carga, você verá um círculo verde com uma marca de seleção na linha web-map.

A página Balanceamento de carga mostrando a linha do mapa da Web.

  1. Clique no Balanceador de carga (web-map) para ver os detalhes. Na seção Back-end, verifique a coluna Íntegra para confirmar se as instâncias estão íntegras. Essa informação pode demorar um pouco para ser indicada na tela.

  2. Quando isso acontecer, clique no menu avançado para acessar informações detalhadas sobre o balanceador de carga.

  3. Na seção Front-end, copie o endereço IP e cole no navegador para exibir o conteúdo padrão de uma das instâncias do grupo de instâncias mais próximo de você.

A página Detalhes do balanceamento de carga mostrando o IP:Porta destacado

O balanceador de carga encaminha sua solicitação para a instância disponível mais próxima.

Neste laboratório, você criou instâncias de laboratório nas regiões e . A resposta das instâncias depende da distância que você está dessas regiões ao realizar o laboratório.

Por exemplo, se sua localização geográfica atual estiver mais próxima da região us-central1, você receberá uma resposta das instâncias da região us-central1.

Para mais detalhes sobre zonas e regiões no Google Cloud, acesse Regiões e zonas.

  1. Atualize a página várias vezes. O conteúdo da página vai variar à medida que o balanceador de carga encaminha as requisições entre as duas instâncias do grupo. Por exemplo (as instâncias podem aparecer em uma ordem diferente):

Atualização 1:

A página mostra www-1

Atualização 2:

A página mostra www-2

Atualização 3:

A página mostra www-2

Atualização 4:

A página mostra www-1

Se você tiver usado um certificado autoassinado para o teste, um aviso no navegador será exibido. Instrua o navegador a aceitar o certificado.

Observação: Serão exibidas respostas da região mais próxima a você. Se ocorrer falha na resposta, aguarde alguns minutos para a configuração ser totalmente carregada e as instâncias serem marcadas como íntegras antes de tentar novamente. Cada atualização da página pode exibir uma instância diferente. Para simular um usuário em outra região geográfica, tente usar um proxy Web para as solicitações.

Tarefa 5: desativar o acesso HTTP(S) de qualquer outra origem que não seja o serviço de balanceamento de carga

  1. Quando tudo estiver funcionando, modifique as regras de firewall para só receber tráfego HTTP(S) do serviço de balanceamento de carga nas instâncias:
gcloud compute firewall-rules create allow-lb-and-healthcheck \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --target-tags http-tag \ --allow tcp:80
  1. Em seguida, remova a regra usada para permitir tráfego HTTP(S) de outras origens:
gcloud compute firewall-rules delete www-firewall

Teste se as instâncias estão acessíveis ao balanceador de carga, mas não a outras origens.

  1. Encontre o endereço IP da regra de encaminhamento global:
gcloud compute addresses list
  1. Copie e cole o endereço IP no navegador para verificar se o encaminhamento está funcionanando.

  2. Encontre o endereço IP de cada uma das suas instâncias e anote os endereços mostrados na coluna EXTERNAL_IP:

gcloud compute instances list
  1. Copie e cole o endereço de uma instância no navegador.

Como você removeu a regra de firewall que permite o tráfego HTTP(S) de outras fontes, isso vai falhar. As instâncias aceitam apenas o tráfego dos intervalos de origem definidos na regra de firewall allow-lb-and-healthcheck.

Tarefa 6: como remover IPs externos, exceto um Bastion Host (opcional)

O balanceamento de carga HTTP usa os IPs internos dos destinos, não os externos. Quando o balanceamento de carga já estiver funcionando, aumente a segurança removendo os IPs externos dos destinos de balanceamento de carga e conecte-se a uma instância intermediária para executar tarefas nas instâncias com esse balanceamento. Dessa forma, ninguém de fora da sua rede VPC poderá acessá-las a não ser pelo balanceador de carga.

Será necessária pelo menos uma instância com um endereço IP externo na rede VPC, normalmente uma instância designada para essa finalidade.

Caso exclua acidentalmente todos os endereços IP externos, use o console do Google Cloud para criar um novo.

Remova o endereço IP externo de uma instância.

  1. Execute o comando a seguir para remover o endereço IP externo de uma instância. Anote o nome da instância conforme mostrado no campo NAME:
gcloud compute instances list
  1. Exclua a configuração de acesso da instância. Em NAME, coloque o nome da instância:
gcloud compute instances delete-access-config NAME

Parabéns!

Parabéns! Neste laboratório, você configurou e testou uma função de balanceamento de carga entre regiões. Este laboratório proporcionou uma experiência prática na configuração do balanceamento de carga entre regiões com o balanceamento de carga HTTP(S). Ao implantar instâncias em duas regiões e configurar o balanceador de carga para distribuir o tráfego, você adquiriu conhecimento prático sobre como o Google Cloud pode garantir alta disponibilidade e tolerância a falhas para seus aplicativos.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 7 de novembro de 2024

Laboratório testado em 7 de novembro de 2024

Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas 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

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.