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 Como criar infraestrutura com o Terraform no 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 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.
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
- 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
- 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.
-
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ê.
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.
-
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.
- 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
-
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
.
-
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 prefixo terraform/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. 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
-
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 para e2-standard-2
nas três instâncias.
-
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
- 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: usar 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
10.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.
-
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 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.
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 Como criar infraestrutura com o Terraform no 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 30 de abril de 2025
Laboratório testado em 30 de abril de 2025
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.