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 balanceo de cargas en una flota de VM administradas por ti.

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Compute Engine en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Compute Engine gratis

Grupos de instancias administrados (MIG)

Usa un grupo de instancias administrado (MIG) para situaciones como las siguientes:

  • Cargas de trabajo de entrega sin estado, como un frontend de sitio web
  • Cargas de trabajo sin estado de procesamiento por lotes, de alto rendimiento o de alta capacidad de procesamiento (como el procesamiento de imágenes de una cola)
  • Aplicaciones con estado, como bases de datos, aplicaciones heredadas y procesamientos por lotes de larga duración con puntos de control

Compute Engine mantiene cada una de las instancias administradas de MIG en función de la configuración que especifiques en una plantilla de instancias y en la configuración con estado opcional.

Si quieres obtener información para crear un MIG, consulta Crea grupos de instancias administrados.

Ventajas

Los MIG ofrecen las siguientes ventajas:

  • Alta disponibilidad.
    • Reparación automática de VMs con errores. Si una VM del grupo se detiene, falla, se interrumpe (VMs Spot) o se borra por una acción que el MIG no inició, el MIG vuelve a crear automáticamente esa VM basada en su configuración original (el mismo nombre de VM, misma plantilla) para que la VM pueda reanudar su trabajo.
    • Reparación automática basada en la aplicación. También puedes configurar una verificación de estado basada en la aplicación, que comprueba de forma periódica que la aplicación responda como se espera en cada una de las instancias del MIG. Si una aplicación no responde en una VM, la reparación automática volverá a crear la VM de forma automática. Comprobar que una app responda implica mayor precisión que verificar si una VM está en funcionamiento.
    • Cobertura regional (en varias zonas): Los MIG regionales te permiten distribuir la carga de la app 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 MIG 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 MIG te permite implementar versiones nuevas de software en las instancias del MIG de forma segura y admite una variedad flexible de situaciones de lanzamiento, como las actualizaciones canary y progresivas. Puedes controlar la velocidad y el alcance de la implementación, además del nivel de interrupción del servicio.
  • Compatibilidad con cargas de trabajo con estado. Puedes usar MIG para compilar implementaciones con alta disponibilidad y automatizar la operación de aplicaciones con configuración o datos con estado, como bases de datos, servidores DNS, aplicaciones monolíticas heredadas o procesamientos por lotes de larga duración con puntos de control. Los MIG con estado conservan el estado único de cada instancia (nombre de la instancia, discos persistentes conectados y metadatos) en el reinicio, la recreación, la reparación automática y la actualización de la máquina.
  • Crea VMs de GPU de una sola vez. Cuando tienes un trabajo por lotes, como un entrenamiento de IA o AA, que requiere una cantidad exacta de VMs de GPU, crear una solicitud de cambio de tamaño en un MIG puede ayudarte a crear las VMs de una sola vez. Puedes especificar la duración de la que deseas que se ejecuten las VMs, lo que mejora la capacidad de obtener recursos altamente solicitados, como las GPUs.
Usa un grupo de instancias administrado a fin de compilar implementaciones con alta disponibilidad para cargas de trabajo por lotes, de entregas sin estado o de aplicaciones con estado.
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 tus aplicaciones porque, de forma proactiva, se aseguran de que las instancias de VM estén siempre disponibles. Un MIG repara de forma automática las instancias con errores a través de su recreación.

También es posible que quieras reparar instancias 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 un indicador 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 VM, el grupo vuelve a crear esa instancia de VM de forma automática.

Para obtener más información, consulta Información sobre la reparación de VM en un MIG.

Verificaciones de estado

Las verificaciones de estado que se usan para supervisar los MIG son similares a las que se usan para el balanceo de cargas, con algunas diferencias de comportamiento. Las verificaciones de estado del balanceo de cargas contribuyen a alejar el tráfico de las instancias que no responden y a dirigirlo hacia las instancias en buen estado. Estas verificaciones 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 determinan si una instancia recibe tráfico de usuarios. Dado que es posible que los clientes confíen en tus servicios, debes detectar las instancias que no responden con rapidez para poder redireccionar el tráfico en caso de ser necesario. En cambio, la verificación de estado para la reparación automática hace que los MIG reemplacen de forma proactiva las instancias que fallan, por lo que esta verificación debe ser más conservadora que una del balanceo de cargas.

