arrow_back

Infraestrutura como código com o Terraform

Acesse mais de 700 laboratórios e cursos

Infraestrutura como código com o Terraform

Laboratório 1 hora universal_currency_alt 1 crédito show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Informações gerais

Neste laboratório, você vai usar o Terraform para criar, atualizar e destruir recursos do Google Cloud. Você vai começar definindo o Google Cloud como provedor.

Depois, você vai criar uma instância de VM sem mencionar a rede para conferir como o Terraform analisa o código de configuração. Em seguida, você vai incluir a rede no código e criar uma instância de VM no Google Cloud.

Você também vai aprender a atualizar a instância de VM. Você vai adicionar tags à configuração e editar o tipo de máquina. Depois, você vai executar os comandos do Terraform para destruir os recursos criados.

Objetivos

Neste laboratório, você vai aprender a executar as seguintes tarefas:

  • Verificar a instalação do Terraform
  • Definir o Google Cloud como provedor
  • Criar, mudar e destruir recursos do Google Cloud usando o Terraform

Tarefa 1. Fazer login no console do Cloud

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:

    • O botão Abrir console do Google Cloud
    • O tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações, se forem necessárias
  2. Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.

    O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.

    {{{user_0.username | "Nome de usuário"}}}

    Você também encontra o Nome de usuário no painel Detalhes do laboratório.

  4. Clique em Seguinte.

  5. Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.

    {{{user_0.password | "Senha"}}}

    Você também encontra a Senha no painel Detalhes do laboratório.

  6. Clique em Seguinte.

    Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  7. 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 testes gratuitos.

Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.

Observação: para acessar uma lista de produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo ou digite o nome do serviço ou produto no campo Pesquisar. Ícone do menu de navegação

Tarefa 2: Verificar a instalação do Terraform

  1. No menu do Google Cloud, clique em Ativar o Cloud Shell (Ativar o Cloud Shell). Se aparecer uma caixa de diálogo, clique em Continuar.

  2. Se for solicitado, clique em "Continuar".

  3. Para confirmar se o Terraform está instalado, execute o seguinte comando:

Observação: não se preocupe se você receber um aviso informando que a versão do Terraform está desatualizada, porque as instruções do laboratório vão funcionar com o Terraform v1.0.5 e versões mais recentes. terraform --version Observação: os downloads da versão mais recente estão disponíveis no site do Terraform. O Terraform é distribuído como um pacote binário para todas as plataformas e arquiteturas suportadas, e o Cloud Shell usa o Linux de 64 bits.

A saída será parecida com esta (não copie, este é o exemplo de saída):

Terraform v1.5.7

O Terraform vem pré-instalado no Cloud Shell. Com o Terraform já instalado, é possível criar algumas infraestruturas diretamente.

Tarefa 3. Adicionar o Google Cloud como provedor

  1. Crie o arquivo main.tf:
touch main.tf
  1. Na barra de ferramentas do Cloud Shell, clique em Abrir Editor. Clique em Abrir em uma nova janela para deixar o Editor aberto em uma guia separada.

  2. Copie o código a seguir no arquivo main.tf.

terraform { required_providers { google = { source = "hashicorp/google" } } } provider "google" { project = "{{{project_0.project_id | Project ID}}}" region = "{{{project_0.default_region | Region}}}" zone = "{{{project_0.default_zone | Zone}}}" }
  1. Clique em Arquivo > Salvar.
  2. Mude para o Cloud Shell e execute o comando terraform init.
terraform init

A saída será parecida com esta (não copie, este é o exemplo de saída):

Initializing the backend... Initializing provider plugins... - Finding hashicorp/google versions matching "4.15.0"... - Installing hashicorp/google v4.15.0... - Installed hashicorp/google v4.15.0 (signed by HashiCorp) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository so that Terraform can guarantee to make the same selections by default when you run "terraform init" in the future. Terraform has been successfully initialized!

Tarefa 4. Criar a infraestrutura

Vamos tentar criar uma instância de computação sem especificar o parâmetro de rede e conferir como o Terraform processa essa configuração.

  1. Mude para a janela do editor. No arquivo main.tf, insira o seguinte bloco de código.
resource "google_compute_instance" "terraform" { name = "terraform" machine_type = "e2-micro" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } }
  1. Para salvar o arquivo main.tf, clique em Arquivo > Salvar.

  2. Agora, execute o seguinte comando para conferir se o mecanismo de computação será criado.

terraform plan
  1. Se a configuração falhar, será mostrado o seguinte erro. Isso acontece porque não é possível configurar um mecanismo de computação sem uma rede.
│ Error: Insufficient network_interface blocks │ │ on main.tf line 15, in resource "google_compute_instance" "terraform": │ 15: resource "google_compute_instance" "terraform" { │ │ At least 1 "network_interface" blocks are required.
  1. Agora, inclua o seguinte segmento de código ao bloco google_compute_instance para adicionar a rede.
network_interface { network = "default" access_config { } }

O código final no arquivo main.tf vai ficar assim:

terraform { required_providers { google = { source = "hashicorp/google" } } } provider "google" { project = "{{{project_0.project_id | Project ID}}}" region = "{{{project_0.default_region | Region}}}" zone = "{{{project_0.default_zone | Zone}}}" } resource "google_compute_instance" "terraform" { name = "terraform" machine_type = "e2-micro" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { } } }
  1. Para salvar o arquivo main.tf, clique em Arquivo > Salvar.
  2. Agora, execute o comando terraform plan para conferir se o mecanismo de computação será criado.
terraform plan

Clique em Autorizar quando solicitado.

