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 o Google Cloud para aprovisionar e gerir Google Cloud 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 fornecedor do Google Cloud 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 Cloudpublicam vários módulos implementáveis opinativos 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:
- 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.
- 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. - 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 Google Cloud correspondentes em segundo plano.
- 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.
- 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.
Fornecedores do Google Cloud
Existem dois fornecedores que lhe permitem aprovisionar e gerir a Google Cloud infraestrutura:
google
: use este fornecedor para aprovisionar e gerir APIs Google Cloud.google-beta
: use este fornecedor para aprovisionar e gerir APIs beta do Google Cloud.
Para obter instruções sobre a utilização destes fornecedores, consulte a referência de configuração do fornecedor do Google Cloud.
Os fornecedores google
e google-beta
são desenvolvidos através de uma ferramenta denominada
Módulos mágicos. 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 fornecedores do Google Cloud através dos Magic Modules seguindo as instruções no guia de contribuição dos Magic Modules.
O que se segue?
- Saiba como criar um servidor Web básico no Compute Engine com o Terraform
- Saiba como armazenar o estado do Terraform num contentor do Cloud Storage
- Analise os módulos e os planos do Terraform para Google Cloud