Backups Automatizados: Snapshots y Discos con Python | Curso Google Cloud Associate Cloud Engineer

Protección de Datos: Snapshots y Automatización con Python

Autor: Eduardo Martínez Agrelo

En el ejercicio anterior logramos que nuestras máquinas fueran "inmortales" usando Managed Instance Groups. Si una VM muere, nace otra. Pero, ¿qué pasa con los datos? Si un disco se corrompe o un usuario borra una base de datos por error, crear una VM nueva no recuperará esa información. En el examen Associate Cloud Engineer, la gestión del almacenamiento de bloque (Persistent Disks) y sus copias de seguridad (Snapshots) es un tema recurrente. En este ejercicio, aprendemos a automatizar esta tarea crítica usando Python.

Discos Persistentes: Almacenamiento en Red

Lo primero es entender que en Google Cloud, el disco duro (Persistent Disk) no está físicamente pegado al servidor. Es almacenamiento conectado por red. Esto permite dos cosas:

  • Redimensionamiento en caliente: Puedes aumentar el tamaño del disco (de 100GB a 200GB) sin apagar la máquina.
  • Desacoplamiento: Puedes borrar la VM y mantener el disco para conectarlo a otra máquina.

La Magia de los Snapshots Incrementales

Un Snapshot (instantánea) es una copia de seguridad del disco en un momento exacto. Pero Google Cloud usa una tecnología inteligente:

  • Incrementalidad: El primer snapshot copia todos los datos. El segundo snapshot solo copia los bloques que han cambiado desde el primero.
  • Eficiencia: Si tienes un disco de 1TB pero solo cambias 10MB al día, tus backups diarios serán rapidísimos y costarán céntimos.
  • Globalidad: Aunque los Discos son Zonales (viven en us-central1-a), los Snapshots son globales (o multi-regionales). Esto significa que puedes restaurar un snapshot en cualquier parte del mundo.

Caso de Uso de Examen: Migración y DR

Una pregunta clásica del examen ACE es: "Tienes una VM en la zona us-central1-a y necesitas moverla a europe-west1-b. ¿Qué haces?"

No existe un botón "Mover VM". El procedimiento correcto es:

  1. Crear un Snapshot del disco de la VM en EE.UU.
  2. Crear un nuevo Disco en Europa usando ese Snapshot como fuente (Source).
  3. Crear una nueva VM en Europa y adjuntar ese disco nuevo como disco de arranque.

Automatización con Python: google-cloud-compute

Hacer backups manuales es arriesgado (se te olvidará). En este ejercicio, escribimos un script en Python que:

  1. Se autentica usando las credenciales de la máquina (o locales).
  2. Utiliza la librería cliente google-cloud-compute.
  3. Localiza el disco objetivo.
  4. Solicita la creación del snapshot de forma asíncrona y espera a que termine.

Conclusión: Datos Seguros

Al finalizar este ejercicio, tendrás un script capaz de proteger tu infraestructura. Has aprendido que la resiliencia de cómputo (MIGs) y la resiliencia de datos (Snapshots) son dos caras de la misma moneda, y ahora sabes cómo implementar ambas.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!