Proteger la información de tus máquinas virtuales y agilizar la configuración de nuevos entornos de desarrollo son tareas esenciales en cualquier proyecto en la nube. Aquí se explica paso a paso cómo crear discos, generar snapshots manuales y programados, construir imágenes personalizadas y levantar máquinas virtuales listas para trabajar, todo dentro de Google Compute Engine.
¿Cómo crear y configurar discos en Google Compute Engine?
Desde la consola de Google Cloud, el menú de navegación permite acceder a Compute Engine y a la sección de discos [0:42]. Al crear un disco nuevo se definen varios parámetros importantes:
- Tipo de disco: estándar o SSD, según las necesidades de rendimiento.
- Disco local: solo se puede crear al momento de generar una máquina virtual, no de forma independiente [1:07].
- Replicación: define si el disco existirá en un solo data center (zona) o en al menos dos zonas dentro de Google Cloud para mayor disponibilidad.
- Fuente del disco: puede ser vacío, basado en una imagen de booteo o a partir de un snapshot [1:30].
Un detalle relevante es que los valores de lectura y escritura (IOPS) cambian conforme se modifica el tamaño del disco. Un disco de mayor capacidad ofrece más operaciones por segundo [1:47]. Esto permite ajustar el almacenamiento a las necesidades reales del proyecto. El disco creado de esta forma no queda vinculado a ninguna máquina virtual de manera predeterminada; después se puede asociar a las instancias existentes.
¿Cómo generar snapshots manuales y programados?
Un snapshot es una copia del estado de un disco en un momento específico. Se puede crear desde la interfaz gráfica o desde la línea de comandos con Google Cloud Shell [2:15], una máquina virtual gratuita con Debian y cinco gigas de almacenamiento que incluye el Google Cloud SDK preinstalado. Este SDK funciona en Windows, Linux y Mac para ejecutar tareas administrativas sobre los recursos del proyecto.
El comando para crear un snapshot desde la terminal es:
bash
gcloud compute disks snapshot instance-platzi
Al ejecutarlo, el sistema solicita la ubicación del disco [3:09]. Si no se especifica la zona, presenta una lista de opciones disponibles. Una vez seleccionada la zona correcta (por ejemplo, us-central1-a), el snapshot comienza a generarse [3:45]. El tiempo de creación depende del tamaño del disco y la cantidad de datos almacenados.
¿Cómo programar snapshots automáticos?
Para evitar hacer este proceso de forma manual cada vez, existe la opción Create snapshot schedule [4:18]. Esta funcionalidad permite definir:
- Ubicación: regional o multiregional para alta disponibilidad.
- Frecuencia: cada hora, cada día o de manera semanal.
- Horario: por ejemplo, los sábados de cuatro a cinco de la mañana, cuando el tráfico de la aplicación suele ser bajo [4:44].
- Auto delete: eliminar snapshots antiguos después de un período definido, como catorce días o ciento ochenta días [5:07].
Lo que se crea no es un snapshot inmediato, sino una regla de programación que genera copias de forma recurrente y gestiona su ciclo de vida automáticamente.
¿Cómo crear imágenes personalizadas para nuevas máquinas virtuales?
Las imágenes personalizadas resuelven un problema común: cada vez que alguien se incorpora al equipo de desarrollo, necesita instalar múltiples componentes en su máquina virtual [5:50]. Una imagen captura el estado completo de un disco, incluyendo el sistema operativo y todo el software instalado.
Para crear una imagen se indica:
- Fuente: un disco existente o un snapshot [6:05].
- Ubicación: multiregional para mayor acceso.
- Familia: el sistema operativo base, como Debian.
¿Cómo levantar una máquina virtual desde una imagen personalizada?
Al crear una nueva instancia, en la sección de sistema operativo se selecciona Custom images en lugar de las opciones predeterminadas [6:55]. También es posible usar un snapshot o un disco existente como fuente. Al elegir la imagen personalizada, la nueva máquina virtual arranca con todos los componentes preinstalados.
Por ejemplo, al conectarse por SSH a la nueva instancia, el directorio trivia-webapp ya aparece disponible sin haber clonado ningún repositorio [7:45]. Ese directorio proviene directamente de la imagen generada a partir del snapshot.
Si la máquina necesita un startup script, se puede agregar al momento de la creación o después, desde la sección de custom metadata [7:25]. Esto permite automatizar configuraciones adicionales cada vez que la instancia se inicie.
Trabajar con snapshots programados e imágenes personalizadas transforma la gestión de entornos: reduce tiempos de configuración, protege la información y simplifica la incorporación de nuevos integrantes al equipo. ¿Ya has implementado alguna de estas estrategias en tus proyectos? Comparte tu experiencia.