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:
- 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 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.
- 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?
- 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
- Explore os vários exemplos do Terraform for Google Cloud
- Explore os módulos e os esquemas do Terraform para Google Cloud