Grupos de instancias

Un grupo de instancias es un conjunto de instancias de VM que puedes administrar como una sola entidad.

Compute Engine ofrece dos tipos de grupos de instancias de VM:

  • Los grupos de instancias administrados (MIG) te permiten operar aplicaciones en varias VM idénticas. Puedes hacer que las cargas de trabajo sean escalables y de alta disponibilidad si aprovechas los servicios MIG automatizados, incluidos el ajuste de escala automático, la reparación automática, la implementación regional (multizona) y la actualización automática.
  • Los grupos de instancias no administrados te permiten balancear la carga en una flota de VM que administras.

Grupos de instancias administrados (MIG)

Los grupos de instancias administrados (MIG) son adecuados para las cargas de trabajo de entrega sin estado (como el frontend de un sitio web) y las cargas de trabajo de procesamiento por lotes, de alto rendimiento o de alta capacidad de procesamiento (como el procesamiento de imágenes desde una cola).

Cada instancia de VM en un MIG se crea a partir de una plantilla de instancias.

Para crear un grupo de instancias administrado, consulta la página sobre cómo crear grupos de instancias administrados.

Beneficios

Los MIG ofrecen las ventajas siguientes:

  • Alta disponibilidad
    • Mantenimiento de instancias en ejecución: si una instancia en el grupo se detiene, falla o se borra por una acción que no sea un comando de administración del grupo de instancias (por ejemplo, una reducción intencional), el MIG vuelve a crearla de manera automática de acuerdo con la especificación original de la instancia (mismo nombre de instancia, misma plantilla) para que pueda reanudar su trabajo.
    • Reparación automática: también puedes configurar una política de reparación automática que se base en una verificación de estado de la aplicación, que verifica de forma periódica que la aplicación responde como se espera en cada una de las instancias de MIG. Si una aplicación no responde en una instancia, esa instancia se vuelve a crear de manera automática. Verificar que una aplicación responda es más preciso que solo verificar que una instancia esté en funcionamiento.
    • Cobertura regional (multizona): los grupos de instancias administrados regionales te permiten distribuir la carga de aplicaciones en varias zonas. Esta replicación protege contra fallas zonales. Si esto sucede, la aplicación puede continuar entregando tráfico de instancias que se ejecutan en las zonas disponibles restantes en la misma región.
    • Balanceo de cargas: los grupos de instancias administrados trabajan con servicios de balanceo de cargas para distribuir el tráfico en todas las instancias del grupo.
  • Escalabilidad: cuando las aplicaciones requieren recursos de procesamiento adicionales, los MIG escalados de forma automática pueden aumentar de esta misma forma la cantidad de instancias en el grupo para satisfacer la demanda. Si la demanda disminuye, los MIG escalados de forma automática pueden disminuir de esta misma forma para reducir sus costos.
  • Actualizaciones automatizadas: el actualizador automático del grupo de instancias administrado te permite implementar de manera fácil y segura versiones nuevas de software en instancias en tu MIG, lo que admite una gama flexible de situaciones de lanzamiento, como actualizaciones continuas y canary. Puedes controlar la velocidad y el alcance de la implementación, y también el nivel de interrupción del servicio.
Descripción general de las funciones y cargas de trabajo comunes de los MIG

Reparación automática

Los grupos de instancias administrados mantienen la alta disponibilidad de las aplicaciones porque mantienen las instancias disponibles de forma proactiva, es decir, en estado RUNNING. Un grupo de instancias administrado volverá a crear de forma automática una instancia cuyo estado no sea RUNNING. Sin embargo, puede que no sea suficiente solo confiar en el estado de la instancia. Es posible que necesites crear instancias de nuevo cuando una aplicación se congela, falla o se queda sin memoria.

La reparación automática basada en aplicaciones mejora la disponibilidad de las aplicaciones, ya que depende de una señal de verificación de estado que detecta problemas específicos de la aplicación, como fallas o sobrecargas. Si una verificación de estado determina que una aplicación falló en una instancia, el grupo vuelve a crearla de forma automática.

Verificaciones de estado

Las verificaciones de estado que se usan para supervisar los grupos de instancias administrados son similares a las verificaciones de estado que se usan con el balanceo de cargas, a pesar de ciertas diferencias de comportamiento. Las verificaciones de estado del balanceo de cargas ayudan a dirigir el tráfico de las instancias sin respuestas hacia instancias en buen estado. Estas verificaciones de estado no provocan que Compute Engine vuelva a crear instancias. Por otro lado, las verificaciones de estado del grupo de instancias administrado indican de manera proactiva que se borren y vuelvan a crear las instancias cuyo estado es UNHEALTHY.

En la mayoría de las situaciones, debes usar verificaciones de estado distintas para el balanceo de cargas y la reparación automática. Las verificaciones de estado para el balanceo de cargas pueden y deben ser más agresivas, ya que estas verificaciones determinan si una instancia recibe tráfico de usuarios. Dado que los clientes pueden confiar en sus servicios, debes detectar las instancias sin respuesta con rapidez para que puedas redireccionar el tráfico si es necesario. En cambio, la verificación de estado para la reparación automática hará que los MIG reemplacen de forma proactiva las instancias que fallan, por lo que esta verificación debe ser más conservadora que una verificación de estado del balanceo de cargas.

