Checkpoints
Import infrastructure
/ 20
Configure a remote backend
/ 10
Modify and update infrastructure
/ 20
Destroy resources
/ 10
Use a Module from the Registry
/ 20
Configure a firewall
/ 20
Build Infrastructure with Terraform on Google Cloud: laboratório com desafio
- GSP345
- Visão geral
- Configuração e requisitos
- Cenário do desafio
- Tarefa 1: crie os arquivos de configuração
- Tarefa 2: importe a infraestrutura
- Tarefa 3: configure um back-end remoto
- Tarefa 4: modifique e atualize a infraestrutura
- Tarefa 5: destrua os recursos
- Tarefa 6: use um módulo do Registry
- Tarefa 7: configure um firewall
- Teste de conectividade (opcional)
- Parabéns!
GSP345
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 detalhadas, você usará o que aprendeu nos laboratórios do curso. Um sistema automático de pontuação (mostrado nesta página) vai 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).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
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.
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
- No Cloud Shell, crie seus arquivos de configuração do Terraform e uma estrutura de diretórios como esta:
- Preencha os arquivos
variables.tf
no diretório raiz e nos módulos. Adicione três variáveis para cada arquivo:region
,zone
eproject_id
. Como valores padrão, use, e seu ID do projeto do Google Cloud.
-
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. -
Inicialize o Terraform.
Tarefa 2: importe a infraestrutura
- 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ê.
- 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
etf-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
eallow_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 - Dê às instâncias os nomes
- 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.
- 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.
Tarefa 3: configure um back-end remoto
-
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
outputs.tf
. -
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. -
Configure o bucket de armazenamento como o back-end remoto no arquivo
main.tf
. Para possibilitar a avaliação, use o prefixoterraform/state
. -
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. Digiteyes
no prompt.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 4: modifique e atualize a infraestrutura
-
Acesse o módulo instances e modifique o recurso tf-instance-1 para usar um tipo de máquina
e2-standard-2
. -
Altere o recurso tf-instance-2 para usar um tipo de máquina
e1-standard-2
. -
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 parae2-standard-2
nas três instâncias. -
Inicialize o Terraform e aplique (
apply
) as mudanças.
outputs.tf
do módulo. Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 5: destrua os recursos
- 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.
Tarefa 6: use um módulo do Registry
-
No Terraform Registry, procure o módulo network (em inglês).
-
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
esubnet-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
parasubnet-01
e10.10.20.0/24
parasubnet-02
. - Como essa VPC não exige intervalos secundários ou rotas associadas, omita essas opções da configuração.
-
Depois de escrever a configuração do módulo, inicialize o Terraform e execute a aplicação (
apply
) para criar as redes. -
Em seguida, acesse o arquivo
instances.tf
e atualize os recursos de configuração para conectar tf-instance-1 asubnet-01
e tf-instance-2 asubnet-02
.
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.
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.
- Essa regra de firewall deve permitir que a rede
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.
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.
-
As duas VMs precisam estar em execução.
-
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.
A configuração deve ser parecida com esta:
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.
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.