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, los administrados y los 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 que administres.

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 cómo crear un grupo de instancias administrado, consulta Crea grupos de instancias administrados.

Beneficios

Los MIG ofrecen las ventajas siguientes:

  • Alta disponibilidad:
    • Se mantienen las instancias en ejecución: Si una instancia del grupo se detiene, falla o se borra por una acción que no provenga de 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 esta 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 la app responda como se espera en cada una de las instancias del MIG. Si una instancia presenta una app que no responde, esta instancia se vuelve a crear de forma automática. Verificar que una app responda implica mayor precisión que el simple hecho de constatar 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 las apps en varias zonas. Esta replicación protege contra fallas zonales. Si eso sucede, la app puede seguir entregando el tráfico de las instancias que se ejecutan en las zonas restantes disponibles de 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 apps requieren recursos de procesamiento adicionales, los MIG con ajuste de escala automático pueden aumentar de forma automática la cantidad de instancias del grupo para satisfacer la demanda. Si la demanda disminuye, los MIG con ajuste de escala automático pueden reducirse de manera automática para disminuir los costos.
  • Actualizaciones automatizadas: El actualizador automático de grupos de instancias administrados te permite implementar de manera segura versiones nuevas de software en las instancias del MIG y admite un rango flexible de situaciones de lanzamiento, como las actualizaciones canary y las progresivas. 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 cargas de trabajo típicas y las características 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 las instancias que no tengan 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 estas, 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 crear esa instancia 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 contribuyen a alejar el tráfico de las instancias sin respuesta y a dirigirlo hacia las instancias en buen estado. Estas verificaciones de estado no provocan que Compute Engine vuelva a crear las instancias. Por otra parte, las verificaciones de estado del grupo de instancias administrado indican de manera proactiva que se borren y se vuelvan a crear las instancias cuyo estado es UNHEALTHY.

En la mayoría de los casos, 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 determinan si una instancia recibe tráfico de usuarios. Dado que es posible que los clientes dependan de tus servicios, debes detectar las instancias sin respuesta con rapidez para redireccionar el tráfico en caso de ser 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 Configura 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. De esta manera, se protege la carga de trabajo contra fallas zonales, y los MIG regionales ofrecen una mayor 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.

Para obtener más información, consulta Agrega un grupo de instancias a un balanceador de cargas.

Ajuste de escala automático

Los grupos de instancias administrados admiten el ajuste de escala automático que, de forma dinámica, agrega instancias a un grupo de instancias administrado o las quita de este en respuesta a los aumentos o las disminuciones de 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 Aplica el ajuste de escala automático en grupos de instancias.

Actualización automática

Puedes implementar de forma fácil y segura versiones nuevas de software en las 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 este para minimizar las interrupciones de la aplicación. De forma opcional, puedes realizar lanzamientos parciales que permitan llevar a cabo 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 los costos 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 las recuperará 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 Implementa contenedores en VM y grupos de instancias administrados.

Red y subred

Cuando creas un grupo de instancias administrado, debes hacer referencia a una plantilla de instancias existente. La plantilla de instancias define la subred y red de VPC que usan las instancias miembro. En las redes de VPC en modo automático, puedes omitir la subred; esto indica a Google Cloud que debe seleccionar la subred creada de forma automática en la región especificada en la plantilla. Si omites una red de VPC, Google Cloud intentará usar la red de VPC llamada default.

Para obtener más información, consulta Redes y subredes.

Demostración de las funciones de 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, cómo configurar una política de reparación automática, cómo usar un grupo regional para la protección contra fallas zonales, cómo configurar el ajuste de escala automático a fin de satisfacer los objetivos de CPU y las demandas basadas en las colas y cómo administrar las actualizaciones canary y progresivas.

Grupos de instancias no administrados

Es posible que los grupos de instancias no administrados contengan instancias heterogéneas, que puedes agregar al grupo y quitar de este de forma arbitraria. Los grupos de instancias no administrados no ofrecen ajuste de escala automático, reparación automática, compatibilidad con actualizaciones progresivas o con varias 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 administrar las instancias por tu cuenta.

Si debes crear grupos de instancias no administrados, consulta Grupos de instancias no administrados.

Próximos pasos