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:
- 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.
- 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. -
Ejecutas el comando
terraform apply, que realiza las siguientes acciones:- Aprovisiona tu infraestructura en función de tu plan de ejecución invocando las APIs de Cloud Storage correspondientes en segundo plano.
- 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.
-
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: |
|
|
|
Storage Intelligence Servicio de Terraform: |
||
|
Función de operaciones por lotes de almacenamiento de Storage Intelligence Servicio de Terraform: |
- | |
|
Función Storage Insights de Storage Intelligence Servicio de Terraform: |
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
- Ejemplos de código de Terraform para Cloud Storage
- Documentación sobre Google Cloud Terraform
- Google Cloud Documentación del proveedor en HashiCorp
- Infraestructura como código para Google Cloud