SlideShare uma empresa Scribd logo
1 de 17
Configurar
balanceadores de carga
HTTP e de rede
1 hora5 créditos
Avaliar laboratório
GSP007
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 aplicativos em execução nas máquinas virtuais (VMs) do Compute
Engine.
Há várias maneiras de balancear a carga no Google Cloud. Este laboratório mostra as etapas de
configuração dos seguintes balanceadores de carga:
 Balanceador de carga de rede
 Balanceador de carga HTTP(S)
Recomendamos que os alunos digitem os comandos para aprender os principais conceitos. Muitos
laboratórios incluem um bloco de código com os comandos necessários. Você pode copiar e colar os
comandos desse bloco onde for apropriado durante o laboratório.
Atividades deste laboratório
 Configurar um balanceador de carga de rede
 Configurar um balanceador de carga HTTP
 Aprender, na prática, as diferenças entre eles
Configuração
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é
iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do
Google Cloud ficarão disponíveis.
Este laboratório prático do Qwiklabs permite que você realize as atividades em um ambiente real de
nuvem, não em uma simulação ou demonstração. Você receberá novas credenciais temporárias para
fazer login e acessar o Google Cloud durante o laboratório.
O que é necessário
Para fazer este laboratório, você precisa ter:
 acesso a um navegador de Internet padrão (recomendamos o Chrome);
 tempo para concluir as atividades.