A saída será parecida com esta (não copie, este é o exemplo de saída):

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # google_compute_instance.terraform vai ser criada + resource "google_compute_instance" "terraform" { + can_ip_forward = false + cpu_platform = (known after apply) + current_status = (known after apply) + deletion_protection = false ... Plan: 1 to add, 0 to change, 0 to destroy.
  1. Para aplicar as mudanças desejadas, execute o seguinte comando.
terraform apply
  1. Digite yes para confirmar as ações planejadas.

A saída será parecida com esta (não copie, este é o exemplo de saída):

... Apply complete! Resources: 1 added, 0 changed, 0 destroyed. Observação: se ocorrer um erro, revise as etapas anteriores para verificar se o código correto foi inserido no arquivo main.tf.

Clique em Verificar meu progresso para confirmar se o mecanismo de computação foi criado.

Criar a infraestrutura

Verificar no console do Cloud

Verifique se os recursos foram criados no console do Google Cloud.

  1. No console do Google Cloud, acesse o Menu de navegação (Menu de navegação) e clique em Compute Engine > Instâncias de VM.

  2. Confira a instância terraform que foi criada. terraform_instance

Tarefa 5. Mudar a infraestrutura

Nesta tarefa, você vai realizar dois tipos de mudanças na infraestrutura:

  • Adicionar tags de rede
  • Editar o tipo de máquina

Adicionar tags ao recurso de computação

O Terraform não serve só para criar, mas também para mudar recursos.

  1. Adicione um argumento tags à instância que acabamos de criar para que ela fique assim:
resource "google_compute_instance" "terraform" { name = "terraform" machine_type = "e2-micro" tags = ["web", "dev"] # ... }
  1. Execute terraform plan.
terraform plan
  1. Execute terraform apply para atualizar a instância.
terraform apply

A saída será parecida com esta (não copie, este é o exemplo de saída):

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # google_compute_instance.terraform vai ser atualizada no local ~ resource "google_compute_instance" "terraform" { id = "projects/qwiklabs-gcp-00-da04aeabe9ab/zones/us-central1-c/instances/terraform" name = "terraform" ~ tags = [ + "dev", + "web", ] # (17 atributos inalterados ocultos) # (4 blocos inalterados ocultos) } Plan: 0 to add, 1 to change, 0 to destroy.

O prefixo ~ significa que o Terraform vai atualizar o recurso correspondente.

  1. Responda yes quando solicitado para que o Terraform adicione as tags à sua instância.

Clique em Verificar meu progresso para conferir se as tags foram adicionadas. Adicionar tags ao recurso de computação

Editar o tipo de máquina sem interromper a VM

Não é possível mudar o tipo de máquina de uma VM se ela estiver sendo executada. Vamos conferir como o Terraform processa uma mudança de tipo de máquina quando a VM está em execução.

  1. Acesse o arquivo main.tf e edite o argumento machine_type da instância fornecida pelo Terraform de e2-micro para e2-medium. Ele precisa ficar assim:
resource "google_compute_instance" "terraform" { name = "terraform" machine_type = "e2-medium" tags = ["web", "dev"] # ... }
  1. Execute terraform plan.
terraform plan
  1. Execute terraform apply de novo para atualizar a instância.
terraform apply

O comando "terraform apply" vai falhar e será mostrado um aviso parecido com este (não copie, porque é apenas um exemplo de saída):

╷ │ Error: Changing the machine_type, min_cpu_platform, service_account, enable_display, shielded_instance_config, scheduling.node_affinities or network_interface.[#d].(network/subnetwork/subnetwork_project) or advanced_machine_features on a started instance requires stopping it. To acknowledge this, please set allow_stopping_for_update = true in your config. You can also stop it by setting desired_status = "TERMINATED", but the instance will not be restarted after the update. │ │ with google_compute_instance.terraform, │ on main.tf line 31, in resource "google_compute_instance" "terraform": │ 31: resource "google_compute_instance" "terraform" {
  1. Não é possível mudar o tipo de máquina se a VM estiver sendo executada. Para garantir que a VM seja interrompida antes de atualizar machine_type, defina o argumento allow_stopping_for_update como true para que o código fique assim:
resource "google_compute_instance" "terraform" { name = "terraform" machine_type = "e2-medium" tags = ["web", "dev"] boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = "default" access_config { } } allow_stopping_for_update = true }
  1. Execute terraform plan.
terraform plan
  1. Execute terraform apply de novo para atualizar a instância.
terraform apply
  1. Responda yes quando solicitado.

  2. Para conferir a mudança no tipo de máquina e as tags adicionadas, acesse Instâncias de VM no console do Cloud e clique na instância terraform criada. machine_type network_tags

Clique em Verificar meu progresso para conferir se o tipo de máquina do Compute Engine fornecido pelo Terraform é e2-medium. Mudar o tipo de máquina na infraestrutura

Tarefa 6. Destruir a infraestrutura

Agora você já sabe criar e mudar a infraestrutura. Antes de passar para a criação de vários recursos e mostrar as dependências deles, você vai conferir como destruir completamente a infraestrutura gerenciada pelo Terraform.

  1. Execute o comando a seguir. Responda yes para executar esse plano e destruir a infraestrutura:
terraform destroy

O prefixo - indica que a instância e a rede serão destruídas.

  1. Para confirmar que a instância fornecida pelo Terraform não existe mais, acesse Instâncias de VM no console do Cloud.

Clique em Verificar meu progresso para conferir se a infraestrutura foi destruída. Destruir a infraestrutura

Parabéns!

Neste laboratório, você aprendeu a executar as seguintes tarefas:

  • Verificar a instalação do Terraform
  • Definir o Google Cloud como provedor
  • Criar, mudar e destruir recursos do Google Cloud usando o Terraform

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

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.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

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.