¿Quieres construir una infraestructura en Google Cloud Platform (GCP) que sea escalable, resistente y lista para producción?
En esta guía paso a paso aprenderás a crear un Grupo de Instancias Gestionado (MIG) en GCP, utilizando Ubuntu como sistema operativo base y un script de inicio para configurar automáticamente tus VMs.
El objetivo es desplegar un MIG regional en GCP, donde las instancias estarán distribuidas entre varias zonas, garantizando alta disponibilidad ante posibles fallos.
Asumiremos que ya tienes preparado un script de inicio básico (por ejemplo, un archivo startup-script.sh que instala Nginx y despliega una página de prueba) en tu directorio local.
En este modelo, las VMs se consideran “desechables”, es decir, no necesitan ser modificadas manualmente una vez creadas.
Cada instancia puede ser automáticamente reemplazada si falla, siempre configurándose desde cero con el mismo script.
Este enfoque facilita la escalabilidad, mejora la resiliencia del sistema y simplifica la administración en entornos cloud modernos.
¡Vamos a construir juntos una infraestructura ágil, escalable y preparada para el futuro!
🧩 Requisitos
Antes de comenzar, asegúrate de tener lo siguiente:
🔹 Acceso a Google Cloud Platform con permisos suficientes para crear Health Checks, plantillas de instancias y grupos de instancias.
🔹 Google Cloud CLI (gcloud
) instalado y configurado, o alternativamente acceso a la terminal gcloud
integrada en el portal de GCP.
🔹 Un script de inicio (startup-script.sh
) listo en tu máquina local, que configure tus VMs al momento de su creación (por ejemplo, instalando Nginx).
✳️ Crear el Health Check
Un Health Check es fundamental para que el MIG pueda verificar la salud de las VMs y mantenerlas operativas, Lo crearemos primero porque será necesario al momento de definir el grupo de instancias.
gcloud compute health-checks create http hc-web-kloudconk \
--port=80 \
--global

🔹 hc-web-kloudconk
: Nombre asignado al Health Check.
🔹 --port=80
: Verifica la salud a través del puerto HTTP estándar.
🔹 --global
: El Health Check será global, ideal para balanceadores externos distribuidos.
✳️ Crear la Plantilla de Instancia
La plantilla de instancia define la configuración base de todas las VMs que creará el grupo: tipo de máquina, imagen de sistema operativo, script de inicio, redes, etc.
gcloud compute instance-templates create instance-template-web-test \
--machine-type=e2-micro \
--image-project=ubuntu-os-cloud \
--image-family=ubuntu-2204-lts \
--tags=http-server,https-server \
--metadata-from-file startup-script=./startup-script.sh \
--region=us-central1 \
--scopes=cloud-platform

🔹 --machine-type=e2-micro
: Máquina pequeña y eficiente para pruebas.
🔹 --image-family=ubuntu-2204-lts
: Ubuntu 22.04 LTS como imagen base.
🔹 --metadata-from-file startup-script=./startup-script.sh
: Indica el script que se ejecutará al iniciar cada VM.
🔹 --tags=http-server,https-server
: Etiquetas útiles para permitir tráfico HTTP/S a través de reglas de firewall.
💡 Nota: Asegúrate de que el archivo startup-script.sh
esté en el mismo directorio donde ejecutas el comando.
✳️ Crear el Grupo de Instancias Gestionado (MIG) Regional
Ahora vamos a crear el MIG Regional en GCP, que usará la plantilla anterior y aplicará el Health Check que ya definimos.
gcloud compute instance-groups managed create instance-group-web-test \
--template=instance-template-web-test \
--size=2 \
--zones=us-central1-a,us-central1-c,us-central1-f \
--health-check=hc-web-kloudconk \
--initial-delay=300

🔹 --size=2
: Comenzaremos con dos instancias activas.
🔹 --zones
: Distribuye las VMs entre varias zonas para tolerancia a fallos.
🔹 --initial-delay=300
: Da tiempo a que las nuevas VMs se inicialicen antes de ser chequeadas.
✳️ (Opcional) Configurar Autoscaling para el MIG
Habilitaremos el autoscaling para que el MIG pueda adaptarse automáticamente a cambios en la carga de trabajo.
gcloud compute instance-groups managed set-autoscaling instance-group-web-test \
--region=us-central1 \
--max-num-replicas=5 \
--min-num-replicas=2 \
--target-cpu-utilization=0.6 \
--cool-down-period=60

🔹 Escalaremos entre 2 y 5 instancias automáticamente, basado en la utilización promedio de CPU.
🔹 El cooldown asegura que no haya escalados demasiado rápidos o erráticos.
✳️ Verificar el Estado del Grupo de Instancias
Finalmente, puedes consultar el estado de tu MIG y las instancias administradas:
gcloud compute instance-groups managed list-instances instance-group-web-test \
--region=us-central1
Y para ver detalles más completos:
gcloud compute instance-groups managed describe instance-group-web-test \
--region=us-central1


Aquí podrás confirmar:
🔹El número de instancias activas.
🔹El estado de salud reportado por el Health Check.
🔹Si el autoscaling está correctamente configurado.
🌐 Verificar el Servicio Web en las Instancias
Una vez que tu Grupo de Instancias Gestionado (MIG) esté en funcionamiento, puedes validar que el servicio web desplegado por el script de inicio está activo.
¿Cómo hacerlo?
Desde la VM de pivote, utiliza curl
o cualquier navegador en modo CLI para acceder a la IP privada de las instancias del MIG.
Conéctate a una VM de pivote que tenga acceso interno a la VPC donde viven las instancias del MIG.
Esta VM debe estar en la misma red o tener rutas adecuadas para alcanzar las IPs privadas del MIG.
Puedes usar una máquina pequeña tipo e2-micro
solo para esta validación.
curl http://<IP_PRIVADA_DE_LA_INSTANCIA>
Si todo está configurado correctamente, verás en la respuesta la página web de prueba que fue instalada mediante el startup-script.sh
.
🎯 Conclusión
¡Felicidades!
Ahora ya tienes un Grupo de Instancias Gestionado Regional funcionando en GCP, preparado para desplegar aplicaciones de forma automática, distribuida y escalable.
Con esta arquitectura, no solo implementaste un entorno funcional, sino que también seguiste buenas prácticas de alta disponibilidad, automatización y escalabilidad dinámica en la nube:
- Alta disponibilidad, distribuyendo cargas entre múltiples zonas.
- Automatización completa de la configuración inicial de las VMs mediante scripts de arranque.
- Escalabilidad automática, adaptando la capacidad del clúster según la demanda real de trabajo.
Si quieres llevar tu infraestructura al siguiente nivel y exponer este grupo de instancias de manera segura al mundo, te invito a seguir con el próximo paso:
👉 Ver cómo crear un Application Load Balancer moderno en GCP apuntando a tu MIG.
Gracias por acompañarme en este proceso.
Nos vemos en el próximo artículo para seguir construyendo juntos en la nube con KloudConK. 🚀