Laboratorio 4: Almacenamiento de Objetos (Google Cloud Storage)
Autor: Eduardo Martínez Agrelo
Bienvenidos al cuarto laboratorio del curso de Terraform. En este módulo práctico, aprenderemos a configurar almacenamiento de datos persistentes. Crearemos buckets en Google Cloud aplicando buenas prácticas de seguridad corporativa y control automatizado de ciclo de vida de los datos.
Google Cloud Storage y el Nombre Globalmente Único
El almacenamiento de objetos en la nube está expuesto bajo un espacio de nombres globalmente compartido. Para evitar colisiones de nombres con los buckets de otros usuarios y garantizar un aprovisionamiento limpio en nuestra cuenta, utilizaremos técnicas dinámicas de nomenclatura:
- random_id: Generará un sufijo hexadecimal aleatorio que adjuntaremos a nuestro prefijo para asegurar la unicidad global del bucket.
- force_destroy: Permitirá que Terraform elimine el bucket de almacenamiento incluso si contiene datos en su interior durante la destrucción.
Optimización de Costos mediante Políticas de Ciclo de Vida
Para evitar mantener archivos antiguos con las tarifas más costosas de almacenamiento, implementaremos reglas automatizadas que hagan transiciones dinámicas según la antigüedad de los objetos:
storage_class = "NEARLINE" (action age = 30)
Esta directiva de Terraform programa el bucket para que mueva de manera automática los objetos inactivos después de 30 días. Al delegar esta clasificación de costos al ciclo de vida interno de GCP, reducimos la complejidad administrativa de los datos.
Seguridad de Datos y Resiliencia en Cloud Storage
Para proteger la integridad de los archivos y evitar fugas de información, debemos definir políticas de acceso. No expondremos datos públicamente; utilizaremos Terraform para configurar reglas restrictivas de visibilidad y control de versiones:
- public_access_prevention: Bloqueará de forma nativa todo intento de hacer públicos los recursos en Cloud Storage para resguardar la seguridad del proyecto.
- versioning: Mantendrá un historial seguro de las modificaciones de objetos para mitigar posibles borrados accidentales de los usuarios.
El Código de Definición del Recurso
En este laboratorio, mantendremos la infraestructura limpia mediante la modularización de recursos. Escribiremos
la configuración del bucket con sus bloques internos de reglas en el archivo de manifiesto main.tf,
permitiendo una fácil auditoría de políticas.
Conclusión: Almacenamiento seguro y resiliente
Has completado el laboratorio de almacenamiento de objetos. Has aprendido que la gestión profesional de datos en la nube consiste en combinar unicidad, prevención de acceso público, versionado y políticas de ciclo de vida para optimizar costos. Ya tienes el almacenamiento listo en Google Cloud; el siguiente paso es avanzar al Laboratorio 5 para migrar tu archivo de estado local a un backend en la nube.