Creación y Gestión de Máquinas Virtuales en Google Cloud

Clase 8 de 48Entrenamiento de Google Cloud Platform

Contenido del curso

Compute on Google Cloud Platform

Google Kubernetes Engine

Streaming Data Analytics

Machine Learning

Resumen

Desplegar una aplicación en la nube comienza con una decisión fundamental: elegir y configurar correctamente tu máquina virtual. En este recorrido práctico por la consola de Google Cloud se muestra, paso a paso, cómo crear una instancia en Compute Engine, convertirla en una imagen reutilizable, armar una plantilla y, finalmente, construir un grupo de instancias con autoescalamiento que se repare solo ante fallos.

¿Cómo se crea una máquina virtual en Compute Engine?

El punto de partida es la consola de Google Cloud en console.cloud.google.com [0:42]. Desde ahí se selecciona o crea un proyecto —en el ejemplo, el proyecto se llama Compute Options— y en el menú izquierdo se busca Compute Engine [1:08].

Al crear la instancia aparecen varias decisiones importantes:

  • Nombre de la instancia: puede dejarse el valor por defecto o personalizarse.
  • Región y zona: la región debe elegirse según la cercanía con los usuarios; por ejemplo, US Central 1 para México [1:25]. Google recomienda consultar con un customer engineer para conocer la disponibilidad de servicios por zona.
  • Familia de máquinas: aquí se eligen las familias que se estudiaron anteriormente. Existen máquinas predeterminadas y máquinas a la medida (custom) [1:53]. En el ejemplo se selecciona una N1 Standard 1 con un core virtual y 3.77 GB de memoria, con un costo aproximado de 24 dólares mensuales [2:10].
  • Imagen del sistema operativo: por defecto se ofrece Debian.
  • Tráfico HTTP y HTTPS: dos checkboxes que habilitan el acceso por los puertos 80 y 443 [2:30].

¿Qué sucede con las etiquetas de red al permitir tráfico HTTP?

Cuando se activan esos checkboxes, Compute Engine genera automáticamente etiquetas de red (network tags): http-server y https-server [3:05]. Estas etiquetas se vinculan a reglas de firewall que permiten el acceso desde cualquier IP a los puertos 80 y 443. Es una forma sencilla y poderosa de gestionar el acceso a los servicios mediante etiquetas en lugar de configurar reglas manuales por cada instancia.

¿Cómo conectarse por SSH e instalar software?

Desde la consola se puede abrir una terminal SSH directamente en el navegador [3:48]. Al ejecutar la instalación de Apache 2, la descarga es notablemente rápida porque la terminal corre en la nube y utiliza la infraestructura de red de Google, no tu conexión local [4:15]. Después, basta con modificar el archivo index.html para servir un "Hola mundo" y verificar el funcionamiento accediendo a la IP externa por HTTP [4:35].

Un punto crítico: el código de la aplicación no debería vivir directamente en la máquina virtual [4:55]. Si alguien accede a la instancia, podría robar el código de la organización. La práctica recomendada es utilizar un proceso de integración continua (CI) y desplegar únicamente binarios o código ofuscado.

¿Cómo crear un grupo de autoescalamiento con plantillas e imágenes?

El objetivo es construir un grupo aplicativo que escale automáticamente y se autorrepare cuando un nodo falle. El proceso tiene tres pasos encadenados:

  • Separar disco y cómputo: al editar la instancia, se indica que el disco no se borre al eliminar la máquina [5:30]. Así, al destruir la instancia, el disco persiste.
  • Crear una imagen (image): a partir de ese disco se genera una imagen personalizada que captura el estado completo del sistema operativo y el software instalado [6:00].
  • Crear una plantilla (instance template): la plantilla toma como base la imagen recién creada y define las especificaciones de las futuras instancias [6:25].

¿Cómo funciona el grupo de instancias con autoescalamiento?

Con la plantilla lista, se crea un grupo de instancias (instance group) [7:15]. Se configura:

  • Mínimo de instancias: 1.
  • Máximo de instancias: 3.
  • Métrica de escalamiento: 60 % de utilización de recursos [7:30].

Esto significa que si la primera máquina supera el 60 % de uso, el grupo lanza una segunda instancia, y así hasta el máximo definido. Un detalle poderoso: la consola ya no permite borrar manualmente una instancia que pertenece al grupo [8:50]. Si la máquina falla, el grupo de instancias actúa como un manejador que detecta la caída y levanta automáticamente un reemplazo. Es un mecanismo que evita el sobreprovisionamiento y responde de forma elástica a los picos de tráfico.

¿Cuándo usar imágenes optimizadas para contenedores?

Compute Engine también ofrece un sistema operativo optimizado para contenedores (Container-Optimized OS) [9:40]. Esta imagen incluye solo lo mínimo necesario para ejecutar un container con Docker preinstalado.

  • Es ideal cuando aún no se da el salto a Kubernetes Engine ni a servicios serverless como Cloud Run o App Engine [10:05].
  • Permite ejecutar un docker run con cualquier imagen de contenedor; si no la encuentra localmente, la descarga automáticamente de un registro público [10:35].
  • Sirve como entorno de pruebas o incluso como solución definitiva para workloads suficientemente simples.

Con estos elementos —máquinas virtuales, imágenes, plantillas, grupos de autoescalamiento y soporte para contenedores— ya tienes las herramientas para que tu infraestructura en Google Cloud crezca y se recupere de forma autónoma. Si has experimentado con alguno de estos pasos, comparte tu experiencia en los comentarios.