Brains4Cloud
ESEN
Practicar

Tema 3 de 11

D2 · Planificar e implementar una solución en la nube

Discos y grupos de instancias administrados

Dos apartados del temario: elegir el almacenamiento adecuado para Compute Engine (Persistent Disk zonal o regional y Google Cloud Hyperdisk) y crear un grupo de instancias administrado con autoescalado a partir de una plantilla. Juntos son la base de cualquier despliegue escalable en VM.

Almacenamiento en bloque: temporal o duradero

Temporal: Local SSD

El más rápido, conectado físicamente al servidor. Los datos se pierden si la VM se detiene, suspende, reinicia o falla. Solo para datos de trabajo y cachés. No sirve como disco de arranque.

Duradero: Hyperdisk y Persistent Disk

Discos de red que conservan los datos al detener o borrar la VM. Se pueden conectar a una VM en marcha, desconectar y mover. Cifrados en reposo y en tránsito por defecto.

Se paga la capacidad aprovisionada desde que se crea el disco hasta que se borra, aunque esté conectado a una VM detenida o a ninguna. En Hyperdisk y PD Extreme también se paga el rendimiento aprovisionado.

Cómo elegir el disco

1

¿Necesitas almacenamiento duradero o temporal?: El disco de arranque siempre tiene que ser duradero.

2

Temporal: Local SSD, si tu serie de máquina lo admite.

3

Duradero: Hyperdisk, si tu serie lo admite. Google lo recomienda por rendimiento y funciones.

4

Si tu serie no admite Hyperdisk: Persistent Disk. Las series más recientes no admiten PD.

La diferencia clave

En Hyperdisk el rendimiento (IOPS o throughput) se configura con independencia del tamaño y se puede cambiar con el disco en uso. En Persistent Disk el rendimiento depende de la capacidad: para tener más, hay que agrandar el disco.

Google Cloud Hyperdisk

El disco duradero más rápido de Compute Engine, basado en la tecnología Titanium. Admite compartir un volumen entre VM, Storage Pools para comprar capacidad y rendimiento en bloque, protección contra escrituras incompletas y Asynchronous Replication a otra región.

TipoPara quéMáximo por volumen
Hyperdisk BalancedLa mayoría de cargas: apps empresariales, discos de arranque, PostgreSQL, MySQL. Lectura-escritura desde hasta 8 instancias160 000 IOPS, 2400 MiB/s
Hyperdisk Balanced High AvailabilityApps críticas con RPO 0: replicación síncrona en dos zonas100 000 IOPS, 2400 MiB/s
Hyperdisk ExtremeSAP HANA, SQL Server y Oracle de gama alta. Las IOPS más altas350 000 IOPS, 5000 MiB/s
Hyperdisk MLIA y HPC: un volumen de solo lectura conectado a hasta 2500 instanciasEl mayor throughput de lectura
Hyperdisk ThroughputAnalítica scale-out (Hadoop, Spark, Kafka) y discos fríos baratos9600 IOPS, 2400 MiB/s

Disco de red cuyos datos se reparten entre varios discos físicos. Úsalo cuando tu serie no admita Hyperdisk.

TipoMedioPara qué
Balanced (pd-balanced)SSDEquilibrio entre coste y rendimiento; la mayoría de apps generales
SSD (pd-ssd)SSDApps empresariales y bases de datos que necesitan baja latencia y más IOPS
Standard (pd-standard)HDDProcesamiento de datos con E/S secuencial
Extreme (pd-extreme)SSDBases de datos de gama alta; permite fijar las IOPS. Pocas series

Tipo por defecto

En la consola el tipo por defecto es pd-balanced; con gcloud o la API es pd-standard.

Persistent Disk regional y alta disponibilidad

El Persistent Disk regional y Hyperdisk Balanced High Availability replican los datos de forma síncrona entre dos zonas de la misma región y aguantan la caída de una zona. Si la zona principal falla, se fuerza la conexión (force attach) del disco a una VM de reserva en la otra zona, en segundos.

