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 recursos do Google Cloud , incluindo o Cloud Storage.
Nesta página, você vai aprender a usar o Terraform com o Cloud Storage, incluindo uma introdução a como o Terraform funciona e alguns recursos para ajudar você a começar a usar o Terraform com o Google Cloud. Você também vai encontrar links para documentos de referência do Terraform para Cloud Storage, exemplos de código e guias para usar o Terraform no provisionamento de recursos do Cloud Storage.
Para instruções sobre como começar a usar o Terraform para Google Cloud, consulte Instalar e configurar o Terraform ou o Início rápido do Terraform para Google Cloud .
Como o Terraform funciona
O Terraform tem uma sintaxe declarativa e orientada pela configuração, que pode ser usada para descrever a infraestrutura que você quer provisionar no projeto Google Cloud . Depois de criar essa configuração em um ou mais arquivos de configuração do Terraform, use a CLI do Terraform para aplicá-la aos recursos do Cloud Storage.
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ê executará 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 Cloud Storage 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 Cloud Storage
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 Cloud Storage:
| Serviço | Recursos do Terraform | Fontes de dados |
|---|---|---|
|
Cloud Storage Serviço do Terraform: |
|
|
|
Storage Intelligence Serviço do Terraform: |
||
|
Recurso de operações em lote do Storage Intelligence Serviço do Terraform: |
- | |
|
Recurso Storage Insights do Storage Intelligence Serviço do Terraform: |
Guias baseados no Terraform para o Cloud Storage
A tabela a seguir lista os guias e tutoriais do Terraform para o Cloud Storage:
| Guia | Detalhes | |
|---|---|---|
| Guia de início rápido: usar o Terraform para criar um bucket e fazer upload de um objeto | Neste guia de início rápido, mostramos como começar a usar o Terraform criando um arquivo de configuração do Terraform que provisiona um bucket de armazenamento e faz upload de um objeto de amostra para o bucket. | |
| Crie um bucket | Este guia explica como criar um bucket. | |
| Acessar metadados do bucket | Este guia explica como ver os metadados de um bucket. | |
| Fazer upload de objetos | Este guia explica como fazer upload de objetos para um bucket do seu sistema de arquivos local. | |
| Receber metadados do objeto | Este guia explica como visualizar os metadados de um objeto. | |
| Gerenciar os ciclos de vida dos objetos | Neste guia, explicamos como definir a configuração do ciclo de vida de um bucket. | |
| Configurar notificações do Pub/Sub | Este guia explica como configurar o bucket para enviar notificações sobre mudanças de objetos em um tópico do Pub/Sub. | |
| Criar chaves HMAC | Este guia explica como criar chaves de código de autenticação de mensagem baseadas em hash (HMAC) para contas de serviço no seu projeto. | |
| Tornar dados públicos | Este guia explica como tornar todos os objetos em um bucket legíveis para todos na Internet pública. | |
| Hospedar um site estático | Neste guia, explicamos como configurar um bucket para hospedar um site estático em um domínio seu. |
Módulos e blueprints do Terraform para o Cloud Storage
Os módulos e modelos ajudam a automatizar o provisionamento e o gerenciamento de recursos do Google Cloud em escala. Um módulo é um conjunto reutilizável de arquivos de configuração do Terraform que cria uma abstração lógica dos recursos do Terraform. Um blueprint é um pacote de módulos implantáveis e reutilizáveis e uma política que implementa e documenta uma solução específica.
A tabela a seguir lista módulos e blueprints relacionados ao Cloud Storage:
| Módulo ou blueprint | Detalhes |
|---|---|
terraform-google-cloud-storage |
Esse módulo cria um ou mais buckets do Cloud Storage e atribui permissões básicas a eles para usuários arbitrários. |
A seguir
- Exemplos de código do Terraform para o Cloud Storage
- Documentação do Terraform no Google Cloud
- Documentação do provedorGoogle Cloud na HashiCorp
- Infraestrutura como código para Google Cloud