Vista geral do Terraform no Google Cloud

O Hashicorp Terraform é uma ferramenta de infraestrutura como código (IaC) que lhe permite aprovisionar e gerir a infraestrutura na nuvem. O Terraform oferece plug-ins denominados fornecedores que lhe permitem interagir com fornecedores de nuvem e outras APIs. Pode usar o fornecedor Terraform para Google Cloud (Google Cloud fornecedor) para aprovisionar e gerir Google Cloud a infraestrutura.

Vantagens da utilização do Terraform

Esta secção explica algumas das vantagens da utilização do Terraform para aprovisionar e gerir Google Cloud a infraestrutura:

  • O Terraform é a ferramenta mais usada para aprovisionar e automatizar a infraestrutura.Google Cloud Pode usar o Google Cloud fornecedor para configurar e gerir todos os Google Cloud recursos através da mesma sintaxe declarativa e ferramentas.
  • O Terraform permite-lhe especificar o estado final preferido para a sua infraestrutura. Em seguida, pode implementar a mesma configuração várias vezes para criar ambientes de desenvolvimento, teste e produção reproduzíveis.
  • O Terraform permite-lhe gerar um plano de execução que mostra o que o Terraform vai fazer quando aplicar a sua configuração. Isto permite-lhe evitar surpresas quando modifica a sua infraestrutura através do Terraform.
  • O Terraform permite-lhe criar pacotes e reutilizar código comum sob a forma de módulos. Os módulos apresentam interfaces padrão para criar recursos na nuvem. Simplificam os projetos aumentando a legibilidade e permitem que as equipas organizem a infraestrutura em blocos legíveis. Além disso, Google Cloud publica vários módulos implementáveis com opiniões como projetos e exemplos de introdução como soluções de início rápido.
  • O Terraform regista o estado atual da sua infraestrutura e permite-lhe gerir o estado de forma eficaz. O ficheiro de estado do Terraform monitoriza todos os recursos numa implementação.

Usar o Terraform

O Terraform tem uma sintaxe declarativa e orientada para a configuração, que pode usar para criar a infraestrutura que quer aprovisionar. Com esta sintaxe, define o estado final preferencial da sua infraestrutura num ficheiro de configuração do Terraform. Em seguida, vai usar a CLI do Terraform para aprovisionar a infraestrutura com base no ficheiro de configuração.

Os passos seguintes explicam como funciona o Terraform:

  1. Descreve a Google Cloud infraestrutura que quer aprovisionar num ficheiro de configuração do Terraform. Não precisa de criar código a descrever como aprovisionar esta configuração.
  2. Executa o comando terraform plan, que avalia a sua configuração e gera um plano de execução. Pode rever o plano e fazer alterações conforme necessário.
  3. Em seguida, executa o comando terraform apply, que realiza as seguintes ações:
    • Aprovisiona a sua infraestrutura com base no seu plano de execução invocando as APIs correspondentes em segundo plano. Google Cloud
    • Cria um ficheiro de estado do Terraform, que é um mapeamento formatado em JSON dos recursos no ficheiro de configuração para os recursos na infraestrutura do mundo real. O Terraform usa este ficheiro para saber o estado mais recente da sua infraestrutura e para determinar quando criar, atualizar e destruir recursos.
  4. Posteriormente, quando executa terraform apply, o Terraform usa o mapeamento no ficheiro de estado para comparar a infraestrutura existente com o código e fazer atualizações conforme necessário:
    • Se um objeto de recurso definido no ficheiro de configuração não existir no ficheiro de estado, o Terraform cria-o.
    • Se um objeto de recurso existir no ficheiro de estado, mas tiver uma configuração diferente da do ficheiro de configuração, o Terraform atualiza o recurso para corresponder ao ficheiro de configuração.
    • Se um objeto de recurso no ficheiro de estado corresponder ao seu ficheiro de configuração, o Terraform deixa o recurso inalterado.

Google Cloud fornecedores

Existem dois fornecedores que lhe permitem aprovisionar e gerir a Google Cloud infraestrutura:

  • google: use este fornecedor para aprovisionar e gerir Google Cloud APIs.
  • google-beta: use este fornecedor para aprovisionar e gerir Google Cloud APIs beta.

Para obter instruções sobre como usar estes fornecedores, consulte a Google Cloud referência de configuração do fornecedor.

Os fornecedores google e google-beta são desenvolvidos através de uma ferramenta denominada Magic Modules. Os módulos mágicos permitem que os contribuidores façam alterações num único código base e desenvolvam fornecedores google e google-beta em simultâneo.

Pode contribuir para os Google Cloud fornecedores através dos módulos mágicos seguindo as instruções no guia de contribuição dos módulos mágicos.

O que se segue?