Crear un flujo de trabajo con Terraform
En esta guía de inicio rápido se muestra cómo crear, desplegar y ejecutar tu primer flujo de trabajo con Terraform. Terraform es una herramienta de infraestructura como código que te permite crear, cambiar y mejorar tu infraestructura de nube de forma predecible mediante código. Consulta cómo usar Terraform para aprovisionar infraestructura en Google Cloud.
En esta guía de inicio rápido, el flujo de trabajo de ejemplo envía una solicitud a una API pública y, a continuación, devuelve la respuesta de la API.
Deberás hacer lo siguiente:
- Habilita la API Workflows con Terraform.
- Crea una cuenta de servicio para el flujo de trabajo con Terraform.
- Define y despliega un flujo de trabajo con Terraform.
- Ejecuta el flujo de trabajo con Google Cloud CLI.
Antes de empezar
Es posible que las restricciones de seguridad definidas por tu organización te impidan completar los siguientes pasos. Para obtener información sobre cómo solucionar problemas, consulta el artículo Desarrollar aplicaciones en un entorno limitado Google Cloud .
Ten en cuenta que Cloud Shell ya tiene Terraform integrado. Si necesitas instalar Terraform, consulta la documentación de HashiCorp Terraform.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com Crear un directorio:
mkdir terraform
Ve al directorio
terraform
:cd terraform
Añade un archivo nuevo,
main.tf
, al directorio:nano main.tf
Añade los siguientes recursos al archivo
main.tf
:Asigna el ID del proyecto:
provider "google" { project = "PROJECT_ID" }
Sustituye
PROJECT_ID
por el ID de tu proyecto.Habilita la API Workflows:
Crea una cuenta de servicio para el flujo de trabajo:
Define el flujo de trabajo mediante el recurso
google_workflows_workflow
:En el flujo de trabajo de ejemplo se usan los siguientes argumentos:
name
: el nombre del flujo de trabajo.region
: la ubicación de tu flujo de trabajo.description
: una descripción de tu flujo de trabajo.service_account
: la dirección de correo o el ID único de la cuenta de servicio asociada a la versión más reciente del flujo de trabajo. Esta cuenta de servicio representa la identidad del flujo de trabajo y determina los permisos que tiene. Si no especificas una cuenta de servicio durante la creación del flujo de trabajo, este usará la cuenta de servicio predeterminada de Compute Engine para su identidad. Para obtener más información, consulta Conceder permiso a un flujo de trabajo para acceder a recursos Google Cloud .labels
: una lista de pares de etiquetas clave-valor que se asignarán a este flujo de trabajo para ayudarte a organizar tus instancias de Google Cloud . Para obtener más información, consulta el artículo ¿Qué son las etiquetas?user_env_vars
: variables de entorno definidas por el usuario asociadas a esta revisión del flujo de trabajo. Para obtener más información, consulta Usar variables de entorno.source_contents
: el código de Workflows que se va a ejecutar. Para consultar el límite de tamaño de archivo, consulta Límites de recursos.
Otros argumentos opcionales son los siguientes:
crypto_key_name
: el ID de recurso de una clave de Cloud Key Management Service con el siguiente formato:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.
call_log_level
: el nivel de registro que se aplicará a las llamadas y respuestas de llamadas durante las ejecuciones de este flujo de trabajo. Los valores posibles son:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Para obtener más información, consulta Registro de llamadas.
project
: el ID del proyecto al que pertenece el recurso. Si no se proporciona, se usará el proyecto del proveedor.name_prefix
: crea un nombre único que empieza por el prefijo especificado. Si no se especifican estos valores, se elegirá un valor aleatorio para el nombre.name
Crear y ejecutar el flujo de trabajo
Despliega tus recursos de Terraform para crear el flujo de trabajo y, a continuación, ejecútalo.
Inicializa Terraform en el directorio:
terraform init
Comprueba que los cambios que propones con Terraform coinciden con el plan esperado:
terraform plan
Puedes ignorar la nota sobre no usar la opción
-out
.Crea el flujo de trabajo:
terraform apply
En la petición Introduce un valor, escribe
yes
para continuar con la creación de recursos.Confirma que se ha creado un flujo de trabajo:
gcloud workflows list --location us-central1
La salida debería ser similar a la siguiente:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
También puedes ejecutar el flujo de trabajo:
gcloud workflows execute sample-workflow
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.
- Elimina todos los recursos que hayas creado con Terraform:
terraform destroy
- Elimina el flujo de trabajo que has creado:
Cuando se te pregunte si quieres continuar, escribegcloud workflows delete sample-workflow
y
. - También puedes eliminar tu Google Cloud proyecto para evitar que se te apliquen cargos. Al eliminar tu proyecto Google Cloud , se detendrá la facturación de todos los recursos utilizados en ese proyecto.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Siguientes pasos
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-20 (UTC).
Crear un archivo de configuración de Terraform
Crea un archivo de configuración de Terraform llamado main.tf
e incluye los recursos del proveedor de Google para Terraform que se usan en esta guía de inicio rápido.
Ten en cuenta que puedes usar la interpolación para sustituciones como variables de referencia, atributos de recursos y funciones de llamada.