[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-terraform-05":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Módulo 5: Configuración del Backend Remoto y State Locking en GCP con Terraform. Aprende a migrar el archivo terraform.tfstate a Cloud Storage de forma segura.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"Terraform, Google Cloud, GCP, tfstate, Backend Remoto, State Locking, Cloud Storage, Migración\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>Laboratorio 5: Backend Remoto (State Locking) | Curso Terraform GCP\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>Laboratorio 5: Estado Remoto y Trabajo Colaborativo (State Locking)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>Bienvenidos al quinto laboratorio del curso de \u003Cstrong>Terraform\u003C/strong>. En este módulo práctico, aprenderemos\r\n        a configurar el backend remoto de almacenamiento. Migraremos nuestro archivo de estado hacia \u003Cstrong>Google Cloud\u003C/strong>\r\n        para posibilitar el trabajo colaborativo de forma segura y consistente en el equipo.\r\n    \u003C/p>\r\n\r\n    \u003Ch2>El Dilema del Estado Local versus el Estado Centralizado\u003C/h2>\r\n\r\n    \u003Cp>El archivo de estado contiene el mapa exacto de la infraestructura desplegada. Almacenarlo localmente expone el\r\n        proyecto a pérdida de sincronización, sobreescritura accidental y fugas de información confidencial. Es necesario\r\n        resolver estos problemas de la siguiente forma:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Estado Centralizado:\u003C/strong> Almacena el archivo de control en un bucket remoto para que todos los\r\n            desarrolladores compartan la misma fuente de verdad.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Bloqueo de Estado:\u003C/strong> Impide que dos ejecuciones simultáneas modifiquen la infraestructura,\r\n            evitando la corrupción del archivo de control.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Configuración de la Migración hacia Cloud Storage\u003C/h2>\r\n\r\n    \u003Cp>Para realizar la transición, debemos declarar el bloque de almacenamiento remoto. Dado que el bloque backend no\r\n        admite variables, definiremos la ruta de destino de forma directa:\u003C/p>\r\n    \u003Cp>\u003Ccode>backend \"gcs\" { bucket = \"mi-state-bucket\" prefix = \"terraform/state\" }\u003C/code>\u003C/p>\r\n    \u003Cp>Al ejecutar la inicialización, Terraform detectará el cambio y nos solicitará confirmar la copia de los datos\r\n        existentes. Al confirmar, el archivo local se vaciará y toda la información se transferirá de manera automática\r\n        al almacenamiento en la nube.\u003C/p>\r\n\r\n    \u003Ch2>Seguridad de Datos y Resiliencia del Estado Remoto\u003C/h2>\r\n\r\n    \u003Cp>Para proteger la integridad del estado remoto y prevenir desastres operacionales, aplicaremos medidas de\r\n        resiliencia. No usaremos configuraciones básicas; aplicaremos buenas prácticas en \u003Cstrong>Terraform\u003C/strong> para\r\n        asegurar el bucket de estado contra cualquier borrado accidental o filtración:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>versioning:\u003C/strong> Mantendrá un historial seguro de versiones anteriores del archivo en \u003Cstrong>Cloud\r\n                Storage\u003C/strong> para permitir la recuperación ante una \u003Cstrong>corrupción\u003C/strong>.\u003C/li>\r\n        \u003Cli>\u003Cstrong>public_access_prevention:\u003C/strong> Restringirá el acceso público para resguardar los datos en texto\r\n            plano del \u003Cstrong>estado\u003C/strong>.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>El Proceso de Retorno al Estado Local\u003C/h2>\r\n\r\n    \u003Cp>En este laboratorio, realizaremos una simulación completa de desmantelamiento. Para destruir el bucket que\r\n        contiene nuestro propio estado sin fallos, utilizaremos el comando \u003Ccode>terraform init -force-copy\u003C/code> para\r\n        descargar el archivo de control de vuelta a nuestra máquina local.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: Infraestructura lista para el trabajo en equipo\u003C/h2>\r\n    \u003Cp>Has completado el laboratorio del backend remoto. Has aprendido que la transición profesional hacia la nube\r\n        requiere centralizar el estado, habilitar el bloqueo de seguridad y resguardar las credenciales mediante\r\n        versionado estricto. Ya tienes la base colaborativa lista en Google Cloud; el siguiente paso es avanzar al\r\n        Laboratorio 6 para parametrizar de forma avanzada nuestro código.\u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","July 2, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-terraform-05.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-ai-ops-01","Fundamentos de AIOps en Google Cloud | Curso AIOps con Vertex AI","Módulo 1: Fundamentos de AIOps en Google Cloud. Aprende la transición de ITOps a operaciones inteligentes y cómo preparar tu infraestructura base con Terraform.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-01.jpg","May 28, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-ai-ops-02","Vertex AI para AIOps: AutoML y Despliegue | Curso AIOps","Módulo 2: Gestión de modelos con Vertex AI para AIOps. Aprende a utilizar AutoML, gestionar datasets tabulares y desplegar endpoints de predicción.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-ai-ops-03","Observabilidad Inteligente en GCP | Curso AIOps","Módulo 3: Observabilidad Inteligente en GCP. Configuración de Cloud Monitoring, Cloud Logging y creación de dashboards predictivos correlacionados con BigQuery.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-ai-ops-04","Automatización Operativa y Remediación | Curso AIOps","Módulo 4: Automatización Operativa en AIOps. Aprende a crear arquitecturas dirigidas por eventos con Cloud Functions y Pub/Sub para la remediación automática.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-04.jpg",1783009252481]