Observação: não use seu projeto ou sua conta do Google Cloud neste laboratório.
Observação: se estiver usando um dispositivo Chrome OS, abra uma janela anônima para executar
o laboratório.
Como começar o laboratório e fazer login no Console
1. Clique no botão Começar o laboratório. Se for preciso pagar pelo laboratório, você verá um pop-
up para selecionar a forma de pagamento. Um painel é exibido à esquerda contendo as credenciais
temporárias que você deve usar para o laboratório.
2. Copie o nome de usuário e clique em Abrir Console do Google. O laboratório inicia os recursos e
depois abre a página Escolher uma conta em outra guia.
Dica: abra as guias em janelas separadas, lado a lado.
3. Na página "Escolher uma conta", clique em Usar outra conta.
4. A página de login é aberta. Cole o nome de usuário que foi copiado do painel "Detalhes da
conexão". Em seguida, copie e cole a senha.
Importante: é preciso usar as credenciais do painel "Detalhes da conexão". Não use as credenciais
do Qwiklabs. Não use sua conta pessoal do GCP, caso tenha uma, neste laboratório (isso evita
cobranças).
5. 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 avaliações gratuitas.
Depois de alguns instantes, o Console do GCP será aberto nesta guia.
Observação: para ver o menu com uma lista dos produtos e serviços do GCP, clique em Menu de
navegação no canto superior esquerdo, ao lado de "Google Cloud
Platform".
Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com
um diretório principal permanente de 5 GB e é executado no Google Cloud. O Google Cloud Shell
permite acesso de linha de comando aos seus recursos do GCP.
1. No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell.
2. Clique em Continue (continuar):
Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado,
você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo:
gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no
Cloud Shell e aceita preenchimento com tabulação.
É possível listar o nome da conta ativa com este comando:
gcloud auth list
content_copy
Saída:
Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
content_copy
Exemplo de saída:
Credentialed accounts:
- google1623327_student@qwiklabs.net
content_copy
É possível listar o ID de projeto com este comando:
gcloud config list project
content_copy
Saída:
[core]
project = <project_ID>
content_copy
Exemplo de saída:
[core]
project = qwiklabs-gcp-44776a13dea667a6
content_copy
gcloud está disponível na página Visão geral do gcloud do Google Cloud.
Tarefa 1: defina a região e a zona padrão para
todos os recursos
1. Defina a zona padrão no Cloud Shell:
gcloud config set compute/zone us-central1-a
content_copy
2. Defina a região padrão:
gcloud config set compute/region us-central1
content_copy
Saiba mais sobre como escolher zonas e regiões na documentação Regiões e zonas.
Tarefa 2: crie várias instâncias de servidor da
Web
Neste cenário de balanceamento de carga, crie três instâncias de VM do Compute Engine. Nelas,
instale o Apache e adicione uma regra de firewall que permita a chegada do tráfego HTTP.
1. Crie três novas máquinas virtuais na zona padrão e atribua a mesma tag a elas. O código
apresentado define a zona como us-central1-a. Com a configuração do campo de tags, é possível
mencionar todas essas instâncias simultaneamente, assim como acontece nas regras de firewall.
Esses comandos também instalam o Apache em todas as instâncias e atribuem uma página inicial
exclusiva a cada uma delas.
gcloud compute instances create www1 
--image-family debian-9 
--image-project debian-cloud 
--zone us-central1-a 
--tags network-lb-tag 
--metadata startup-script="#!/bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html"
content_copy
gcloud compute instances create www2 
--image-family debian-9 
--image-project debian-cloud 
--zone us-central1-a 
--tags network-lb-tag 
--metadata startup-script="#!/bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo '<!doctype html><html><body><h1>www2</h1></body></html>' | tee /var/www/html/index.html"
content_copy
gcloud compute instances create www3 
--image-family debian-9 
--image-project debian-cloud 
--zone us-central1-a 
--tags network-lb-tag
--metadata startup-script="#!/bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo '<!doctype html><html><body><h1>www3</h1></body></html>' | tee /var/www/html/index.html"
content_copy
2. Crie uma regra de firewall para permitir o tráfego externo para as instâncias de VM:
gcloud compute firewall-rules create www-firewall-network-lb 
--target-tags network-lb-tag --allow tcp:80
content_copy
Agora você precisa dos endereços IP externos das instâncias para verificar se elas estão em
execução.
3. Execute o comando a seguir para listá-las. Os endereços IP aparecem na coluna EXTERNAL_IP:
gcloud compute instances list
content_copy
4. Verifique se cada instância está sendo executada com curl e substitua [IP_ADDRESS] pelo
endereço IP de cada uma das VMs:
curl http://[IP_ADDRESS]
content_copy
Verifique seu progresso no laboratório
Clique em Verificar meu progresso abaixo para conferir se você criou um grupo de servidores da
Web.
Tarefa 3: configure o serviço de balanceamento de
carga
Ao configurar o serviço de balanceamento de carga, as instâncias de máquina virtual recebem os
pacotes destinados ao endereço IP externo estático definido. As instâncias criadas com uma imagem
do Compute Engine são configuradas automaticamente para lidar com esse endereço IP.
Como configurar o balanceamento de carga de rede.
1. Crie um endereço IP externo estático para o balanceador de carga.
gcloud compute addresses create network-lb-ip-1 
--region us-central1
content_copy
(Saída)
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/us-
central1/addresses/network-lb-ip-1].content_copy
2. Adicione um recurso legado de verificação de integridade HTTP.
gcloud compute http-health-checks create basic-check
content_copy
3. Adicione um pool de destino na mesma região de suas instâncias. Execute o comando a seguir para
criar o pool de destino e usar a verificação de integridade necessária para o funcionamento do
serviço:
gcloud compute target-pools create www-pool 
--region us-central1 --http-health-check basic-check
content_copy
4. Adicione as instâncias ao pool:
gcloud compute target-pools add-instances www-pool 
--instances www1,www2,www3
content_copy
5. Adicione uma regra de encaminhamento:
gcloud compute forwarding-rules create www-rule 
--region us-central1
--ports 80 
--address network-lb-ip-1 
--target-pool www-pool
content_copy
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.
Tarefa 4: envie tráfego para as instâncias
Agora que o serviço de balanceamento de carga foi configurado, comece a enviar tráfego para a
regra de encaminhamento e veja a distribuição dele por instâncias diferentes.
Execute o comando a seguir para visualizar o endereço IP externo da regra de encaminhamento
www-rule usada pelo balanceador de carga:
gcloud compute forwarding-rules describe www-rule --region us-central1
content_copy
Use o comando curl para acessar o endereço IP externo e substitua IP_ADDRESS por um endereço
IP externo do comando anterior:
while true; do curl -m1 IP_ADDRESS; done
content_copy
A resposta do comando curl alterna de forma aleatória entre as três instâncias. Se ocorrer alguma
falha, aguarde cerca de 30 segundos até que a configuração esteja totalmente carregada e suas
instâncias marcadas como íntegras antes de tentar novamente.
Use Ctrl + c para interromper a execução do comando.
Tarefa 5: crie um balanceador de carga HTTP
O balanceamento de carga HTTP(S) é implementado no Google Front End (GFE). Os GFEs são
distribuídos globalmente e funcionam em conjunto usando a rede global e o plano de controle do
Google. Você pode configurar regras que direcionem as URLs para conjuntos de instâncias
diferentes. 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 adequado para elas. Se não tiver capacidade
suficiente, elas serão enviadas ao grupo mais próximo seguinte com capacidade.
Para configurar um balanceador de carga com um back-end do Compute Engine, suas VMs
precisam estar em um grupo de instâncias. O grupo gerenciado de instâncias fornece VMs que
executam os servidores de back-end de um balanceador de carga HTTP externo. Neste laboratório,
os back-ends exibem os próprios nomes de host.
1. Crie primeiro o modelo do balanceador de carga:
gcloud compute instance-templates create lb-backend-template 
--region=us-central1 
--network=default 
--subnet=default 
--tags=allow-health-check 
--image-family=debian-9 
--image-project=debian-cloud 
--metadata=startup-script='#! /bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" 
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | 
tee /var/www/html/index.html
systemctl restart apache2'
content_copy
2. Crie o grupo gerenciado de instâncias com base no modelo.
gcloud compute instance-groups managed create lb-backend-group
--template=lb-backend-template --size=2 --zone=us-central1-a
content_copy
3. Crie a regra de firewall fw-allow-health-check. Ela é uma regra de entrada que permite o tráfego dos
sistemas de verificação de integridade do Google Cloud (130.211.0.0/22 e 35.191.0.0/16). Este
laboratório usa a tag de destino allow-health-check para identificar as VMs.
gcloud compute firewall-rules create fw-allow-health-check 
--network=default 
--action=allow 
--direction=ingress 
--source-ranges=130.211.0.0/22,35.191.0.0/16 
--target-tags=allow-health-check 
--rules=tcp:80
content_copy
4. Agora que as instâncias estão funcionando, configure um endereço IP externo, estático e global que
seus clientes podem usar para acessar o balanceador de carga.
gcloud compute addresses create lb-ipv4-1 
--ip-version=IPV4 
--global
content_copy
Anote o endereço IPv4 que foi reservado:
gcloud compute addresses describe lb-ipv4-1 
--format="get(address)" 
--global
content_copy
5. Crie uma verificação de integridade para o balanceador de carga:
gcloud compute health-checks create http http-basic-check
--port 80
content_copy
6. Crie um serviço de back-end:
gcloud compute backend-services create web-backend-service 
--protocol=HTTP 
--port-name=http 
--health-checks=http-basic-check 
--global
content_copy
7. Adicione seu grupo de instâncias como back-end do serviço de back-end:
gcloud compute backend-services add-backend web-backend-service 
--instance-group=lb-backend-group 
--instance-group-zone=us-central1-a 
--global
content_copy
8. Crie um mapa de URLs para encaminhar as solicitações recebidas ao serviço de back-end padrão:
gcloud compute url-maps create web-map-http 
--default-service web-backend-service
content_copy
9. 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-http
content_copy
10. Crie uma regra de encaminhamento global para encaminhar as solicitações recebidas para o
proxy:
gcloud compute forwarding-rules create http-content-rule 
--address=lb-ipv4-1
--global 
--target-http-proxy=http-lb-proxy 
--ports=80
content_copy
Verifique seu progresso no laboratório
Clique em Verificar meu progresso abaixo para conferir se você criou um balanceador de carga
HTTP(S) L7.
Tarefa 6: teste o tráfego enviado às instâncias
1. No Console do Cloud, em Menu de navegação, acesse Serviços de rede > Balanceamento de
carga.
2. Clique no balanceador de carga que você acabou de criar (web-map-http).
3. Na seção Back-end, clique no nome do back-end e confirme se as VMs estão Íntegras. Se não
estiverem, espere alguns instantes e tente recarregar a página.
4. Quando finalmente estiverem íntegras, teste o balanceador de carga com um navegador da Web.
Acesse http://IP_ADDRESS/ e substitua IP_ADDRESS pelo endereço IP do balanceador de carga.
Isso talvez leve de três a cinco minutos. Se a conexão falhar, aguarde um minuto e atualize o
navegador.
O navegador deve renderizar uma página que mostra o nome e a zona da instância que a forneceu,
por exemplo, Page served from: lb-backend-group-xxxx.
Parabéns!
Você criou um balanceador de carga HTTP(S) e um de rede. Além disso, praticou o uso de modelos
de instância e grupos gerenciados de instâncias.
Termine a Quest
Este laboratório autoguiado faz parte da Quest Google Cloud Essentials do Qwiklabs. Uma Quest é
uma série de laboratórios relacionados que formam o programa de aprendizado. Concluir esta Quest
dá a você o selo acima como reconhecimento da sua conquista. Você pode publicar os selos e incluir
um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba
crédito de conclusão imediatamente por fazer este laboratório. Veja outras Quests do Qwiklabs.
Comece o próximo laboratório
Continue sua Quest com Hello Node Kubernetes ou confira estas sugestões:
 Provisionar serviços com o Google Cloud Marketplace
 Cloud Monitoring: Qwik Start
Próximas etapas/Saiba mais
 Como configurar um balanceador de carga de rede com um serviço de back-end
 Como configurar um balanceador de carga HTTPS externo simples
 Visão geral do balanceamento de carga de HTTP(S) externo
Treinamento e certificação do Google Cloud
...ajuda 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 ajudam você a validar e
comprovar suas habilidades e conhecimentos das tecnologias do Google Cloud.
Manual atualizado em 22 de dezembro de 2020
Laboratório testado em 22 de dezembro de 2020
Copyright 2020 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.
Continuar a Quest
Compute Engine: Qwik Start — Windows

Mais conteúdo relacionado

Mais procurados

Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testesElias Nogueira
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guideLucas Cruz
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e HudsonRodrigo Branas
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebAlex Camargo
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...Samuel Sampaio
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 

Mais procurados (19)

Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testes
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Apresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache MavenApresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache Maven
 
Bada
BadaBada
Bada
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guide
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 
Grails
GrailsGrails
Grails
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Docker selenium
Docker seleniumDocker selenium
Docker selenium
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java Web
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 

Semelhante a Gsp007

Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsJoao Muela
 
Instalando o Apache no Windows
Instalando o Apache no WindowsInstalando o Apache no Windows
Instalando o Apache no WindowsSilvio Clecio
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkJeison Barros
 
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetesk6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no KubernetesKelvin Silva
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Projeto jorge,jefff, matheus
Projeto   jorge,jefff, matheusProjeto   jorge,jefff, matheus
Projeto jorge,jefff, matheusEadanalise
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Walker Leite apresenta usando o WordPress como backend de aplicação
Walker Leite apresenta usando o WordPress como backend de aplicaçãoWalker Leite apresenta usando o WordPress como backend de aplicação
Walker Leite apresenta usando o WordPress como backend de aplicaçãoWordCamp Floripa
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
 