Opción de HAPérdida de datosRecuperaciónCoste
Snapshots zonalesLa posterior al último snapshotMinutos$
Replicación síncrona en la aplicaciónNingunaSegundos$$ (dos VM)
Discos regionalesNingunaSegundos (force attach)1,5x a $$; el disco cuesta el doble por byte
  • La aplicación, el sistema de archivos y el SO deben tolerar caídas abruptas.
  • Se ahorra arrancando la VM secundaria solo cuando hace falta la conmutación.
  • Durabilidad: el PD regional tiene el doble de réplicas que el zonal. Ni los discos regionales ni los snapshots protegen por sí solos contra la corrupción de datos de la aplicación.

Local SSD

  • Cada disco Local SSD da 375 GiB en las series que usan ese tamaño.
  • No se replica: los datos pueden perderse si la VM se detiene o termina por cualquier motivo.
  • Se conservan en ciertos casos: VM que se reinician en el mismo host tras un mantenimiento, o si eliges conservarlos al detener o suspender la VM (vista previa).
  • Tras un error del host, Compute Engine intenta recuperar los datos durante el tiempo configurado; si no lo consigue, se pierden.
  • Para conservar los datos, cópialos a un Persistent Disk o Hyperdisk.
  • Con Spot VMs, los Local SSD también tienen precio Spot.

Plantillas de instancia

Guardan la configuración de una VM: tipo de máquina, imagen del disco de arranque, labels, script de inicio y otras propiedades. Sirven para crear VM sueltas, reservas y, obligatoriamente, grupos de instancias administrados.

Regional (recomendada)

Solo se usa en su región. Aísla los errores de hardware y ayuda con la residencia de datos.

Global

Se reutiliza en cualquier región. Úsala solo si la necesitas en varias.

  • No se pueden modificar después de crearlas: se crea una nueva a partir de una VM o de otra plantilla.
  • Si incluyen un recurso zonal (por ejemplo, un disco de solo lectura de us-central1-a), solo valen en esa zona.
  • Las plantillas deterministas fijan versiones concretas del software que instala el script de inicio para que todas las VM sean idénticas.
gcloud compute instance-templates create web-tpl-v1 \
  --instance-template-region=us-central1 --machine-type=e2-medium \
  --image-family=debian-13 --image-project=debian-cloud \
  --metadata-from-file=startup-script=startup.sh

Un MIG ejecuta varias VM idénticas creadas desde una plantilla, con autoescalado, autoreparación, despliegue en varias zonas y actualizaciones automáticas. Los grupos no administrados solo sirven para balancear carga entre VM que gestionas tú; no admiten autoescalado.

MIG zonal

Todas las VM en una zona. Hasta 1000 VM por defecto.

MIG regional

VM repartidas en varias zonas: protege frente a la caída de una zona. Hasta 2000 VM por defecto.

  • Si una VM se detiene, falla, es interrumpida (Spot) o la borra alguien ajeno al MIG, el MIG la vuelve a crear con el mismo nombre y plantilla.
  • Los MIG con estado conservan el nombre, los discos y los metadatos de cada VM al recrearla: sirven para bases de datos o aplicaciones heredadas.
  • Se integran con los balanceadores de carga como backend.
gcloud compute instance-groups managed create web-mig \
  --region=us-central1 --size=3 --template=web-tpl-v1 \
  --health-check=web-hc --initial-delay=120

Autoescalado

El autoescalador añade VM cuando sube la carga y las elimina cuando baja, según la política del grupo. Usa el agente de servicio de Compute Engine, que se crea al habilitar la API. Solo funciona con MIG.

SeñalDetalles
Uso medio de CPUSeñal por defecto al activar el autoescalado. Ejemplo: objetivo del 75 %
Capacidad de servicio del balanceador HTTPSegún la capacidad definida en el backend
Métricas de Cloud MonitoringMétricas por instancia o de grupo, como mensajes pendientes en una cola
ProgramacionesCapacidad mínima en un horario (una vez, diario, semanal o mensual). Hasta 128 por grupo
  • Con varias señales, el grupo toma el mayor de los tamaños recomendados.
  • Con CPU, capacidad del balanceador o métricas por instancia no puede bajar a cero. Con otras métricas o programaciones sí, si el mínimo es 0.
  • Periodo de inicialización (antes cool down): por defecto 60 s; durante ese tiempo no se usan los datos de la VM nueva para escalar hacia fuera.
  • Periodo de estabilización: por defecto 10 minutos (0 a 3600 s); evita eliminar VM demasiado pronto tras un pico.
  • Autoescalado predictivo: prevé la carga con el histórico y escala antes. Útil si la app tarda más de 2 minutos en arrancar y la carga sigue ciclos diarios o semanales.
  • Scale-in controls: limitan cuántas VM se pueden quitar en una ventana de tiempo.
