Provisionar recursos do Cloud Storage com o Terraform

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:

  1. 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ê.
  2. 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.
  3. Você executará o comando terraform apply, que realiza as seguintes ações:

    1. Ele provisiona sua infraestrutura com base no plano de execução invocando as APIs correspondentes do Cloud Storage em segundo plano.
    2. 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.
    3. 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: Cloud Storage

Storage Intelligence

Serviço do Terraform: Cloud Storage Control

Recurso de operações em lote do Storage Intelligence

Serviço do Terraform: Cloud Storage Batch Operations

-

Recurso Storage Insights do Storage Intelligence

Serviço do Terraform: Cloud Storage Insights

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