Crea una configuración de Terraform

Cuando seleccionas soluciones de Private Catalog para tu organización, puedes crear una configuración de Terraform, o configuración, que los usuarios implementan mediante Terraform. Después de crear la configuración, puedes compartirla con los usuarios mediante la asignación a catálogos.

En esta guía, usas Cloud Build para ejecutar comandos de Terraform en la última versión de la imagen de Docker de Terraform y Cloud Storage a fin de almacenar y Administrar recursos de Terraform, como módulos y archivos de estado.

Para obtener recursos y orientación sobre el uso de Terraform, consulta Usa Terraform con Google Cloud.

Antes de comenzar

Sube tus archivos de configuración a Cloud Storage

Usa Cloud Storage a fin de administrar tus archivos de configuración de Terraform para Private Catalog.

Crea un bucket de Cloud Storage

Si deseas configurar Cloud Storage, crea un bucket en el mismo proyecto en el que habilitaste Private Catalog 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 en tu bucket para evitar que se borre o reemplace tu configuración de Terraform. Para habilitar el control de versiones de objetos, consulta la documentación de Cloud Storage sobre cómo usar el control de versiones de objetos.

Otorga acceso a tu bucket

Cuando los usuarios de tu organización implementan la configuración, su cuenta de servicio de Cloud Build debe tener acceso de lectura al bucket. Si el bucket está almacenado 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 implementan la configuración en un proyecto de Cloud diferente, otorga acceso al bucket 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 los usuarios o a un recurso de Google Cloud en el que los usuarios implementan la configuración de Terraform, como un proyecto, una carpeta o una organización.

  • Usa una Lista de control de acceso (LCA) para administrar el acceso al bucket.

Si deseas obtener detalles sobre cómo administrar el acceso a los buckets, 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 bucket de Cloud Storage, debes crear y subir un módulo de Terraform, que es un contenedor de todos tus archivos de configuración. Private Catalog 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 de uso 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, sube el archivo ZIP al bucket. Si quieres 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 Private Catalog

Después de configurar un bucket de Cloud Storage con tu módulo de Terraform, crea una solución de Private Catalog que incluya el bucket.

Para crear la configuración de Terraform como solución de Private Catalog, sigue 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 una configuración de Terraform.

  4. Ingresa un nombre, una descripción y un eslogan para tu configuración de Terraform. El eslogan es una descripción breve de una solución que los usuarios ven cuando exploran Private Catalog.

  5. En el campo Vínculo a la configuración de Terraform, proporciona el vínculo al bucket de Cloud Storage que contiene el 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 de 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. Haz clic en CREAR.

La solución se crea y aparece en la página Soluciones de administración de Private Catalog.

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