VMs y Startup Scripts con gcloud | Curso Google Cloud Associate Cloud Engineer

Despliegue de VMs y Automatización con Startup Scripts

Autor: Eduardo Martínez Agrelo

Entramos en el corazón de la infraestructura: Compute Engine. Aunque el mundo se mueve hacia contenedores y serverless, las Máquinas Virtuales (VMs) siguen siendo la columna vertebral de muchas cargas de trabajo. En el examen Associate Cloud Engineer, no basta con saber crear una VM; debes saber cómo hacer que esa VM sea útil desde el segundo cero sin intervención humana.

Zonas vs. Regiones: La Pregunta de Examen #1

Antes de lanzar el comando, hay un concepto de arquitectura que debes grabar a fuego:

  • Región (Region): Área geográfica (ej. us-central1, Iowa). Contiene múltiples zonas.
  • Zona (Zone): Despliegue físico dentro de una región (ej. us-central1-a). Piensa en ello como un centro de datos independiente con su propia energía y red.

Importante: Las VMs son recursos ZONALES. Si creas una instancia en us-central1-a y esa zona sufre un apagón, tu instancia cae. Para tener Alta Disponibilidad (HA), debes distribuir tus recursos en múltiples zonas.

El Problema de la Configuración Manual

Crear la VM es solo el paso 1. El paso 2 es instalar el software (Apache, Nginx, tu aplicación). Un principiante:

  1. Crea la VM.
  2. Se conecta por SSH.
  3. Ejecuta sudo apt-get update y sudo apt-get install nginx manual y lentamente.

Esto no escala. Si tienes que lanzar 100 servidores, tardarás días. Google Cloud soluciona esto con los Startup Scripts.

Automatización: Startup Scripts y Metadata

Un Startup Script es un fragmento de código (generalmente Bash o Python) que se ejecuta automáticamente cuando la instancia arranca por primera vez. Se ejecuta con privilegios de root (administrador).

En este ejercicio, usamos el flag --metadata startup-script de gcloud para inyectar las instrucciones de instalación directamente en la creación. El flujo es:

  1. Google aprovisiona el hardware.
  2. Arranca el SO (Debian/Ubuntu).
  3. El agente de Google lee la metadata, encuentra el script y lo ejecuta.
  4. Cuando tú entras por primera vez, el servidor web ya está instalado y funcionando.

La Práctica con gcloud

Usaremos el comando:

gcloud compute instances create servidor-web-1

Observa cómo combinamos todo lo aprendido: especificamos la Zona, asignamos la Subred que creamos antes, pegamos el Network Tag para que el firewall lo proteja, e inyectamos el Startup Script.

Conclusión: Infraestructura como Código (Nivel Básico)

Al finalizar este ejercicio, tendrás un servidor web Nginx totalmente funcional sin haber tecleado ni un solo comando dentro de la máquina. Has dado el primer paso hacia la infraestructura inmutable y automatizada.

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