Criar um fluxo de trabalho usando o Terraform
Neste guia de início rápido, mostramos como criar, implantar e executar seu primeiro fluxo de trabalho usando o Terraform. O Terraform é uma ferramenta de infraestrutura como código que permite criar, alterar e melhorar de maneira previsível sua infraestrutura em nuvem usando código. Aprenda a usar o Terraform para provisionar infraestrutura no Google Cloud.
Neste guia de início rápido, o fluxo de trabalho de amostra envia uma solicitação a uma API pública e retorna a resposta da API.
Você concluirá o seguinte:
- Ativar a API Workflows usando o Terraform.
- Criar uma conta de serviço para o fluxo de trabalho usando o Terraform.
- Definir e implantar um fluxo de trabalho usando o Terraform.
- Executar o fluxo de trabalho usando a Google Cloud CLI.
Antes de começar
As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito do Google Cloud.
O Cloud Shell já tem o Terraform integrado. Se você precisar instalar o Terraform, consulte a documentação do HashiCorp Terraform (em inglês).
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Cloud Resource Manager and Identity and Access Management (IAM):
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Cloud Resource Manager and Identity and Access Management (IAM):
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com
Criar um arquivo de configuração do Terraform
Crie um arquivo de configuração do Terraform chamado main.tf
e inclua os recursos do
provedor do Google para o Terraform usados neste
guia de início rápido.
É possível usar a interpolação para substituições, como variáveis de referência, atributos de recursos e funções de chamada.
Crie um diretório:
mkdir terraform
Acesse o diretório
terraform
:cd terraform
Adicione um novo arquivo,
main.tf
, ao diretório:nano main.tf
Adicione os recursos abaixo ao arquivo
main.tf
:Atribua o ID do projeto:
provider "google" { project = "PROJECT_ID" }
Substitua
PROJECT_ID
pelo ID do projeto.Ative a API Workflows:
Crie uma conta de serviço para o fluxo de trabalho:
Defina o fluxo de trabalho usando o recurso
google_workflows_workflow
:Os seguintes argumentos são usados no fluxo de trabalho de amostra:
name
: o nome do fluxo de trabalho.region
: o local do fluxo de trabalho.description
: uma descrição do seu fluxo de trabalho.service_account
: o endereço de e-mail ou ID exclusivo da conta de serviço associada à versão mais recente do fluxo de trabalho. Essa conta de serviço representa a identidade do fluxo de trabalho e determina quais permissões ele tem. Se você não especificar uma conta de serviço durante a criação do fluxo de trabalho, ele usará a conta de serviço padrão do Compute Engine como identidade. Para mais informações, consulte Conceder permissão a um fluxo de trabalho para acessar os recursos do Google Cloud.labels
: uma lista de pares de rótulos de chave-valor para atribuir a este fluxo de trabalho, que ajuda você a organizar suas instâncias do Google Cloud. Para mais informações, consulte O que são rótulos?user_env_vars
: variáveis de ambiente definidas pelo usuário associadas a esta revisão de fluxo de trabalho. Para mais informações, consulte Usar variáveis de ambiente.source_contents
: o código do Workflows a ser executado. Para o limite de tamanho de arquivo, consulte Limites de recurso.
Outros argumentos opcionais incluem:
crypto_key_name
é o ID do recurso para uma chave do Cloud Key Management Service no seguinte formato:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.
call_log_level
: o nível de geração de registros a ser aplicado a chamadas e respostas de chamadas durante as execuções do fluxo de trabalho. Os valores possíveis são:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Para mais informações, consulte Registro de chamadas.
project
: o ID do projeto ao qual o recurso pertence. Se ele não for fornecido, o projeto do provedor será usado.name_prefix
: cria um nome exclusivo que começa com o prefixo especificado. Se esse parâmetro ename
não forem especificados, um valor aleatório será escolhido para o nome.
Criar e executar o fluxo de trabalho
Implante seus recursos do Terraform para criar e executar o fluxo de trabalho.
Inicialize o Terraform no diretório:
terraform init
Verifique se as alterações propostas com o Terraform correspondem ao plano esperado:
terraform plan
Ignore a observação sobre o uso da opção
-out
.Crie o fluxo de trabalho:
terraform apply
No prompt Inserir um valor, digite
yes
para continuar com a criação de recursos.Confirme se um fluxo de trabalho foi criado:
gcloud workflows list --location us-central1
A saída será semelhante a:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
Também é possível executar o fluxo de trabalho:
gcloud workflows execute sample-workflow
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.
- Exclua todos os recursos criados com o Terraform:
terraform destroy
- Exclua o fluxo de trabalho que você criou:
gcloud workflows delete sample-workflow
Quando perguntar se você quer continuar, digitey
: - Se preferir, exclua o projeto do Google Cloud para evitar cobranças. A exclusão do projeto do Google Cloud interrompe o faturamento de todos os recursos usados
nele.
Exclua um projeto do Google Cloud:
gcloud projects delete PROJECT_ID