gcloud compute instance-groups managed set-autoscaling web-mig \
  --region=us-central1 --min-num-replicas=2 --max-num-replicas=20 \
  --target-cpu-utilization=0.60 --cool-down-period=90 --stabilization-period=240

Autoreparación y health checks

La autoreparación basada en la aplicación usa un health check que comprueba que la app responde en cada VM; si no responde, el MIG recrea la VM. Es más preciso que comprobar solo que la VM está en marcha.

Health check del balanceador

Desvía el tráfico de las VM que no responden; no las recrea. Debe ser más agresivo.

Health check de autoreparación

Borra y recrea las VM UNHEALTHY. Debe ser más conservador. Google recomienda usar health checks distintos.

  • El retraso inicial (initial delay) es el tiempo que tarda una VM nueva en arrancar y ejecutar su script; durante él, el MIG ignora los health checks fallidos.
  • Hay que permitir en el firewall el tráfico de los health checks desde 130.211.0.0/22 y 35.191.0.0/16.

Actualizar un MIG

Automática (proactive)

El MIG aplica la nueva plantilla a todas las VM o a un subconjunto, con un presupuesto de interrupción. Permite canary: una segunda plantilla para parte de las VM.

Selectiva (opportunistic)

La configuración nueva solo se aplica a las VM que eliges actualizar, a mano o todas a la vez.

Escenarios de examen

SituaciónRespuestaPor qué
Disco de arranque para una VM nueva de serie actualHyperdisk BalancedRecomendado para la mayoría de cargas, incluido el arranque.
Base de datos que no puede perder datos si cae una zona (RPO 0)Hyperdisk Balanced High Availability o PD regionalReplicación síncrona entre dos zonas.
Caché temporal o tempdb lo más rápida posibleLocal SSDLo más rápido, pero efímero.
Subir el rendimiento de un Persistent Disk sin cambiar de tipoAumentar su tamañoEl rendimiento de PD depende de la capacidad.
Cambiar la configuración de una plantilla de instanciaCrear una plantilla nuevaLas plantillas no se pueden modificar.
Web sin estado que sobreviva a la caída de una zona y escaleMIG regional con autoescaladoReparte VM entre zonas.
Tráfico previsible cada lunes a las 9:00Escalado programado o predictivoPrepara capacidad antes del pico.
Probar la nueva versión en el 10 % de las VMActualización proactiva con canarySegunda plantilla aplicada a un subconjunto.

Trampas frecuentes del examen

❓ ¿Se puede usar Local SSD como disco de arranque?

No. El arranque requiere almacenamiento duradero: Hyperdisk o Persistent Disk.

❓ ¿Cómo aumento el rendimiento de un Persistent Disk?

Aumentando su tamaño, porque su rendimiento depende de la capacidad. En Hyperdisk el rendimiento se ajusta aparte.

❓ ¿Puedo editar una plantilla de instancia existente?

No. Hay que crear una nueva y aplicarla al MIG.

❓ ¿Un MIG escalado por CPU puede bajar a cero VM?

No. Con CPU, capacidad del balanceador o métricas por instancia el mínimo efectivo es una VM.

❓ ¿Cuál es el tipo de PD por defecto con gcloud?

pd-standard. En la consola es pd-balanced.

❓ ¿Un disco regional replica entre tres zonas?

No. Replica de forma síncrona entre dos zonas de la misma región.

❓ ¿Los grupos no administrados admiten autoescalado?

No. Solo los MIG.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una aplicación web sin estado debe seguir funcionando si cae una zona y adaptarse sola a la carga. Las VM tardan 3 minutos en arrancar y el MIG está recreando VM sanas que todavía no han terminado de iniciarse. ¿Qué hace?

¿Listo para poner a prueba "Discos y grupos de instancias administrados"?

Preguntas originales, cada una con su explicación.

Empezar un simulacro