Terraform y Infrastructure Manager

Para trabajar con Infrastructure Manager (Infra Manager), debes conocer Terraform. Para obtener más información sobre Terraform, comienza con ¿Qué es Terraform?.

Infra Manager implementa recursos y configuraciones de infraestructura definidos en una configuración de Terraform. Estas configuraciones pueden constar de varios archivos y directorios, pero su punto de entrada debe ser un módulo raíz de Terraform.

Infra Manager usa el término blueprint para hacer referencia a una configuración de Terraform.

Para obtener más información sobre Terraform con Google Cloud, consulta Terraform en Google Cloud.

Módulos de Terraform para Google Cloud

Para obtener un conjunto de módulos para aprovisionar recursos de Google Cloud , consulta Módulos y planos de Terraform para Google Cloud.

También puedes crear tus propios módulos de Terraform para Google Cloud. Para obtener más detalles, consulta Cómo crear módulos.

Versiones de Terraform compatibles

Infra Manager admite las siguientes versiones de Terraform:

  • Versión 1.2.3 de Terraform
  • Versión 1.3.10 de Terraform
  • Versión 1.4.7 de Terraform
  • Versión 1.5.7 de Terraform

Puedes usar la marca --tf-version-constraint para especificar la versión de Terraform que Infra Manager usa para crear una implementación.

Si no especificas una versión de Terraform, se usará de forma predeterminada la versión compatible más reciente.

Cuando actualizas una implementación, puedes cambiar la versión de Terraform a una versión posterior. No puedes cambiar a una versión anterior compatible de Terraform.

Para ver la versión de Terraform que se usó para crear una implementación o revisión específica, consulta Cómo ver los detalles de una implementación y Cómo ver los detalles de una revisión.

Restricciones en las configuraciones de Terraform

Para usar Infrastructure Manager y, así, implementar una configuración de Terraform, esta debe cumplir con las siguientes restricciones.

Valores de configuración de Terraform y datos sensibles

No incluyas información personal ni sensible en los valores de configuración de Terraform.

La documentación del proveedor de Google Cloud indica valores de configuración que pueden incluir información sensible.

Por ejemplo, el recurso google_storage_bucket_object permite la creación de un objeto de Cloud Storage con el argumento content. Este argumento se etiqueta como sensible en la página google_storage_bucket_object de la documentación de Google Cloud Provider.

Puedes usar estas etiquetas como guía cuando crees configuraciones de Terraform o cuando revises una configuración existente de Terraform antes de usarla.

Consulta el Aviso de Privacidad deGoogle Cloud para obtener información sobre cómo Google Cloud procesa la información personal que recopila o genera durante el aprovisionamiento y la administración de los Servicios de Cloud.

Usa el proveedor de Terraform para Google Cloud

Puedes configurar implementaciones y vistas previas para usar los proveedores de Terraform que mantiene Infra Manager para Google Cloud.

Este campo opcional te permite especificar el uso de los proveedores de Terraform que mantiene Infra Manager para crear o actualizar una implementación o una vista previa de la implementación. Puedes especificar un proveedor de Terraform con gcloud CLI.

Infra Manager admite proveedores de Terraform para Google Cloud:

  • google
  • google-beta

Omite este campo para usar el proveedor de Terraform para Google Cloudque mantiene HashiCorp.

Para obtener información sobre cómo especificar el uso de un proveedor de Terraform que mantiene Infra Manager, consulta Implementa infraestructura con Infrastructure Manager, Actualiza una implementación o Obtén una vista previa de una implementación.

Verifica las versiones compatibles del proveedor

Para verificar las versiones de un proveedor de Terraform para Google Cloud que admite Infra Manager, deberás ver el archivomanifest.jsonen el bucket de Cloud Storage que mantiene Infra Managerasociado con la región de tu implementación en el siguiente formato:

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

Puedes encontrar una lista completa de las versiones compatibles en el campo versions del archivo manifest.json.

Por ejemplo, si tu implementación se encuentra en la región africa-south1 y usas el proveedor google-beta, navega a https://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.json para ver las regiones disponibles.

¿Qué sigue?