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 do Terraform para Google Cloud para aprovisionar e gerir Google Cloud recursos, incluindo o Cloud Storage.
Esta página apresenta a utilização do Terraform com o Cloud Storage, incluindo uma introdução ao funcionamento do Terraform e alguns recursos para ajudar a começar a usar o Terraform com o Google Cloud. Também encontra links para documentos de referência do Terraform para o Cloud Storage, exemplos de código e guias para usar o Terraform para aprovisionar recursos do Cloud Storage.
Para ver instruções sobre como começar a usar o Terraform para o Google Cloud, consulte o artigo Instale e configure o Terraform ou o início rápido do Terraform para o Google Cloud .
Como funciona o Terraform
O Terraform tem uma sintaxe declarativa e orientada para a configuração, que pode usar para descrever a infraestrutura que quer aprovisionar no seu projeto do Google Cloud. Google Cloud Depois de criar esta configuração num ou mais ficheiros de configuração do Terraform, pode usar a CLI do Terraform para aplicar esta configuração aos seus recursos do Cloud Storage.
Os passos seguintes explicam como funciona o Terraform:
- Descreve a infraestrutura que quer aprovisionar num ficheiro de configuração do Terraform. Não precisa de escrever código que descreva como aprovisionar a infraestrutura. O Terraform aprovisiona a infraestrutura por si.
- 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. -
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 do Cloud Storage correspondentes em segundo plano.
- Cria um ficheiro de estado do Terraform, que é um ficheiro JSON que mapeia os recursos no seu ficheiro de configuração para os recursos na infraestrutura do mundo real. O Terraform usa este ficheiro para manter um registo do estado mais recente da sua infraestrutura e para determinar quando criar, atualizar e destruir recursos.
-
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 estiver definido no ficheiro de configuração, mas 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 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.
Recursos do Terraform para o Cloud Storage
Os recursos são os elementos fundamentais na linguagem Terraform. Cada bloco de recursos descreve um ou mais objetos de infraestrutura, como redes virtuais ou instâncias de computação.
A tabela seguinte indica os recursos do Terraform disponíveis para o Cloud Storage:
| Serviço | Recursos do Terraform | Origens de dados |
|---|---|---|
|
Cloud Storage Serviço Terraform: |
|
|
|
Inteligência de armazenamento Serviço Terraform: |
||
|
Funcionalidade de operações em lote de armazenamento da inteligência de armazenamento Serviço Terraform: |
- | |
|
Funcionalidade Estatísticas de armazenamento da inteligência de armazenamento Serviço Terraform: |
Guias baseados no Terraform para o Cloud Storage
A tabela seguinte lista guias de instruções e tutoriais baseados no Terraform para o Cloud Storage:
| Guia | Detalhes | |
|---|---|---|
| Início rápido: use o Terraform para criar um contentor e carregar um objeto | Este início rápido mostra como começar a usar o Terraform criando um ficheiro de configuração do Terraform que aprovisiona um contentor de armazenamento e carrega um objeto de exemplo para o contentor. | |
| Crie um contentor | Este guia explica como criar um contentor. | |
| Obtenha metadados do contentor | Este guia explica como ver os metadados de um contentor. | |
| Carregue objetos | Este guia explica como carregar objetos para um contentor a partir do seu sistema de ficheiros local. | |
| Obtenha metadados de objetos | Este guia explica como ver os metadados de um objeto. | |
| Faça a gestão dos ciclos de vida dos objetos | Este guia explica como definir a configuração do ciclo de vida para um contentor. | |
| Configure as notificações do Pub/Sub | Este guia explica como configurar o seu contentor para enviar notificações sobre alterações de objetos para um tópico Pub/Sub. | |
| Crie chaves HMAC | Este guia explica como criar chaves de código de autenticação de mensagens com base em hash (HMAC) para contas de serviço no seu projeto. | |
| Tornar os dados públicos | Este guia explica como tornar todos os objetos num contentor legíveis para todos na Internet pública. | |
| Aloje um Website estático | Este guia explica como configurar um contentor para alojar um Website estático para um domínio que lhe pertence. |
Módulos e projetos do Terraform para o Cloud Storage
Os módulos e os esquemas ajudam a automatizar o aprovisionamento e a gestão de Google Cloud recursos em grande escala. Um módulo é um conjunto reutilizável de ficheiros de configuração do Terraform que cria uma abstração lógica de recursos do Terraform. Um projeto é um pacote de módulos implementáveis e reutilizáveis, e uma política que implementa e documenta uma solução específica.
A tabela seguinte apresenta módulos e esquemas relacionados com o Cloud Storage:
| Módulo ou planta | Detalhes |
|---|---|
terraform-google-cloud-storage |
Este módulo cria um ou mais contentores do Cloud Storage e atribui-lhes autorizações básicas a utilizadores arbitrários. |
O que se segue?
- Exemplos de código do Terraform para o Cloud Storage
- Documentação do Google Cloud Terraform
- Google Cloud documentação do fornecedor na HashiCorp
- Infraestrutura como código para Google Cloud