Aprovisionar recursos de Cloud Storage con Terraform

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. Puedes usar el proveedor de Terraform para Google Cloud para aprovisionar y gestionar Google Cloud recursos, incluido Cloud Storage.

En esta página se explica cómo usar Terraform con Cloud Storage, se incluye una introducción al funcionamiento de Terraform y se ofrecen algunos recursos para ayudarte a empezar a usar Terraform con Google Cloud. También encontrarás enlaces a la documentación de referencia de Terraform para Cloud Storage, ejemplos de código y guías para usar Terraform con el fin de aprovisionar recursos de Cloud Storage.

Para obtener instrucciones sobre cómo empezar a usar Terraform para Google Cloud, consulta Instalar y configurar Terraform o la guía de inicio rápido de Terraform para Google Cloud .

Cómo funciona Terraform

Terraform tiene una sintaxis declarativa y orientada a la configuración que puedes usar para describir la infraestructura que quieres aprovisionar en tu Google Cloud proyecto. Una vez que hayas creado esta configuración en uno o varios archivos de configuración de Terraform, puedes usar la CLI de Terraform para aplicar esta configuración a tus recursos de Cloud Storage.

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. No es necesario que escribas código que describa cómo aprovisionar la infraestructura. Terraform aprovisiona la infraestructura por ti.
  2. Ejecuta 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. Ejecutas el comando terraform apply, que realiza las siguientes acciones:

    1. Aprovisiona tu infraestructura en función de tu plan de ejecución invocando las APIs de Cloud Storage correspondientes en segundo plano.
    2. Crea un archivo de estado de Terraform, que es un archivo JSON que asigna los recursos del archivo de configuración a los recursos de la infraestructura real. Terraform usa este archivo para mantener un registro del estado más reciente de tu infraestructura y para determinar cuándo crear, actualizar y eliminar recursos.
    3. Cuando ejecutas terraform apply, Terraform usa la asignación del archivo de estado para comparar la infraestructura actual con el código y hacer las actualizaciones necesarias:

      • Si se define un objeto de recurso en el archivo de configuración, pero 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.

Recursos de Terraform para Cloud Storage

Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada bloque de recursos describe uno o varios objetos de infraestructura, como redes virtuales o instancias de computación.

En la siguiente tabla se indican los recursos de Terraform disponibles para Cloud Storage:

Servicio Recursos de Terraform Fuentes de datos

Cloud Storage

Servicio de Terraform: Cloud Storage

Storage Intelligence

Servicio de Terraform: Cloud Storage Control

Función de operaciones por lotes de almacenamiento de Storage Intelligence

Servicio de Terraform: Cloud Storage Batch Operations

-

Función Storage Insights de Storage Intelligence

Servicio de Terraform: Cloud Storage Insights

Guías basadas en Terraform para Cloud Storage

En la siguiente tabla se indican guías prácticas y tutoriales basados en Terraform para Cloud Storage:

Guía Detalles
Guía de inicio rápido: usa Terraform para crear un bucket y subir un objeto En esta guía de inicio rápido se muestra cómo empezar a usar Terraform creando un archivo de configuración de Terraform que aprovisiona un segmento de almacenamiento y sube un objeto de ejemplo al segmento.
Crear un segmento En esta guía se explica cómo crear un contenedor.
Obtener metadatos de un segmento En esta guía se explica cómo ver los metadatos de un contenedor.
Subir objetos En esta guía se explica cómo subir objetos a un contenedor desde su sistema de archivos local.
Obtener metadatos de objetos En esta guía se explica cómo ver los metadatos de un objeto.
Gestionar los ciclos de vida de los objetos En esta guía se explica cómo definir la configuración del ciclo de vida de un contenedor.
Configurar notificaciones de Pub/Sub En esta guía se explica cómo configurar un segmento para que envíe notificaciones sobre los cambios de los objetos a un tema de Pub/Sub.
Crear claves HMAC En esta guía se explica cómo crear claves de código de autenticación de mensajes basado en hash (HMAC) para cuentas de servicio en tu proyecto.
Hacer públicos los datos En esta guía se explica cómo hacer que todos los objetos de un segmento sean legibles para cualquier usuario de la red pública de Internet.
Alojar un sitio web estático En esta guía se explica cómo configurar un segmento para alojar un sitio web estático en un dominio de tu propiedad.

Módulos y planos de Terraform para Cloud Storage

Los módulos y los planos te ayudan a automatizar el aprovisionamiento y la gestión de Google Cloud recursos a gran escala. Un módulo es un conjunto reutilizable de archivos de configuración de Terraform que crea una abstracción lógica de los recursos de Terraform. Un blueprint es un paquete de módulos desplegables y reutilizables, así como una política que implementa y documenta una solución específica.

En la siguiente tabla se enumeran los módulos y los planos relacionados con Cloud Storage:

Módulo o plano Detalles
terraform-google-cloud-storage Este módulo crea uno o varios contenedores de Cloud Storage y asigna permisos básicos en ellos a usuarios arbitrarios.

Siguientes pasos