arrow_back

Como implantar e gerenciar ambientes de nuvem usando o Google Cloud: laboratório com desafio

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Como implantar e gerenciar ambientes de nuvem usando o Google Cloud: laboratório com desafio

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermediário
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP314

Laboratórios autoguiados do Google Cloud

Introdução

Nos laboratórios com desafio, apresentamos uma situação e um conjunto de tarefas. Para concluí-las, em vez de seguir instruções passo a passo, você usará o que aprendeu nos laboratórios da Quest. Um sistema automático de pontuação (mostrado nesta página) avaliará seu desempenho.

Nos laboratórios com desafio, não ensinamos novos conceitos do Google Cloud. O objetivo dessas tarefas é aprimorar aquilo que você já aprendeu, como a alteração de valores padrão ou a leitura e pesquisa de mensagens para corrigir seus próprios erros.

Para alcançar a pontuação de 100%, você precisa concluir todas as tarefas no tempo definido.

Este laboratório é recomendado para estudantes que se inscreveram no curso com o selo de habilidade Deploy and Manage Cloud Environments with Google Cloud. Tudo pronto para começar o desafio?

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 vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, 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 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.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Cenário do desafio

Logotipo da Cymbal Direct

Você trabalha na área de engenharia de nuvem na Cymbal Direct, uma varejista on-line de calçados e roupas que faz vendas diretas ao consumidor e está crescendo rapidamente. Como parte de sua estratégia de escalonamento, a Cymbal Direct adquiriu a Antern, uma loja de e-commerce que tem um grande volume de dados. Integrar esses dados da maneira certa ao ambiente em nuvem da Cymbal Direct será muito vantajoso para expandir ainda mais os negócios e alcançar mais clientes. Para a Cymbal Direct, um dos objetivos dessa aquisição é migrar as cargas de trabalho e a infraestrutura no local da Antern para o Google Cloud.

Os recursos da Antern que precisam ser migrados, copiados ou recriados no ambiente em nuvem da Cymbal Direct são estes:

  • Um banco de dados PostgreSQL (executado em uma máquina virtual) a ser migrado para o Cloud SQL para PostgreSQL.
  • Código do aplicativo como microsserviços conteinerizados a serem implantados no GKE. Durante a fase de testes, foram encontrados problemas de confiabilidade que precisam ser solucionados.
  • Uma rede VPC com duas sub-redes. É preciso criar os firewalls para conectar os novos recursos.
  • Usuários com IAM espalhados por vários projetos que precisam receber as permissões e os papéis adequados para acessar recursos específicos.

Sua tarefa é ajudar a Cymbal Direct a alcançar esses objetivos.

Tarefa 1: migrar um banco de dados independente PostgreSQL para uma instância do Cloud SQL para PostgreSQL

A Antern usa um banco de dados PostgreSQL em execução em uma VM no local para armazenar os pedidos feitos na loja de e-commerce. Como parte da estratégia de aquisição, a Cymbal quer migrar esse banco de dados para o Cloud SQL para PostgreSQL usando o Database Migration Service. Ao executar esse banco de dados no Cloud SQL, além de ter todos os benefícios operacionais do PostgreSQL, a Cymbal também ganha em disponibilidade, estabilidade e segurança em nível empresarial.

Nesta tarefa, você precisa migrar o banco de dados independente PostgreSQL chamado orders, em execução na máquina virtual antern-postgresql-vm, para uma instância do Cloud SQL para PostgreSQL usando um job contínuo de migração do Database Migration Service e conectividade de peering de VPC.

Prepare o banco de dados independente PostgreSQL para a migração

Observação: para executar a primeira tarefa, você precisa fazer login no Antern Project com as credenciais de Antern Owner.

Nesta subtarefa, você precisa preparar o banco de dados PostgreSQL independente de acordo com os requisitos de migração do Database Migration Service.

Para concluir a subtarefa, execute estas etapas:

  1. Ative as APIs do Google Cloud exigidas para o Database Migration Service.

Para funcionar, o Database Migration Service requer a ativação da API Database Migration e da API Service Networking. Você precisa ativar essas APIs no seu projeto.

  1. Faça upgrade dos bancos de dados a serem migrados na máquina virtual antern-postgresql-vm com a extensão pglogical.

Você precisa instalar e configurar a extensão pglogical no banco de dados independente PostgreSQL na VM de instância de computação chamada antern-postgresql-vm. O nome do pacote de extensão de banco de dados pglogical a ser instalado é postgresql-13-pglogical.

Para concluir a configuração da extensão pglogical, edite estes arquivos de configuração do PostgreSQL: /etc/postgresql/13/main/postgresql.conf (para ativar a extensão pglogical) e /etc/postgresql/13/main/pg_hba.conf (para permitir o acesso de todos os hosts).

  1. Crie um usuário exclusivo para a migração no banco de dados independente.

Use o nome de usuário e senha a seguir para configurar esse novo usuário a ser criado na instalação autônoma PostgreSQL na máquina virtual antern-postgresql-vm:

  • Nome de usuário da migração:
  • Senha do usuário da migração: DMS_1s_cool!
  1. Conceda a esse usuário as permissões e os privilégios necessários para fazer a migração dos bancos de dados.

O Database Migration Service requer que o usuário da migração tenha privilégios para relações e esquemas específicos dos bancos de dados a serem migrados, que neste caso são o orders e o postgres.

  1. O Database Migration Service requer que todas as tabelas a serem migradas tenham uma chave primária. Depois de conceder os privilégios necessários ao usuário, execute o comando abaixo para adicionar uma chave primária à tabela inventory_items e sair do psql.
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit Observação: você encontra os requisitos detalhados para migrar um banco de dados independente PostgreSQL para o Cloud SQL para PostgreSQL nos links sugeridos na GUI do Database Migration Service no console do Cloud. Consulte essa documentação se precisar de ajuda e mais informações sobre as etapas a serem executadas. Você também pode conferir as etapas em detalhes no laboratório de migração que faz parte do selo de habilidade.

Clique em Verificar meu progresso para conferir o objetivo. Preparar um banco de dados independente PostgreSQL a ser migrado para o Cloud SQL para PostgreSQL.

Migre o banco de dados independente PostgreSQL para uma instância do Cloud SQL para PostgreSQL

Nesta subtarefa, você precisa realizar a migração usando o Database Migration Service.

Para concluir a subtarefa, execute estas etapas:

  1. Crie um novo perfil de conexão do Database Migration Service para o banco de dados independente PostgreSQL. Para isso, use as credenciais do usuário da migração que você criou.
    • Nome de usuário:
    • Senha: DMS_1s_cool!

Configure o perfil de conexão usando o endereço IP interno da instância de computação de origem.

  1. Crie um novo job contínuo do Database Migration Service.

Na configuração do job de migração, especifique as propriedades a seguir para a instância do Cloud SQL de destino:

  • Defina o ID da instância de destino como .
  • Defina a Senha da instância migrada como supersecret!.
  • Defina a Versão do banco de dados como Cloud SQL for PostgreSQL 13.
  • Defina a Região como .
  • Em Conexões, defina IP público e IP particular.
  • Selecione um tipo de máquina padrão com 1 vCPU.
  • Em Tipo de armazenamento, escolha SSD.
  • Defina a capacidade de armazenamento como 10 GB.

Em Método de conectividade, use Peering de VPC com a rede VPC padrão.

  1. Teste e inicie o job contínuo de migração.
Observação: se você não preparar o ambiente PostgreSQL de origem da maneira correta, a migração vai falhar por completo ou algumas tabelas não serão migradas. Caso estejam faltando tabelas mesmo que pareça que a migração deu certo, confirme se você configurou corretamente todas as tabelas do banco de dados de origem.

Clique em Verificar meu progresso para conferir o objetivo. Migrar um banco de dados independente PostgreSQL para uma instância do Cloud SQL para PostgreSQL.

Promova a instância do Cloud SQL a instância autônoma para leitura e gravação de dados

  • Nesta tarefa, você precisa concluir a migração promovendo a instância do Cloud SQL para PostgreSQL a instância autônoma.

Clique em Verificar meu progresso para conferir o objetivo. Promover uma réplica de migração do Cloud SQL a instância autônoma.

Observação: neste laboratório, você não precisa aguardar a conclusão da migração para promover a réplica a instância autônoma. É possível executar essa ação caso esteja disponível no console.

Tarefa 2: atualizar as permissões e atribuir papéis do IAM a usuários

Agora que você já migrou o banco de dados para uma instância do Cloud SQL para PostgreSQL, é preciso atualizar os papéis de usuários no IAM para as pessoas das equipes da Antern e da Cymbal. Em termos mais específicos, conceda ao usuário Antern Editor o acesso ao banco de dados Cloud SQL, dê a Cymbal Owner o acesso de administrador para que tenha controle total sobre os recursos do Cloud SQL e ative para Cymbal Editor a permissão para edição no projeto.

Observação: para executar esta tarefa, você precisa fazer login no Antern Project com as credenciais de Antern Owner.
  1. Conceda ao usuário Antern Editor o papel de Usuário da instância do Cloud SQL no banco de dados CloudSQL. O nome de usuário é: .

    • Acesse o banco de dados Cloud SQL que você acabou de criar. Na seção Usuários, adicione a conta de usuário Antern Editor ao banco de dados que você criou. Use a autenticação do Cloud IAM e defina o nome de usuário acima como principal.
  2. Conceda ao usuário Cymbal Owner o papel de Administrador do Cloud SQL no banco de dados CloudSQL. O nome de usuário é: .

    • Acesse o banco de dados Cloud SQL que você acabou de criar. Na seção Usuários, adicione a conta de usuário Cymbal Owner ao banco de dados que você criou. Use a autenticação do Cloud IAM e defina o nome de usuário acima como principal.
  3. Mude o papel do usuário Cymbal Editor de Leitor para Editor. O nome de usuário é: .

Clique em Verificar meu progresso para conferir o objetivo. Atualizar as permissões e atribuir papéis do IAM a usuários.

Tarefa 3: criar redes e firewalls

Como parte da estratégia de aquisição, é necessário recriar no projeto da Cymbal uma rede VPC para conectar os recursos internamente. Em termos específicos, você precisa criar uma rede VPC com duas sub-redes e firewalls para permitir a conexão entre os recursos. Outro requisito para essa rede é que sua equipe precisa conseguir se conectar a máquinas Linux e Windows usando SSH e RDP, além da capacidade de diagnosticar problemas de comunicação por ICMP.

Nesta tarefa, você vai criar uma rede VPC e regras de firewall para atender a esses requisitos.

Observação: para executar esta tarefa, você precisa fazer login no Cymbal Project com as credenciais de Cymbal Owner.

Crie uma rede VPC com duas sub-redes

  1. Crie uma rede VPC com o nome e duas sub-redes: e . Use o modo de roteamento dinâmico Regional.

  2. Para , defina a região como .

    • Defina o Tipo de pilha de IP como IPv4 (pilha única).
    • Defina o intervalo de IPv4 como 10.10.10.0/24.
  3. Para , defina a região como .

    • Defina o Tipo de pilha de IP como IPv4 (pilha única).
    • Defina o intervalo de IPv4 como 10.10.20.0/24.

Crie as regras de firewall para a rede VPC

  1. Crie uma regra de firewall chamada .

    • Para a rede, use .
    • Defina a prioridade como 65535, o tráfego como Entrada e a ação como Permitir.
    • Defina que a regra é aplicável a todas as instâncias na rede e que os intervalos de endereços IP incluem todos os intervalos IPv4.
    • Defina o protocolo como TCP e a porta como 22.
  2. Crie uma regra de firewall chamada .

    • Para a rede, use .
    • Defina a prioridade como 65535, o tráfego como Entrada e a ação como Permitir.
    • Defina que a regra é aplicável a todas as instâncias na rede e que os intervalos de endereços IP incluem todos os intervalos IPv4.
    • Defina o protocolo como TCP e a porta como 3389.
  3. Crie uma regra de firewall chamada .

    • Para a rede, use .
    • Defina a prioridade como 65535, o tráfego como Entrada e a ação como Permitir.
    • Defina que a regra é aplicável a todas as instâncias na rede e que os intervalos de endereços IP incluem todos os intervalos IPv4.
    • Defina o protocolo como ICMP.

Clique em Verificar meu progresso para conferir o objetivo. Criar redes e firewalls.

Tarefa 4: resolver problemas e corrigir um cluster corrompido do GKE

Observação: para executar esta tarefa, você precisa fazer login no Cymbal Project com as credenciais de Cymbal Owner.

