Tema 3 de 11
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.
Contenido
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.
¿Necesitas almacenamiento duradero o temporal?: El disco de arranque siempre tiene que ser duradero.
Temporal: Local SSD, si tu serie de máquina lo admite.
Duradero: Hyperdisk, si tu serie lo admite. Google lo recomienda por rendimiento y funciones.
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.
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.
| Tipo | Para qué | Máximo por volumen |
|---|---|---|
| Hyperdisk Balanced | La mayoría de cargas: apps empresariales, discos de arranque, PostgreSQL, MySQL. Lectura-escritura desde hasta 8 instancias | 160 000 IOPS, 2400 MiB/s |
| Hyperdisk Balanced High Availability | Apps críticas con RPO 0: replicación síncrona en dos zonas | 100 000 IOPS, 2400 MiB/s |
| Hyperdisk Extreme | SAP HANA, SQL Server y Oracle de gama alta. Las IOPS más altas | 350 000 IOPS, 5000 MiB/s |
| Hyperdisk ML | IA y HPC: un volumen de solo lectura conectado a hasta 2500 instancias | El mayor throughput de lectura |
| Hyperdisk Throughput | Analítica scale-out (Hadoop, Spark, Kafka) y discos fríos baratos | 9600 IOPS, 2400 MiB/s |
Disco de red cuyos datos se reparten entre varios discos físicos. Úsalo cuando tu serie no admita Hyperdisk.
| Tipo | Medio | Para qué |
|---|---|---|
Balanced (pd-balanced) | SSD | Equilibrio entre coste y rendimiento; la mayoría de apps generales |
SSD (pd-ssd) | SSD | Apps empresariales y bases de datos que necesitan baja latencia y más IOPS |
Standard (pd-standard) | HDD | Procesamiento de datos con E/S secuencial |
Extreme (pd-extreme) | SSD | Bases 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.
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 HA | Pérdida de datos | Recuperación | Coste |
|---|---|---|---|
| Snapshots zonales | La posterior al último snapshot | Minutos | $ |
| Replicación síncrona en la aplicación | Ninguna | Segundos | $$ (dos VM) |
| Discos regionales | Ninguna | Segundos (force attach) | 1,5x a $$; el disco cuesta el doble por byte |
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.
us-central1-a), solo valen en esa zona.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.
gcloud compute instance-groups managed create web-mig \ --region=us-central1 --size=3 --template=web-tpl-v1 \ --health-check=web-hc --initial-delay=120
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ñal | Detalles |
|---|---|
| Uso medio de CPU | Señal por defecto al activar el autoescalado. Ejemplo: objetivo del 75 % |
| Capacidad de servicio del balanceador HTTP | Según la capacidad definida en el backend |
| Métricas de Cloud Monitoring | Métricas por instancia o de grupo, como mensajes pendientes en una cola |
| Programaciones | Capacidad mínima en un horario (una vez, diario, semanal o mensual). Hasta 128 por grupo |
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
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.
130.211.0.0/22 y 35.191.0.0/16.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.
| Situación | Respuesta | Por qué |
|---|---|---|
| Disco de arranque para una VM nueva de serie actual | Hyperdisk Balanced | Recomendado 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 regional | Replicación síncrona entre dos zonas. |
| Caché temporal o tempdb lo más rápida posible | Local SSD | Lo más rápido, pero efímero. |
| Subir el rendimiento de un Persistent Disk sin cambiar de tipo | Aumentar su tamaño | El rendimiento de PD depende de la capacidad. |
| Cambiar la configuración de una plantilla de instancia | Crear una plantilla nueva | Las plantillas no se pueden modificar. |
| Web sin estado que sobreviva a la caída de una zona y escale | MIG regional con autoescalado | Reparte VM entre zonas. |
| Tráfico previsible cada lunes a las 9:00 | Escalado programado o predictivo | Prepara capacidad antes del pico. |
| Probar la nueva versión en el 10 % de las VM | Actualización proactiva con canary | Segunda plantilla aplicada a un subconjunto. |
❓ ¿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?
Preguntas originales, cada una con su explicación.
Empezar un simulacro