Grupos de instancias

Un grupo de instancias es un conjunto de instancias de máquinas virtuales (VM) que puedes administrar como una sola entidad.

Compute Engine ofrece dos tipos de grupos de instancias de VM, administrados y no administrados:

  • Los grupos de instancias administrados (MIG) te permiten operar apps en varias VM idénticas. Puedes hacer que tus cargas de trabajo sean escalables y tengan alta disponibilidad gracias a los servicios de MIG automatizados, que incluyen el ajuste de escala automático, la reparación automática, la implementación regional (en varias zonas) y la actualización automática.
  • Los grupos de instancias no administrados te permiten aplicar el balanceo de cargas en una flota de VM administradas por ti.

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 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 obtener información sobre la creación de un grupo de instancias administrado, consulta la creación de grupos de instancias administrados.

Beneficios

Los MIG ofrecen las ventajas siguientes:

  • Alta disponibilidad
    • Se mantienen las 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 del escalamiento), el MIG vuelve a crearla de manera automática de acuerdo con la especificación de la instancia original (mismo nombre de instancia y 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 use una verificación de estado basada en la aplicación, la cual verifica de forma periódica que tu app responda como se espera en cada una de las instancias del MIG. Si una instancia presenta una app que no responde, se vuelve a crear de forma automática. Verificar que una app responda es más preciso que solo verificar que una instancia esté activa y en ejecución.
    • Cobertura regional (en varias zonas): Los grupos de instancias administrados regionales te permiten distribuir la carga de apps en varias zonas. Esta replicación protege contra fallas zonales. Si eso sucede, tu app puede seguir entregando el tráfico de las instancias que se ejecutan en las zonas restantes disponibles 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 tus apps requieren recursos de procesamiento adicionales, los MIG con ajuste de escala automático pueden aumentar de forma automática la cantidad de instancias en el grupo para satisfacer la demanda. Si la demanda disminuye, los MIG con ajuste de escala automático pueden reducirse para disminuir tus costos.
  • Actualizaciones automatizadas: El actualizador automático de grupos de instancias administrados te permite implementar versiones nuevas de software en las instancias de tu MIG y admite un rango flexible de situaciones de lanzamiento, como las actualizaciones progresivas y de canario. Puedes controlar la velocidad y el alcance de la implementación, además del 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 recreará de forma automática una instancia que no tenga el estado RUNNING. Sin embargo, es posible que depender solo del estado de la instancia no sea suficiente. Quizás 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 que se usan con el balanceo de cargas, aunque hay ciertas diferencias en el comportamiento. Las verificaciones de estado del balanceo de cargas ayudan a dirigir el tráfico de las instancias sin respuesta hacia instancias en buen estado. Estas verificaciones de estado no hacen que Compute Engine vuelva a crear las 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 es posible que los clientes necesiten tus servicios, debes detectar las instancias sin respuesta con rapidez para 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 aportan 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

Con el balanceo de cargas de Google Cloud, se pueden 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 a 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 de ajuste de escala automático incluyen el escalamiento basado en el uso de CPU, la capacidad de balanceo de cargas, las métricas de Stackdriver Monitoring o, para los MIG zonales, una carga de trabajo basada en las colas, como Pub/Sub.

Para obtener más información, consulta la página sobre cómo aplicar el ajuste de escala automático en grupos de instancias.

Actualización automática

Puedes implementar de forma fácil y segura versiones nuevas del 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 forma opcional, puedes realizar lanzamientos parciales que permitan realizar pruebas de canario.

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 de 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

De forma predeterminada, las instancias del grupo se ubicarán en la red default y se les asignarán al azar direcciones IP del rango regional. Como 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, para especificar luego esta subred en la plantilla de instancias.

Demostración de las funciones de los MIG

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

En el video, se muestra cómo implementar un contenedor en un grupo de instancias administrado, configurar una política de reparación automática, usar un grupo regional para la protección contra fallas zonales, configurar el ajuste de escala automático a fin de satisfacer los objetivos de CPU y las demandas basadas en las colas, y administrar las 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 ajuste de escala automático, reparación automática, compatibilidad con actualizaciones continuas o con múltiples zonas, ni el uso de plantillas de instancias, y no son una buena opción para implementar cargas de trabajo escalables y con alta disponibilidad. Usa los grupos de instancias no administrados si necesitas aplicar el balanceo de cargas a grupos de instancias heterogéneas o si necesitas administrar las instancias por tu cuenta.

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

Próximos pasos