Após a implantação do cluster do GKE para o site de e-commerce, sua equipe informou que foram identificados alguns problemas conhecidos que precisam ser resolvidos. São três bugs a serem corrigidos:

  • Bug 1: a latência do serviço de front-end está muito grande.
  • Bug 2: as classificações estão desatualizadas.
  • Bug 3: está ocorrendo uma falha no serviço de recomendações.

Como parte da estratégia de aquisição, você recebeu a tarefa de corrigir o . Outros engenheiros da equipe deram mais informações sobre cada um dos bugs encontrados. Você pode usar essas informações para resolver o problema.

Dicas:

  • Bug 1: acesse o IP externo do aplicativo de demonstração para constatar se ocorreram mudanças notáveis. É possivel usar os painéis de monitoramento para conferir as métricas associadas a cada serviço.
  • Bug 2: as classificações dos produtos são gerenciadas pelo "serviço de classificação" hospedado no Google AppEngine. Para que esses dados estejam sempre atualizados, periodicamente são feitas chamadas a um endpoint de API que coleta todas as pontuações das novas classificações mais recentes de cada produto e calcula um novo valor de classificação. Verifique se o serviço de classificação está funcionando normalmente. Para fazer isso, inspecione os logs do serviço no AppEngine. Outra pessoa da equipe mencionou que o problema pode estar no arquivo main.py.
  • Bug 3: navegue pelo site até encontrar um problema. Use o Cloud Logging para analisar os logs exportados por cada serviço. Outra pessoa da equipe mencionou que essa falha pode ter sido causada pela fase de conversão de números inteiros no serviço.

Crie um coletor de registros do BigQuery

Antes de corrigir o problema, você recebeu a tarefa de criar um coletor de registros para enviar os erros associados ao serviço corrompido. Depois, você precisa usar o IAM para conceder aos usuários da Antern níveis de acesso distintos no BigQuery para que possam analisar e interagir com o conjunto de dados.

  1. Use a Análise de registros para investigar o app em execução no GKE e descobrir se o serviço apresenta erros. Dica: procure logs com gravidade do tipo ERRO.

  2. Depois de identificar os logs de erro do serviço, crie um coletor para enviar esses registros para o BigQuery.

    • Nomeie o coletor como .
    • Como destino, crie um conjunto de dados do BigQuery chamado gke_app_errors_sink e localizado em us (várias regiões nos Estados Unidos).
    • No filtro de inclusão, acrescente: resource.type, e severity.
  3. Conceda ao usuário Antern Editor o papel de Leitor de dados do BigQuery no projeto. O nome de usuário é: .

  4. Conceda ao usuário Antern Owner o papel de Administrador do BigQuery no projeto. O nome de usuário é: .

Clique em Verificar meu progresso para conferir o objetivo. Criar um coletor de registros do BigQuery.

Corrija o cluster do GKE

Depois que você criou um coletor de registros no BigQuery para enviar os erros do serviço, alguns engenheiros da sua equipe analisaram os logs e determinaram o que fazer para corrigir o problema. Nesta tarefa, você vai fazer o download do código da solução e executá-lo para corrigir o serviço no cluster do GKE.

  1. Você precisa se conectar ao cluster cloud-ops-sandbox do GKE e executar os comandos a seguir para corrigir o problema. Responda às perguntas de verificação quando elas surgirem.
git clone --depth 1 --branch csb_1220 https://github.com/GoogleCloudPlatform/cloud-ops-sandbox.git cd cloud-ops-sandbox/sre-recipes ./sandboxctl sre-recipes restore {{{ cymbal_project.startup_script.recipe_number | recipe number }}} ./sandboxctl sre-recipes verify {{{ cymbal_project.startup_script.recipe_number | recipe number }}}
  1. Verifique se o site de e-commerce está funcionando corretamente.

Parabéns!

Selo de habilidade Deploy and Manage Cloud Environments

Conquiste seu próximo selo de habilidade

Este laboratório autoguiado faz parte do curso com selo de habilidade Deploy and Manage Cloud Environments with Google Cloud. Ao concluir o curso, você ganha o selo acima como reconhecimento pela sua conquista. Ele pode ser adicionado ao seu currículo e compartilhado nas plataformas sociais. Use #GoogleCloudBadge para anunciar sua conquista.

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 5 de fevereiro de 2024

Laboratório testado em 20 de setembro de 2023

Copyright 2024 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.