Información general sobre Terraform en Google Cloud

HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que te permite aprovisionar y gestionar la infraestructura en la nube. Terraform proporciona complementos llamados proveedores que te permiten interactuar con proveedores de servicios en la nube y otras APIs. Puede usar el proveedor de Terraform para Google Cloud (Google Cloud provider) para aprovisionar y gestionar Google Cloud infraestructuras.

Ventajas de usar Terraform

En esta sección se explican algunas de las ventajas de usar Terraform para aprovisionar y gestionar la infraestructura: Google Cloud

  • Terraform es la herramienta más utilizada para aprovisionar y automatizar laGoogle Cloud infraestructura. Puedes usar el proveedorGoogle Cloud para configurar y gestionar todos los recursos Google Cloud con la misma sintaxis declarativa y las mismas herramientas.
  • Terraform te permite especificar el estado final que prefieres para tu infraestructura. Después, puedes implementar la misma configuración varias veces para crear entornos de desarrollo, prueba y producción reproducibles.
  • Terraform te permite generar un plan de ejecución que muestra lo que hará Terraform cuando apliques tu configuración. De esta forma, no te llevarás ninguna sorpresa cuando modifiques tu infraestructura a través de Terraform.
  • Terraform te permite empaquetar y reutilizar código común en forma de módulos. Los módulos presentan interfaces estándar para crear recursos en la nube. Simplifican los proyectos aumentando la legibilidad y permiten a los equipos organizar la infraestructura en bloques legibles. Además, Google Cloud publica varios módulos desplegables con opiniones como planos y ejemplos para empezar como soluciones Jump Start.
  • Terraform registra el estado actual de tu infraestructura y te permite gestionar el estado de forma eficaz. El archivo de estado de Terraform registra todos los recursos de una implementación.

Usar Terraform

Terraform tiene una sintaxis declarativa y orientada a la configuración que puedes usar para crear la infraestructura que quieras aprovisionar. Con esta sintaxis, definirás el estado final que prefieras para tu infraestructura en un archivo de configuración de Terraform. A continuación, usarás la CLI de Terraform para aprovisionar la infraestructura en función del archivo de configuración.

En los siguientes pasos se explica cómo funciona Terraform:

  1. Describe la infraestructura que quieres aprovisionar en un archivo de configuración de Terraform. Google Cloud No es necesario que escribas código que describa cómo aprovisionar esta configuración.
  2. Ejecutas el comando terraform plan, que evalúa tu configuración y genera un plan de ejecución. Puedes revisar el plan y hacer los cambios que necesites.
  3. A continuación, ejecuta el comando terraform apply, que realiza las siguientes acciones:
    • Aprovisiona tu infraestructura en función de tu plan de ejecución invocando las APIs correspondientes en segundo plano. Google Cloud
    • Crea un archivo de estado de Terraform, que es una asignación con formato JSON de los recursos del archivo de configuración a los recursos de la infraestructura real. Terraform usa este archivo para conocer el estado más reciente de tu infraestructura y para determinar cuándo crear, actualizar y eliminar recursos.
  4. Después, cuando ejecutes terraform apply, Terraform usará la asignación del archivo de estado para comparar la infraestructura actual con el código y hará las actualizaciones necesarias:
    • Si un objeto de recurso definido en el archivo de configuración no existe en el archivo de estado, Terraform lo crea.
    • Si un objeto de recurso existe en el archivo de estado, pero tiene una configuración diferente a la de tu archivo de configuración, Terraform actualiza el recurso para que coincida con tu archivo de configuración.
    • Si un objeto de recurso del archivo de estado coincide con el archivo de configuración, Terraform no lo modifica.

Google Cloud proveedores

Hay dos proveedores que te permiten aprovisionar y gestionar Google Cloud infraestructuras:

  • google: usa este proveedor para aprovisionar y gestionar APIs. Google Cloud
  • google-beta: usa este proveedor para aprovisionar y gestionar APIs beta. Google Cloud

Para obtener instrucciones sobre cómo usar estos proveedores, consulta la Google Cloud referencia de configuración de proveedores.

Los proveedores de google y google-beta se desarrollan con una herramienta llamada Módulos mágicos. Magic Modules permite a los colaboradores hacer cambios en una sola base de código y desarrollar proveedores de google y google-beta simultáneamente.

Puedes contribuir a los Google Cloud proveedores mediante módulos mágicos siguiendo las instrucciones de la guía de contribución de módulos mágicos.

Siguientes pasos