Para obtener más información, consulta Configura la verificación de estado y la reparación automática de una aplicación.

Grupos regionales o zonales

Puedes crear dos tipos de MIG:

  • Un MIG zonal, que implementa instancias en una sola zona
  • Un MIG regional, que implementa instancias en varias zonas de la misma región

Ambos tipos ofrecen todas las ventajas de los MIG. 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. De forma predeterminada, puedes crear hasta 2,000 VMs en un MIG regional y 1,000 VMs en un MIG zonal. Si necesitas más VMs, puedes aumentar el límite de tamaño de tu MIG o comunicarte con el equipo de asistencia.

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 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 MIG admiten el ajuste de escala automático, que agrega o quita instancias de VM de forma dinámica del grupo en respuesta a aumentos o disminuciones en la carga. Puedes configurar una política de ajuste de escala automático para especificar cómo deseas escalar el grupo. En la política de ajuste de escala automático, puedes configurar uno o más indicadores para escalar el grupo en función del uso de CPU, la capacidad de balanceo de cargas, las métricas de Cloud Monitoring, los programas o, para los MIG zonales, mediante una carga de trabajo basada en 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 versiones nuevas de software de manera sencilla y segura en las instancias de un MIG. 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 Actualiza los MIG.

Compatibilidad con cargas de trabajo con estado

Puedes compilar implementaciones con alta disponibilidad de cargas de trabajo con estado en VM mediante grupos de instancias administrados con estado (MIG con estado). Las cargas de trabajo con estado incluyen aplicaciones que tienen configuración o datos con estado, como bases de datos, aplicaciones monolíticas heredadas y procesamientos por lotes de larga duración con puntos de control.

Puedes mejorar el tiempo de actividad y la resiliencia de estas aplicaciones con la reparación automática, las actualizaciones controladas y las implementaciones multizona, mientras conservas el estado único de cada instancia, incluidos los nombres de instancias personalizables, los discos persistentes y los metadatos.

Para obtener más información, consulta MIG con estado.

Crea VMs de GPU de una sola vez

Puedes crear una solicitud de cambio de tamaño en un MIG con VMs de GPU para crear las VMs solicitadas de una sola vez cuando la capacidad solicitada esté disponible. Cuando creas una solicitud de cambio de tamaño en un MIG, Compute Engine programa la creación de las VMs según la cantidad de VMs solicitadas, la duración de ejecución solicitada y la disponibilidad de los recursos solicitados en las zonas del MIG. Luego, en la entrega programada de los recursos, el MIG crea la cantidad solicitada de VMs a la vez. Las VMs se ejecutan hasta el final de su duración de ejecución o hasta que las borres.

Para obtener más información, consulta Acerca de las solicitudes de cambio de tamaño en un MIG.

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 mediante instancias de VM interrumpibles en el grupo de instancias. Las instancias interrumpibles duran hasta 24 horas y se interrumpen con facilidad: la aplicación tiene 30 segundos para salir de manera 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 para crear un grupo de instancias administrado, las VM se crean con un SO optimizado para contenedores que incluye Docker, y el contenedor se inicia de forma automática en las VM del grupo. Consulta Implementa contenedores en VM y MIG.

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 la 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.

Si deseas que tu grupo de instancias administrado incluya instancias de VM que usan dirección IPv6, debes usar la configuración de pila doble cuando crees tu plantilla de instancias. Para obtener más información, consulta Crea una plantilla de instancias con direcciones IPv6.

Demostración de las funciones de los MIG

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

En el video, se muestra cómo implementar un contenedor en un MIG, 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 que cumpla con objetivos de CPU y demandas basadas en colas, y administrar actualizaciones progresivas y canary.

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 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 balanceo de cargas a grupos de instancias heterogéneas o si necesitas administrar las instancias por tu cuenta. Puedes agregar hasta 2,000 VMs a un grupo. Si deseas agregar más de 2,000 VMs al grupo, comunícate con el equipo de asistencia.

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

Precios

No se aplican cargos adicionales por usar grupos de instancias administrados o no administrados. Se te cobrará según los recursos que utilice tu grupo. Para obtener información sobre los precios de Compute Engine, consulta Precios.

¿Qué sigue?