Semelhante a Gsp007 (20)

Gsp313 desafio selo_01
Gsp313 desafio selo_01Gsp313 desafio selo_01
Gsp313 desafio selo_01
 
Nao sensivel
Nao sensivelNao sensivel
Nao sensivel
 
Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocs
 
Instalando o Apache no Windows
Instalando o Apache no WindowsInstalando o Apache no Windows
Instalando o Apache no Windows
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
 
Tutorial codeigniter
Tutorial codeigniterTutorial codeigniter
Tutorial codeigniter
 
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetesk6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
k6: Performance Engineering, Monitoramento e Teste de um HPA no Kubernetes
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Projeto jorge,jefff, matheus
Projeto   jorge,jefff, matheusProjeto   jorge,jefff, matheus
Projeto jorge,jefff, matheus
 
Cake Php
Cake PhpCake Php
Cake Php
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Tcc anexo i
Tcc   anexo iTcc   anexo i
Tcc anexo i
 
Walker Leite apresenta usando o WordPress como backend de aplicação
Walker Leite apresenta usando o WordPress como backend de aplicaçãoWalker Leite apresenta usando o WordPress como backend de aplicação
Walker Leite apresenta usando o WordPress como backend de aplicação
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Python 08
Python 08Python 08
Python 08
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 

