Terraform e Infrastructure Manager

Para trabalhar com o Infrastructure Manager (Infra Manager), você precisa conhecer o Terraform. Para saber mais sobre o Terraform, comece com O que é o Terraform?.

O Infra Manager implanta recursos e configurações de infraestrutura definidos em uma configuração do Terraform. Essas configurações podem consistir em vários arquivos e diretórios, mas o ponto de entrada precisa ser um módulo raiz do Terraform.

O Infra Manager usa o termo blueprint para se referir a uma configuração do Terraform.

Para saber mais sobre o Terraform com o Google Cloud, consulte Terraform no Google Cloud.

Módulos do Terraform para Google Cloud

Para um conjunto de módulos para provisionar recursos do Google Cloud , consulte Blueprints e módulos do Terraform para o Google Cloud.

Também é possível criar seus próprios módulos do Terraform para o Google Cloud. Para mais detalhes, consulte Como criar módulos.

Versões compatíveis do Terraform

O Infra Manager é compatível com as seguintes versões do Terraform:

Versão do Terraform Faixa de preços Data de lançamento Data da suspensão do uso Data de término do suporte Migrar automaticamente para a versão
1.2.3 Nível sem custo financeiro 21/08/2023 08/01/2026 08/02/2026 1.5.7
1.3.10 Nível sem custo financeiro 14/03/2024 A definir TBD A definir
1.4.7 Nível sem custo financeiro 14/03/2024 A definir TBD A definir
1.5.7 Nível sem custo financeiro 14/03/2024 A definir TBD A definir
1.16.5 Pago 11/2/2026 A definir TBD TBD

Para informações sobre os recursos introduzidos em cada versão do Terraform, consulte a documentação do HashiCorp Terraform e as versões do Terraform.

É possível especificar a versão do Terraform que o Infra Manager usa ao criar uma implantação, atualizar uma implantação ou visualizar uma implantação no console doGoogle Cloud ou usando a flag --tf-version-constraint na CLI gcloud.

Se você não especificar uma versão do Terraform ao criar uma implantação ou pré-lançamento, o Infra Manager vai usar a versão mais recente do nível sem custo financeiro (1.5.7) por padrão. Para usar uma versão paga (como 1.16.5), é necessário especificar explicitamente a restrição de versão.

Ao atualizar uma implantação, é possível fazer upgrade para uma versão mais recente do Terraform, mas não é possível fazer downgrade para uma versão anterior compatível. Para informações sobre a descontinuação da versão do Terraform, consulte a documentação da política de gerenciamento de versões do Terraform.

Para conferir a versão do Terraform que foi usada para criar uma implantação ou revisão específica, consulte Ver detalhes de uma implantação e Ver detalhes de uma revisão.

Licenciamento e preços das versões do Terraform

As versões 1.5.7 e anteriores do Terraform são distribuídas como código aberto de acordo com a Licença Pública da Mozilla (MPL 2.0) e estão disponíveis no nível sem custo financeiro sem taxa de gerenciamento do Infra Manager.

A versão 1.16.5 do Terraform é distribuída sob a Licença de Origem Comercial (BUSL, na sigla em inglês) e é oferecida como uma versão paga no Infra Manager. O uso de uma versão paga do Terraform gera cobranças de implantação e gerenciamento com base no número de recursos gerenciados pelo Infra Manager:

  • Nível sem custo financeiro: cada conta de faturamento recebe um nível sem custo financeiro de até 500 recursos por mês.

  • Cobranças de uso: além da cota mensal de 500 recursos do nível sem custo financeiro, os recursos gerenciados por implantações que usam uma versão paga do Terraform estão sujeitos a cobranças de gerenciamento de recursos, que são medidas por hora por recurso.

  • As visualizações não são cobradas: as versões pagas do Terraform (como 1.16.5) geram cobranças apenas para implantações do Infra Manager, não para visualizações de implantação.

Para mais informações sobre preços, consulte Preços do Infrastructure Manager.

Restrições em configurações do Terraform

Para usar o Infrastructure Manager para implantar uma configuração do Terraform, a configuração tem as seguintes restrições:

Valores de configuração do Terraform e dados sensíveis

Não inclua informações de identificação pessoal ou sensíveis nos valores de configuração do Terraform.

A documentação do provedor do Google Cloud indica valores de configuração que podem incluir informações sensíveis.

Por exemplo, o recurso google_storage_bucket_object permite a criação de um objeto do Cloud Storage usando o argumento content. Esse argumento é rotulado como sensível na página google_storage_bucket_object da documentação do provedor do Google Cloud .

Use esses rótulos como orientação ao criar configurações do Terraform ou ao analisar uma configuração atual do Terraform antes do uso.

Consulte o Aviso de privacidade doGoogle Cloud para saber como o Google Cloud processa as informações pessoais que coleta ou gera durante o fornecimento e a administração dos Serviços do Cloud.

Usar o provedor do Terraform para o Google Cloud

Se quiser, use a CLI gcloud para configurar implantações e visualizações para usar os provedores do Terraform mantidos pelo Infra Manager paraGoogle Cloud.

O Infra Manager é compatível com os provedores do Terraform para Google Cloud:

  • google
  • google-beta

Omita esse campo para usar o provedor do Terraform mantido pela HashiCorp para Google Cloud.

Para saber como especificar o uso de um provedor do Terraform mantido pelo Infra Manager, consulte Implantar infraestrutura usando o Infrastructure Manager, Atualizar uma implantação ou Visualizar uma implantação.

Verificar as versões compatíveis do provedor

Para verificar as versões de um provedor do Terraform para o Google Cloud que o Infra Manager aceita, consulte o manifest.json no bucket do Cloud Storage mantido pelo Infra Manager associado à região da implantação no formato:

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

Confira uma lista completa das versões compatíveis no campo versions do arquivo manifest.json.

Por exemplo, se a implantação estiver localizada na região africa-south1 e você estiver usando o provedor google-beta, acesse https://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.json para ver as regiões disponíveis.

A seguir