Hashicorp Terraform é uma ferramenta de infraestrutura como código (IaC, na sigla em inglês) que permite provisionar e gerenciar infraestrutura em nuvem. O Terraform fornece plug-ins chamados provedores , que permitem interagir com provedores de nuvem e outras APIs. É possível usar o provedor Terraform para Google Cloud para provisionar e gerenciar Google Cloud recursos, incluindo o VM Manager.
Esta página apresenta o uso do Terraform com o VM Manager, incluindo uma introdução a como o Terraform funciona e alguns recursos para ajudar você a começar a usar o Terraform com Google Cloud. Você também encontrará links para documentos de referência do Terraform para VM Manager, exemplos de código e guias para usar o Terraform para provisionar VM Manager resources.
Para obter instruções sobre como começar a usar o Terraform para Google Cloud, consulte Instalar e configurar o Terraform ou o Terraform para Google Cloud início rápido.
Como o Terraform funciona
O Terraform tem uma sintaxe declarativa e orientada pela configuração, que você pode usar para descrever a infraestrutura que você quer provisionar no seu Google Cloud projeto. Depois de criar essa configuração em um ou mais arquivos de configuração do Terraform, use a CLI do Terraform para aplicá-la a esta configuração aos recursos do VM Manager.
As etapas a seguir explicam como o Terraform funciona:
- Você descreve a infraestrutura que quer provisionar em um arquivo de configuração do Terraform. Não é preciso escrever código descrevendo como provisionar a infraestrutura. O Terraform provisiona a infraestrutura para você.
- Você executa o comando
terraform plan, que avalia sua configuração e gera um plano de execução. É possível analisar o plano e fazer alterações conforme necessário. -
Você executa o comando
terraform apply, que realiza as seguintes ações:- Ele provisiona sua infraestrutura com base no plano de execução invocando as APIs correspondentes do VM Manager em segundo plano.
- Ele cria um arquivo de estado do Terraform, que é um arquivo JSON que mapeia os recursos no arquivo de configuração aos recursos na infraestrutura do mundo real. O Terraform usa esse arquivo para manter um registro do estado mais recente da sua infraestrutura e determinar quando criar, atualizar e destruir recursos.
-
Ao executar
terraform apply, o Terraform usa o mapeamento no arquivo de estado para comparar a infraestrutura atual com o código e fazer atualizações conforme necessário:- Se um objeto de recurso for definido no arquivo de configuração, mas não existir no arquivo de estado, o Terraform o criará.
- Se há um objeto de recurso no arquivo de estado, mas tem uma configuração diferente do arquivo de configuração, o Terraform atualiza o recurso para corresponder ao arquivo de configuração.
- Se um objeto de recurso no arquivo de estado corresponder ao seu arquivo de configuração, o Terraform deixará o recurso inalterado.
Recursos do Terraform para o VM Manager
Recursos são os elementos fundamentais da linguagem do Terraform. Cada no bloco "resource", que descreve um ou mais objetos de infraestrutura, como ou instâncias de computação.
A tabela a seguir lista os recursos do Terraform disponíveis para o VM Manager:
| Serviço | Recursos do Terraform | Fontes de dados |
|---|---|---|
| Configuração do SO | Não relevante | |
| Configuração do SO v2 | Não relevante |
A seguir
- Exemplos de código do Terraform para o VM Manager
- Terraform on Google Cloud documentation
- Google Cloud Documentação do provedor na HashiCorp
- Infraestrutura como código para Google Cloud