Para obtener más información, consulta la página sobre cómo configurar la verificación de estado y la reparación automática de grupos de instancias administrados.

Grupos regionales o zonales

Puedes crear dos tipos de grupos de instancias administrados:

Ambos tipos ofrecen todas las ventajas de los grupos de instancias administrados. Los MIG regionales agregan una mayor disponibilidad, ya que distribuyen la carga de aplicaciones en varias zonas. Así se protege la carga de trabajo contra fallas zonales. Los MIG regionales ofrecen más capacidad con un máximo de 2,000 instancias por grupo regional.

Balanceo de cargas

El balanceo de cargas de GCP puede usar grupos de instancias para entregar tráfico. Según el tipo de balanceador de cargas que elijas, puedes agregar grupos de instancias a un grupo de destino o un servicio de backend.

Consulta la página sobre cómo agregar un grupo de instancias a un balanceador de cargas para obtener más información.

Ajuste de escala automático

Los grupos de instancias administrados admiten el ajuste de escala automático que, de forma dinámica, agrega o quita instancias de un grupo de instancias administrado en respuesta a los aumentos o disminuciones en la carga. Debes activar el ajuste de escala automático y configurar una política para este a fin de especificar cómo deseas que se escale el grupo. Las políticas del ajuste de escala automático incluyen el escalado basado en el uso de CPU, la capacidad de balanceo de cargas, las métricas de supervisión de Stackdriver o, para los MIG zonales, por una carga de trabajo basada en cola como Google Cloud Pub/Sub.

Para obtener más información, consulta la página sobre cómo escalar grupos de instancias de forma automática.

Actualizaciones automáticas

Puedes implementar de forma fácil y segura versiones nuevas de software en instancias de un grupo de instancias administrado. El lanzamiento de una actualización se realiza de forma automática según tus especificaciones: puedes controlar la velocidad y el alcance de la actualización para minimizar las interrupciones de la aplicación. De manera opcional, puedes realizar lanzamientos parciales que permiten realizar pruebas canary.

Consulta cómo actualizar grupos de instancias administrados.

Grupos de instancias interrumpibles

Para las cargas de trabajo en las que los costos mínimos son más importantes que la velocidad de ejecución, puedes reducir el costo de la carga de trabajo con instancias de VM interrumpibles en el grupo de instancias. Las instancias interrumpibles duran hasta 24 horas y se interrumpen con facilidad: la aplicación tendrá 30 segundos para salir de forma correcta. Las instancias interrumpibles se pueden borrar en cualquier momento, pero la reparación automática recuperará las instancias cuando la capacidad interrumpible vuelva a estar disponible.

Contenedores

Puedes simplificar la implementación de aplicaciones mediante la implementación de contenedores en instancias en grupos de instancias administrados. Cuando especificas una imagen de contenedor en una plantilla de instancias y, luego, usas esa plantilla con el fin de crear un grupo de instancias administrado, cada instancia se creará con un SO optimizado para contenedores que incluye Docker. Así, el contenedor se iniciará de manera automática en cada instancia del grupo. Consulta la página cómo implementar contenedores en VM y grupos de instancias administrados.

Red

Por configuración predeterminada, las instancias en el grupo se colocarán en la red default y se les asignarán direcciones IP del rango regional de manera aleatoria. De manera alternativa, puedes restringir el rango de IP del grupo si creas una red de VPC de modo personalizado y una subred que use un rango de IP más pequeño y, luego, especificas esta subred en la plantilla de instancias.

Demostración de las funciones de MIG

La siguiente presentación en video de 45 minutos, grabada en GCP NEXT '18, contiene demostraciones y prácticas recomendadas para configurar, ejecutar y actualizar implementaciones escalables y de alta disponibilidad con los grupos de instancias administrados de Compute Engine.

Aprenderás a implementar un contenedor en un grupo de instancias administrado, configurar una política de reparación automática, usar un grupo regional con el fin de proteger contra una falla zonal, configurar el ajuste de escala automático para cumplir con los objetivos de la CPU y las demandas basadas en la cola y administrar actualizaciones canary y progresivas.

Grupos de instancias no administrados

Los grupos de instancias no administrados pueden contener instancias heterogéneas que puedes agregar y quitar del grupo de forma arbitraria. Los grupos de instancias no administrados no ofrecen el ajuste de escala automático, la reparación automática, las actualizaciones continuas ni el uso de plantillas de instancias y no son una buena opción para implementar cargas de trabajo escalable y de alta disponibilidad. Debes usar grupos de instancias no administrados si necesitas aplicar el balanceo de cargas a grupos de instancias heterogéneas o si necesitas administrar las instancias tú mismo.

Si debes crear grupos de instancias no administrados, consulta esta página sobre grupos de instancias no administradas.

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine