arrow_back

Build Infrastructure with Terraform on 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

Build Infrastructure with Terraform on 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

GSP345

Laboratórios autoguiados do Google Cloud

Visão geral

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 Build Infrastructure with Terraform on Google Cloud. Tudo pronto para começar o desafio?

Conhecimentos avaliados:

  • Importar a infraestrutura atual para a configuração do Terraform
  • Criar e fazer referência aos seus módulos do Terraform
  • Adicionar um back-end remoto à configuração
  • Usar e implementar um módulo do Terraform Registry
  • Provisionar novamente, destruir e atualizar a infraestrutura
  • Testar a conectividade entre os recursos criados

Configuração e requisitos

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

Você faz estágio na área de engenharia da nuvem em uma nova startup. Como seu primeiro projeto, pediram que você criasse uma infraestrutura de maneira rápida e eficiente, além de gerar um mecanismo de acompanhamento para consultas e mudanças futuras. Você recebeu orientações para usar o Terraform na realização dessa tarefa.

Nesse projeto, você vai usar o Terraform para criar, implantar e acompanhar a infraestrutura no servidor preferido da startup, o Google Cloud. Você também vai precisar importar algumas instâncias com problemas de gerenciamento para sua configuração e fazer as correções necessárias.

Neste laboratório, você vai usar o Terraform para importar e criar várias instâncias de VM, uma rede VPC com duas sub-redes e uma regra de firewall para a VPC que permita conexões entre as duas instâncias. Você também vai criar um bucket do Cloud Storage para hospedar seu back-end remoto.

Observação: no final das seções, planeje (plan) e aplique (apply) suas mudanças para que o trabalho seja verificado. Como vamos atualizar muitos arquivos do Terraform neste laboratório, use o caminho correto do arquivo e mantenha o recuo adequado.

Tarefa 1: crie os arquivos de configuração

  1. No Cloud Shell, crie seus arquivos de configuração do Terraform e uma estrutura de diretórios como esta:
main.tf variables.tf modules/ └── instances ├── instances.tf ├── outputs.tf └── variables.tf └── storage ├── storage.tf ├── outputs.tf └── variables.tf
  1. Preencha os arquivos variables.tf no diretório raiz e nos módulos. Adicione três variáveis para cada arquivo: region, zone e project_id. Como valores padrão, use , e seu ID do projeto do Google Cloud.
Observação: use essas variáveis nas configurações de recursos sempre que possível.
  1. Adicione o bloco do Terraform e o provedor do Google (link em inglês) ao arquivo main.tf. Verifique se o argumento de zona foi adicionado com os argumentos de projeto e região no bloco do provedor do Google.

  2. Inicialize o Terraform.

Tarefa 2: importe a infraestrutura

  1. No Console do Google Cloud, no Menu de navegação, clique em Compute Engine > Instâncias de VM. Duas instâncias chamadas tf-instance-1 e tf-instance-2 já foram criadas para você.
Observação: ao clicar em uma das instâncias, é possível ter acesso ao ID da instância, à imagem do disco de inicialização e ao tipo de máquina. Todas essas informações são necessárias para escrever corretamente as configurações e fazer a importação delas para o Terraform.
  1. Importe as instâncias atuais para o módulo instances. Para isso, siga estas etapas:
  • Primeiro, adicione a referência do módulo ao arquivo main.tf e reinicialize o Terraform.
  • Em seguida, escreva as configurações do recurso no arquivo instances.tf para corresponder às instâncias atuais.
    • Dê às instâncias os nomes tf-instance-1 e tf-instance-2.
    • Neste laboratório, a configuração do recurso deve ser mínima. Para isso, você vai precisar incluir estes argumentos extras na configuração: machine_type, boot_disk, network_interface, metadata_startup_script e allow_stopping_for_update. No caso dos últimos dois argumentos, use a configuração a seguir para que não seja necessário recriá-la:
    metadata_startup_script = <<-EOT #!/bin/bash EOT allow_stopping_for_update = true
  • Depois de escrever as configurações do recurso no módulo, use o comando terraform import e importe essas preferências para o módulo instances.
  1. Aplique as alterações. Como você não preencheu todos os argumentos na configuração, o código apply vai atualizar as instâncias atuais. Essa opção é aceita no laboratório, mas é necessário preencher todos os argumentos corretamente antes da importação em um ambiente de produção.

Clique em Verificar meu progresso para conferir o objetivo. Importe a infraestrutura.

Tarefa 3: configure um back-end remoto

  1. Crie um recurso de bucket do Cloud Storage no módulo storage. Para nomear o bucket, use . Para os outros argumentos, use estes valores:

    • location = "US"
    • force_destroy = true
    • uniform_bucket_level_access = true
Observação: também é possível adicionar valores de saída ao arquivo outputs.tf.
  1. Adicione a referência do módulo ao arquivo main.tf. Inicialize o módulo e aplique (apply) as mudanças para criar o bucket usando o Terraform.

  2. Configure o bucket de armazenamento como o back-end remoto no arquivo main.tf. Para possibilitar a avaliação, use o prefixo terraform/state.

  3. Se a configuração estiver correta, após o comando init, o Terraform vai perguntar se você quer copiar os dados de estado para o novo back-end. Digite yes no prompt.

Clique em Verificar meu progresso para conferir o objetivo. Configure um back-end remoto.

Tarefa 4: modifique e atualize a infraestrutura

  1. Acesse o módulo instances e modifique o recurso tf-instance-1 para usar um tipo de máquina e2-standard-2.

  2. Altere o recurso tf-instance-2 para usar um tipo de máquina e1-standard-2.

  3. Adicione um terceiro recurso de instâncias chamado . Use um tipo de máquina e2-standard-2 para ele. Mude o tipo de máquina para e2-standard-2 nas três instâncias.

  4. Inicialize o Terraform e aplique (apply) as mudanças.

Observação: como alternativa, adicione valores de saída aos recursos no arquivo outputs.tf do módulo.

Clique em Verificar meu progresso para conferir o objetivo. Modifique e atualize a infraestrutura.

Tarefa 5: destrua os recursos

  1. Remova o recurso do arquivo de configuração para destruir a terceira instância . Depois disso, inicialize o Terraform e aplique (apply) as mudanças.

Clique em Verificar meu progresso para conferir o objetivo. Destrua os recursos.

Tarefa 6: use um módulo do Registry

  1. No Terraform Registry, procure o módulo network (em inglês).

  2. Adicione o módulo ao arquivo main.tf. Use as configurações a seguir:

  • Utilize a versão 6.0.0. Outras versões podem gerar erros de compatibilidade.
  • Nomeie a VPC como e use o modo de roteamento global.
  • Especifique 2 sub-redes na região chamadas de subnet-01 e subnet-02. Para os argumentos de sub-rede, é necessário incluir um Nome, um IP e uma Região.
  • Use o IP 10.10.10.0/24 para subnet-01 e 10.10.20.0/24 para subnet-02.
  • Como essa VPC não exige intervalos secundários ou rotas associadas, omita essas opções da configuração.
  1. Depois de escrever a configuração do módulo, inicialize o Terraform e execute a aplicação (apply) para criar as redes.

  2. Em seguida, acesse o arquivo instances.tf e atualize os recursos de configuração para conectar tf-instance-1 a subnet-01 e tf-instance-2 a subnet-02.

Observação: nessa configuração de instância, você vai precisar atualizar o argumento de rede para e adicionar o argumento de sub-rede com a sub-rede certa para cada instância.

Clique em Verificar meu progresso para conferir o objetivo. Use um módulo do Registry.

Tarefa 7: configure um firewall

  • Crie um recurso de regra de firewall chamado tf-firewall no arquivo main.tf.
    • Essa regra de firewall deve permitir que a rede autorize conexões de entrada em todos os intervalos de IP (0.0.0.0/0) na porta TCP 80.
    • Adicione o argumento source_ranges com o intervalo de IP correto (0.0.0.0/0).
    • Inicialize o Terraform e aplique (apply) as mudanças.
Observação: para recuperar o argumento network obrigatório, inspecione o estado e encontre o ID ou o self_link do recurso google_compute_network que você criou. Essa informação fica no formulário projects/PROJECT_ID/global/networks/.

Clique em Verificar meu progresso para conferir o objetivo. Configure um firewall.

Teste de conectividade (opcional)

Depois de criar uma regra de firewall para permitir conexões internas na VPC, é possível executar um teste de conectividade de rede.

  1. As duas VMs precisam estar em execução.

  2. Acesse Network Intelligence > Testes de conectividade. Faça o teste nas duas VMs para verificar se elas são acessíveis. Depois disso, a conectividade entre as instâncias estará validada.

Observação: confira se a API Network Management está ativada. Caso não esteja, clique em Ativar.

A configuração deve ser parecida com esta:

Página de configurações

Parabéns!

Se você conseguiu importar, criar, modificar e configurar a arquitetura no tempo estabelecido, demonstrou grandes habilidades com o Terraform. Neste laboratório, você importou duas VMs pré-configuradas para o Terraform e criou um bucket do Cloud Storage para configurar seu back-end. Em seguida, você adicionou outra instância e praticou a modificação e atualização de configurações de recursos nos seus módulos. Por último, você usou um módulo do Terraform Registry para criar uma VPC com duas sub-redes, conectou as instâncias a ela e criou uma regra de firewall para permitir essas conexões.

Build Infrastructure with Terraform on Google Cloud

Conquiste seu próximo selo de habilidade

Este laboratório autoguiado faz parte do curso com selo de habilidade Build Infrastructure with Terraform on Google Cloud. Ao concluir o curso, você ganha o selo acima como reconhecimento pela sua conquista. Compartilhe o selo no seu currículo e nas redes sociais e use #GoogleCloudBadge para anunciar sua conquista.

Próximas etapas

Agora que você mostrou suas habilidades com o Terraform, talvez queira se inscrever na Certificação de automação de infraestrutura da HashiCorp. A certificação Terraform Associate é voltada para engenheiros de nuvem especializados em operações, TI ou desenvolvimento que conhecem os conceitos e habilidades básicos associados ao código aberto do Terraform da HashiCorp. As pessoas que tiverem experiência com o Terraform em produção terão mais sucesso nesse teste. No entanto, a realização dos objetivos do teste em um ambiente de demonstração pessoal também pode ser útil. Portanto, se você quiser aprimorar seu conhecimento e testar suas habilidades com a automação de infraestruturas, recomendamos que você confira o guia de estudo, a análise do exame e faça a inscrição (links em inglês) quando quiser. Boa sorte!

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 22 de março de 2024

Laboratório testado em 22 de março de 2024

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.