Crea una configuración de Terraform

Cuando seleccionas las soluciones del catálogo privado para tu organización, puedes crear una configuración de Terraform o config, que tus usuarios implementarán mediante Terraform. Después de crear la configuración, puedes compartirla con los usuarios si la asignas a catálogos.

En esta guía, usarás Cloud Build para ejecutar comandos de Terraform en la versión más reciente de la imagen de Docker de Terraform y Cloud Storage para almacenar y almacenar. administrar los recursos de Terraform, como módulos y archivos de estado

Para obtener recursos y orientación sobre cómo usar Terraform, consulta Usa Terraform con Google Cloud.

Antes de comenzar

Sube los archivos de configuración a Cloud Storage

Usa Cloud Storage a fin de administrar los archivos de configuración de Terraform para el catálogo privado.

Crea un bucket de Cloud Storage

Si deseas configurar Cloud Storage, crea un depósito en el mismo proyecto en el que habilitaste el catálogo privado para tu organización:

  1. En Cloud Console, ve a la página Navegador de Cloud Storage.

    Ir al navegador

  2. Haz clic en Crear bucket.
  3. En la página Crear un bucket, ingresa la información de tu bucket. Para ir al siguiente paso, haz clic en Continuar.
  4. Haga clic en Crear.

Habilita el control de versiones de objetos

Debes usar el control de versiones de objetos de tu depósito para evitar que se borre o reemplace la configuración de Terraform. Para habilitar el control de versiones de objetos, consulta la documentación de Cloud Storage sobre el uso de versiones de objetos.

Otorga acceso a tu depósito

Cuando los usuarios de tu organización implementan la configuración, su cuenta de servicio de Cloud Build debe tener acceso de lectura a tu depósito. Si tu depósito se almacena en el mismo proyecto de Cloud en el que los usuarios implementan la configuración, la cuenta de servicio ya tiene este acceso.

Si tus usuarios están implementando la configuración en un proyecto de Cloud diferente, otorga acceso al depósito mediante uno de los siguientes métodos:

  • Otorga la función Visualizador de objetos de almacenamiento (roles/storage.objectViewer) a las cuentas de servicio de Cloud Build de tus usuarios o a un recurso de Google Cloud en el que los usuarios implementen configuraciones de Terraform, como un proyecto, una carpeta o una organización.

  • Usa una lista de control de acceso (LCA) para administrar el acceso al depósito.

Para obtener más información sobre cómo administrar el acceso a los depósitos, consulta la Descripción general del control de acceso de Cloud Storage.

Crea y sube un módulo de Terraform

Después de configurar tu depósito de Cloud Storage, debes crear y subir un módulo de Terraform, que es un contenedor de todos tus archivos de configuración. El catálogo privado usa el módulo para generar automáticamente un archivo de esquema JSON a fin de definir las variables de tu configuración.

Para ver los módulos de casos prácticos comunes de Google Cloud, consulta Cloud Foundation Toolkit.

En la siguiente muestra de código, se ilustra un archivo de configuración de Terraform, main.tf:


variable "machine_type" {
  type    = string
  default = "n1-standard-1"
}

variable "zone" {
  type    = string
  default = "us-central1-a"
}

variable "deployment_identifier" {
  description = "The unique name for your instance"
  type        = string
}

resource "google_compute_instance" "default" {
  name         = "vm-${var.deployment_identifier}"
  machine_type = var.machine_type
  zone         = var.zone

  boot_disk {
    device_name = "boot"
    auto_delete = true
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral IP
    }
  }
}

Después de crear tu módulo, comprime los archivos en un archivo ZIP. Asegúrate de que el módulo esté almacenado en la raíz del archivo ZIP (no uses subdirectorios).

Luego, suba el archivo ZIP a su depósito. Para conocer los pasos para subir el archivo ZIP, consulta la documentación de Cloud Storage sobre cómo subir objetos.

Crea la configuración en el catálogo privado

Después de configurar un depósito de Cloud Storage con tu módulo de Terraform, debes crear una solución de catálogo privado que incluya el depósito.

Para crear la configuración de Terraform como una solución de catálogo privado, siga estos pasos:

  1. Ve a la página Soluciones del administrador de Private Catalog en Cloud Console.
    Ir a la página Soluciones

  2. Haz clic en Seleccionar para elegir el proyecto de Google Cloud.

  3. Haz clic en CREAR SOLUCIÓN. En la lista desplegable, selecciona Crear configuración de Terraform.

  4. Ingresa un nombre, una descripción y una descripción para tu configuración de Terraform. La descripción es una descripción breve de una solución que ven los usuarios mientras exploran el catálogo privado.

  5. En el campo Vínculo a la configuración de Terraform, proporciona el vínculo al depósito de Cloud Storage que contiene tu archivo ZIP para el módulo de Terraform, como gs://my-terraform-bucket/my-zip-file.zip.

  6. De manera opcional, sube un ícono para la solución. Las dimensiones recomendadas para un ícono son 80 por 80 píxeles.

  7. Opcionalmente, ingresa un vínculo de asistencia y la información de contacto del creador.

  8. De manera opcional, agrega un vínculo a la documentación para la solución.

  9. Haga clic en CREAR.

La solución se crea y aparece en la página Soluciones de administrador del catálogo privado.

En la siguiente captura de pantalla, se muestra cómo crear una configuración de Terraform:

Crea una configuración de Terraform

Próximos pasos