Gsp007

  • 1. Configurar balanceadores de carga HTTP e de rede 1 hora5 créditos Avaliar laboratório GSP007
  • 2. 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 aplicativos em execução nas máquinas virtuais (VMs) do Compute Engine. Há várias maneiras de balancear a carga no Google Cloud. Este laboratório mostra as etapas de configuração dos seguintes balanceadores de carga:  Balanceador de carga de rede  Balanceador de carga HTTP(S) Recomendamos que os alunos digitem os comandos para aprender os principais conceitos. Muitos laboratórios incluem um bloco de código com os comandos necessários. Você pode copiar e colar os comandos desse bloco onde for apropriado durante o laboratório. Atividades deste laboratório  Configurar um balanceador de carga de rede  Configurar um balanceador de carga HTTP  Aprender, na prática, as diferenças entre eles Configuração Antes de clicar no botão Start Lab Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud ficarão disponíveis.
  • 3. Este laboratório prático do Qwiklabs permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você receberá novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório. O que é necessário Para fazer este laboratório, você precisa ter:  acesso a um navegador de Internet padrão (recomendamos o Chrome);  tempo para concluir as atividades. Observação: não use seu projeto ou sua conta do Google Cloud neste laboratório. Observação: se estiver usando um dispositivo Chrome OS, abra uma janela anônima para executar o laboratório. Como começar o laboratório e fazer login no Console 1. Clique no botão Começar o laboratório. Se for preciso pagar pelo laboratório, você verá um pop- up para selecionar a forma de pagamento. Um painel é exibido à esquerda contendo as credenciais temporárias que você deve usar para o laboratório. 2. Copie o nome de usuário e clique em Abrir Console do Google. O laboratório inicia os recursos e depois abre a página Escolher uma conta em outra guia. Dica: abra as guias em janelas separadas, lado a lado.
  • 4. 3. Na página "Escolher uma conta", clique em Usar outra conta. 4. A página de login é aberta. Cole o nome de usuário que foi copiado do painel "Detalhes da conexão". Em seguida, copie e cole a senha. Importante: é preciso usar as credenciais do painel "Detalhes da conexão". Não use as credenciais do Qwiklabs. Não use sua conta pessoal do GCP, caso tenha uma, neste laboratório (isso evita cobranças). 5. 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 avaliações gratuitas. Depois de alguns instantes, o Console do GCP será aberto nesta guia. Observação: para ver o menu com uma lista dos produtos e serviços do GCP, clique em Menu de navegação no canto superior esquerdo, ao lado de "Google Cloud
  • 5. Platform". Ative o Google Cloud Shell O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um diretório principal permanente de 5 GB e é executado no Google Cloud. O Google Cloud Shell permite acesso de linha de comando aos seus recursos do GCP. 1. No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell. 2. Clique em Continue (continuar):
  • 6. Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado, você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo: gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no Cloud Shell e aceita preenchimento com tabulação. É possível listar o nome da conta ativa com este comando: gcloud auth list content_copy Saída: Credentialed accounts: - <myaccount>@<mydomain>.com (active) content_copy Exemplo de saída:
  • 7. Credentialed accounts: - google1623327_student@qwiklabs.net content_copy É possível listar o ID de projeto com este comando: gcloud config list project content_copy Saída: [core] project = <project_ID> content_copy Exemplo de saída: [core] project = qwiklabs-gcp-44776a13dea667a6 content_copy gcloud está disponível na página Visão geral do gcloud do Google Cloud. Tarefa 1: defina a região e a zona padrão para todos os recursos 1. Defina a zona padrão no Cloud Shell: gcloud config set compute/zone us-central1-a content_copy 2. Defina a região padrão: gcloud config set compute/region us-central1 content_copy Saiba mais sobre como escolher zonas e regiões na documentação Regiões e zonas.
  • 8. Tarefa 2: crie várias instâncias de servidor da Web Neste cenário de balanceamento de carga, crie três instâncias de VM do Compute Engine. Nelas, instale o Apache e adicione uma regra de firewall que permita a chegada do tráfego HTTP. 1. Crie três novas máquinas virtuais na zona padrão e atribua a mesma tag a elas. O código apresentado define a zona como us-central1-a. Com a configuração do campo de tags, é possível mencionar todas essas instâncias simultaneamente, assim como acontece nas regras de firewall. Esses comandos também instalam o Apache em todas as instâncias e atribuem uma página inicial exclusiva a cada uma delas. gcloud compute instances create www1 --image-family debian-9 --image-project debian-cloud --zone us-central1-a --tags network-lb-tag --metadata startup-script="#!/bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html" content_copy gcloud compute instances create www2 --image-family debian-9 --image-project debian-cloud --zone us-central1-a --tags network-lb-tag --metadata startup-script="#!/bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www2</h1></body></html>' | tee /var/www/html/index.html" content_copy gcloud compute instances create www3 --image-family debian-9 --image-project debian-cloud --zone us-central1-a --tags network-lb-tag
  • 9. --metadata startup-script="#!/bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www3</h1></body></html>' | tee /var/www/html/index.html" content_copy 2. Crie uma regra de firewall para permitir o tráfego externo para as instâncias de VM: gcloud compute firewall-rules create www-firewall-network-lb --target-tags network-lb-tag --allow tcp:80 content_copy Agora você precisa dos endereços IP externos das instâncias para verificar se elas estão em execução. 3. Execute o comando a seguir para listá-las. Os endereços IP aparecem na coluna EXTERNAL_IP: gcloud compute instances list content_copy 4. Verifique se cada instância está sendo executada com curl e substitua [IP_ADDRESS] pelo endereço IP de cada uma das VMs: curl http://[IP_ADDRESS] content_copy Verifique seu progresso no laboratório Clique em Verificar meu progresso abaixo para conferir se você criou um grupo de servidores da Web.
  • 10. Tarefa 3: configure o serviço de balanceamento de carga Ao configurar o serviço de balanceamento de carga, as instâncias de máquina virtual recebem os pacotes destinados ao endereço IP externo estático definido. As instâncias criadas com uma imagem do Compute Engine são configuradas automaticamente para lidar com esse endereço IP. Como configurar o balanceamento de carga de rede. 1. Crie um endereço IP externo estático para o balanceador de carga. gcloud compute addresses create network-lb-ip-1 --region us-central1 content_copy (Saída) Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/us- central1/addresses/network-lb-ip-1].content_copy 2. Adicione um recurso legado de verificação de integridade HTTP. gcloud compute http-health-checks create basic-check content_copy 3. Adicione um pool de destino na mesma região de suas instâncias. Execute o comando a seguir para criar o pool de destino e usar a verificação de integridade necessária para o funcionamento do serviço: gcloud compute target-pools create www-pool --region us-central1 --http-health-check basic-check content_copy 4. Adicione as instâncias ao pool: gcloud compute target-pools add-instances www-pool --instances www1,www2,www3 content_copy 5. Adicione uma regra de encaminhamento: gcloud compute forwarding-rules create www-rule --region us-central1
  • 11. --ports 80 --address network-lb-ip-1 --target-pool www-pool content_copy 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. Tarefa 4: envie tráfego para as instâncias Agora que o serviço de balanceamento de carga foi configurado, comece a enviar tráfego para a regra de encaminhamento e veja a distribuição dele por instâncias diferentes. Execute o comando a seguir para visualizar o endereço IP externo da regra de encaminhamento www-rule usada pelo balanceador de carga: gcloud compute forwarding-rules describe www-rule --region us-central1 content_copy Use o comando curl para acessar o endereço IP externo e substitua IP_ADDRESS por um endereço IP externo do comando anterior: while true; do curl -m1 IP_ADDRESS; done content_copy A resposta do comando curl alterna de forma aleatória entre as três instâncias. Se ocorrer alguma falha, aguarde cerca de 30 segundos até que a configuração esteja totalmente carregada e suas instâncias marcadas como íntegras antes de tentar novamente. Use Ctrl + c para interromper a execução do comando.
  • 12. Tarefa 5: crie um balanceador de carga HTTP O balanceamento de carga HTTP(S) é implementado no Google Front End (GFE). Os GFEs são distribuídos globalmente e funcionam em conjunto usando a rede global e o plano de controle do Google. Você pode configurar regras que direcionem as URLs para conjuntos de instâncias diferentes. 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 adequado para elas. Se não tiver capacidade suficiente, elas serão enviadas ao grupo mais próximo seguinte com capacidade. Para configurar um balanceador de carga com um back-end do Compute Engine, suas VMs precisam estar em um grupo de instâncias. O grupo gerenciado de instâncias fornece VMs que executam os servidores de back-end de um balanceador de carga HTTP externo. Neste laboratório, os back-ends exibem os próprios nomes de host. 1. Crie primeiro o modelo do balanceador de carga: gcloud compute instance-templates create lb-backend-template --region=us-central1 --network=default --subnet=default --tags=allow-health-check --image-family=debian-9 --image-project=debian-cloud --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | tee /var/www/html/index.html systemctl restart apache2' content_copy 2. Crie o grupo gerenciado de instâncias com base no modelo. gcloud compute instance-groups managed create lb-backend-group
  • 13. --template=lb-backend-template --size=2 --zone=us-central1-a content_copy 3. Crie a regra de firewall fw-allow-health-check. Ela é uma regra de entrada que permite o tráfego dos sistemas de verificação de integridade do Google Cloud (130.211.0.0/22 e 35.191.0.0/16). Este laboratório usa a tag de destino allow-health-check para identificar as VMs. gcloud compute firewall-rules create fw-allow-health-check --network=default --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check --rules=tcp:80 content_copy 4. Agora que as instâncias estão funcionando, configure um endereço IP externo, estático e global que seus clientes podem usar para acessar o balanceador de carga. gcloud compute addresses create lb-ipv4-1 --ip-version=IPV4 --global content_copy Anote o endereço IPv4 que foi reservado: gcloud compute addresses describe lb-ipv4-1 --format="get(address)" --global content_copy 5. Crie uma verificação de integridade para o balanceador de carga: gcloud compute health-checks create http http-basic-check --port 80 content_copy 6. Crie um serviço de back-end: gcloud compute backend-services create web-backend-service --protocol=HTTP --port-name=http --health-checks=http-basic-check --global content_copy 7. Adicione seu grupo de instâncias como back-end do serviço de back-end:
  • 14. gcloud compute backend-services add-backend web-backend-service --instance-group=lb-backend-group --instance-group-zone=us-central1-a --global content_copy 8. Crie um mapa de URLs para encaminhar as solicitações recebidas ao serviço de back-end padrão: gcloud compute url-maps create web-map-http --default-service web-backend-service content_copy 9. 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-http content_copy 10. Crie uma regra de encaminhamento global para encaminhar as solicitações recebidas para o proxy: gcloud compute forwarding-rules create http-content-rule --address=lb-ipv4-1 --global --target-http-proxy=http-lb-proxy --ports=80 content_copy Verifique seu progresso no laboratório Clique em Verificar meu progresso abaixo para conferir se você criou um balanceador de carga HTTP(S) L7.
  • 15. Tarefa 6: teste o tráfego enviado às instâncias 1. No Console do Cloud, em Menu de navegação, acesse Serviços de rede > Balanceamento de carga. 2. Clique no balanceador de carga que você acabou de criar (web-map-http). 3. Na seção Back-end, clique no nome do back-end e confirme se as VMs estão Íntegras. Se não estiverem, espere alguns instantes e tente recarregar a página. 4. Quando finalmente estiverem íntegras, teste o balanceador de carga com um navegador da Web. Acesse http://IP_ADDRESS/ e substitua IP_ADDRESS pelo endereço IP do balanceador de carga. Isso talvez leve de três a cinco minutos. Se a conexão falhar, aguarde um minuto e atualize o navegador. O navegador deve renderizar uma página que mostra o nome e a zona da instância que a forneceu, por exemplo, Page served from: lb-backend-group-xxxx. Parabéns! Você criou um balanceador de carga HTTP(S) e um de rede. Além disso, praticou o uso de modelos de instância e grupos gerenciados de instâncias.
  • 16. Termine a Quest Este laboratório autoguiado faz parte da Quest Google Cloud Essentials do Qwiklabs. Uma Quest é uma série de laboratórios relacionados que formam o programa de aprendizado. Concluir esta Quest dá a você o selo acima como reconhecimento da sua conquista. Você pode publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba crédito de conclusão imediatamente por fazer este laboratório. Veja outras Quests do Qwiklabs. Comece o próximo laboratório Continue sua Quest com Hello Node Kubernetes ou confira estas sugestões:  Provisionar serviços com o Google Cloud Marketplace  Cloud Monitoring: Qwik Start Próximas etapas/Saiba mais  Como configurar um balanceador de carga de rede com um serviço de back-end  Como configurar um balanceador de carga HTTPS externo simples  Visão geral do balanceamento de carga de HTTP(S) externo
  • 17. Treinamento e certificação do Google Cloud ...ajuda 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 ajudam você a validar e comprovar suas habilidades e conhecimentos das tecnologias do Google Cloud. Manual atualizado em 22 de dezembro de 2020 Laboratório testado em 22 de dezembro de 2020 Copyright 2020 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. Continuar a Quest Compute Engine: Qwik Start — Windows