La flexibilidad de instancias en los grupos de instancias administrados (MIG) te permite especificar varios tipos de máquinas para las instancias de máquina virtual (VM) del grupo, en lugar de limitarte a un solo tipo de máquina. Si un tipo de máquina no está disponible, el MIG puede seleccionar automáticamente otro tipo compatible de tu lista según la disponibilidad actual de recursos. Esta flexibilidad ayuda a mejorar la obtención de recursos, en especial para las aplicaciones que pueden operar en diferentes tipos de máquinas y que requieren capacidad a gran escala o hardware con alta demanda.
En este documento, se describe cómo funciona la flexibilidad de instancias en un MIG y sus limitaciones. Para saber cómo configurar un MIG para que use la flexibilidad de instancias, consulta Agrega flexibilidad de instancias.
Flexibilidad de instancias
Un MIG crea todas sus VMs según la plantilla de instancias que selecciones. La plantilla de instancias especifica el tipo de máquina que se usará para cada VM. Con la flexibilidad de instancias, puedes enumerar todos los tipos de máquinas que son compatibles con tu aplicación.
En la siguiente imagen, se compara un MIG que usa un solo tipo de máquina con un MIG que usa la flexibilidad de instancias. Como se muestra en la imagen, un MIG con un solo tipo de máquina crea VMs idénticas según una plantilla de instancias, mientras que un MIG con flexibilidad de instancias puede crear VMs con diferentes tipos y tamaños de máquinas.
Cómo funciona la flexibilidad de instancias
De forma predeterminada, un MIG crea todas las VMs con un solo tipo de máquina de la plantilla de
instancias. Puedes establecer varios tipos de máquinas en un MIG configurando una selección de instancias (instanceSelections) en la política de flexibilidad de instancias
(instanceFlexibilityPolicy).
También puedes especificar tipos de máquinas que se ejecutan en diferentes plataformas de CPU y aquellas
con diferentes arquitecturas (arquitectura x86 y Arm). Para usar tipos de máquinas
con diferentes requisitos de plataforma de CPU mínima o discos, usa la política de flexibilidad de instancias
para anular las propiedades correspondientes de la plantilla de
instancias. Para obtener más información, consulta
Cómo funcionan las anulaciones de minCpuPlatform y disks.
Ejemplo de anulaciones de tipo de máquina
Si tu carga de trabajo puede operar en varios tipos de máquinas diferentes, puedes
configurar una lista de todos los tipos de máquinas compatibles con tu aplicación en
un solo instanceSelection de la siguiente manera:
"instanceFlexibilityPolicy": {
"instanceSelections": {
"instance-selection-1": {
"machineTypes": ["c2-standard-8","c2d-standard-8","c3-standard-8", "c3d-standard-8"]
}
}
}
Los tipos de máquinas dentro de una selección de instancias tienen la misma preferencia. Si deseas que un MIG elija tipos de máquinas en un orden específico, puedes configurar varias selecciones de instancias, cada una con una lista de tipos de máquinas y una clasificación para definir la preferencia. Un valor de clasificación más bajo significa una preferencia más alta. Cuando asignas clasificaciones, el MIG verifica de forma simultánea la disponibilidad en tiempo real de todos los tipos de máquinas y clasificaciones configurados. Luego, el MIG aprovisiona instancias con los tipos de máquinas disponibles con la preferencia más alta (número de clasificación más bajo).
"instanceFlexibilityPolicy": {
"instanceSelections": {
"most-preferred": {
"rank": 1,
"machineTypes": ["c3-standard-8","c2-standard-8"]
},
"least-preferred": {
"rank": 2,
"machineTypes": ["n2-standard-16","n1-standard-16"]
}
}
}
Tu aplicación debe estar lista para ejecutarse en cualquiera de los tipos de máquinas que se indican, ya que la disponibilidad del hardware cambia con el tiempo y no se garantiza un hardware específico, a menos que uses reservas.
En el caso de las solicitudes a gran escala, el MIG puede cumplir con una parte de las instancias solicitadas con un tipo de máquina muy preferido y cumplir con el resto con tipos alternativos según la disponibilidad en tiempo real. Si el MIG no puede encontrar capacidad de inmediato para las instancias restantes, es posible que entren en un estado pendiente mientras el MIG sigue verificando la disponibilidad en tus selecciones.
Las selecciones de instancias también pueden anular las propiedades de la instancia, como
minCpuPlatform y disks. Para obtener más información, consulta la siguiente sección sobre cómo funcionan las anulaciones de selección de instancias.
Cómo funcionan las anulaciones de minCpuPlatform y disks
En una selección de instancias, puedes especificar propiedades adicionales de la instancia, como
la plataforma de CPU mínima (minCpuPlatform) y los discos (disks), para anular las
definidas en la plantilla de instancias. Cuando un MIG selecciona un tipo de máquina de una
selección de instancias, el MIG crea una VM con las propiedades de instancia
especificadas en esa selección de instancias. Si no especificas ninguna de estas
propiedades para una selección de instancias, el MIG usará las propiedades
correspondientes de la plantilla para esa selección.
Anular estas propiedades a nivel de la selección de instancias proporciona más control y flexibilidad, en especial cuando se usa hardware diferente en un MIG.
Anula la plataforma de CPU mínima cuando mezcles tipos de máquinas que se ejecutan en diferentes plataformas de CPU. Puedes especificar una plataforma de CPU mínima para las instancias creadas a partir de los tipos de máquinas dentro de una selección. Esta anulación te permite mezclar diferentes tipos de máquinas, pero aplicar de forma selectiva plataformas de CPU mínimas. Como alternativa, puedes configurar la selección de instancias para que se elija automáticamente una plataforma de CPU. Para ello, establece el campo
minCpuPlatformenAUTOMATIC. Esta selección automática anula el parámetro de configuración de la plataforma de CPU mínima de la plantilla de instancias y permite que el MIG use cualquier plataforma de CPU compatible para los tipos de máquinas seleccionados.Por ejemplo, puedes mezclar tipos de máquinas de las series N1 y N2 en una selección, a la vez que te aseguras de que las máquinas N1 se ejecuten en Intel Skylake para lograr mejoras en el rendimiento.
Anula los discos cuando mezcles tipos de máquinas que tengan arquitecturas diferentes. Puedes especificar una configuración de disco personalizada para anular el disco de arranque o los discos adicionales especificados en las propiedades de la instancia, o bien para conectar un almacenamiento específico. Esta anulación te permite mezclar tipos de máquinas que tienen diferentes arquitecturas o que no comparten tecnologías de disco, y especificar las imágenes o los discos de arranque adecuados que se requieren para cada tipo de máquina.
Por ejemplo, puedes mezclar tipos de máquinas C4 (arquitectura x86) y C4A (arquitectura Arm). Como las máquinas x86 y Arm requieren imágenes de arranque diferentes, puedes usar selecciones de instancias independientes para anular el disco de arranque de cada arquitectura.
Cuando especificas los discos para una selección de instancias, el MIG combina los discos en la plantilla de instancias y en la selección de instancias por sus claves
deviceName. En el siguiente diagrama, se muestra un ejemplo.
Para obtener información sobre las limitaciones cuando se usan las anulaciones de selección de instancias, consulta la sección Limitaciones de este documento.
Ejemplo de anulaciones de disco y plataforma de CPU mínima
Considera una plantilla de instancias con la siguiente configuración:
{
...
"disks": [
{
"autoDelete": true,
"deviceName": "boot",
"boot": true,
"diskEncryptionKey": {},
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "pd-balanced"
}
}
],
"machineType": "n2-standard-2",
...
}
En el siguiente ejemplo de una política de flexibilidad de instancias, se anula la configuración de la plantilla especificando una plataforma de CPU mínima y una configuración de disco.
"instanceFlexibilityPolicy": {
"instanceSelections": {
"first-preference": {
"rank": 1,
"machineTypes": ["n4-standard-4 "],
"disks": [
{
"autoDelete": true,
"deviceName": "boot",
"boot": true,
"diskEncryptionKey": {},
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "hyperdisk-balanced"
}
}
]
},
"second-preference": {
"rank": 2,
"machineTypes": ["n2-standard-4"],
"minCpuPlatform": "Intel Ice Lake",
"disks": [
{
"autoDelete": true,
"deviceName": "boot",
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "pd-ssd"
}
}
]
},
"third-preference": {
"rank": 3,
"machineTypes": ["n1-standard-4"],
"minCpuPlatform": "Intel Skylake",
}
}
}
Cómo un MIG selecciona los tipos de máquinas
Cuando configuras varios tipos de máquinas, el MIG selecciona un tipo de máquina según la disponibilidad actual de recursos y prioriza las reservas sin usar. Si configuras clasificaciones, el MIG verifica la disponibilidad de recursos y las reservas en todos los tipos de máquinas y zonas configurados de forma simultánea. De los tipos de máquinas con capacidad disponible, el MIG selecciona los tipos de máquinas con la preferencia más alta (número de clasificación más bajo). Dentro de esa selección, el MIG prioriza las reservas sin usar.
Las zonas de la región del MIG también pueden afectar la selección del tipo de máquina, ya que la disponibilidad de recursos varía según la zona. Para obtener más información, consulta la siguiente sección sobre cómo un MIG selecciona zonas.
Evaluación de la capacidad y registro de errores
Antes de que un MIG intente crear VMs, verifica la capacidad en las selecciones de instancias configuradas. Si un tipo de máquina de mayor preferencia no está disponible durante esta verificación, el MIG selecciona un tipo de máquina de menor preferencia disponible sin intentar crear VMs con el tipo no disponible.
Compute Engine registra los errores ZONE_RESOURCE_POOL_EXHAUSTED (agotamiento)
solo cuando falla un intento de creación de VM, por ejemplo, cuando un MIG intenta reparar
una VM con errores con su tipo de máquina original no disponible. Durante las verificaciones de capacidad, debido a que el MIG omite los tipos de máquinas de mayor preferencia no disponibles
sin intentar crear VM, no verás errores de agotamiento para ellos en
Cloud Logging.
Cómo un MIG selecciona las zonas
Puedes configurar la flexibilidad de instancias en un MIG regional que tenga una forma de distribución objetivo BALANCED,
ANY o ANY_SINGLE_ZONE. La flexibilidad de instancias
no admite la forma de distribución objetivo EVEN.
Con la flexibilidad de instancias, cuando un MIG regional crea una VM, selecciona una zona según la forma de distribución objetivo elegida, de la siguiente manera:
BALANCED: El MIG selecciona una zona con recursos disponibles que pueda equilibrar la distribución de las VM entre las zonas de la manera más uniforme posible. Dentro de una zona seleccionada, el MIG prioriza los tipos de máquinas según las clasificaciones, si están configuradas, y las reservas disponibles.ANY: El MIG selecciona una zona con recursos y reservas disponibles. Si se configuran las clasificaciones, el MIG prioriza la zona en la que está disponible un tipo de máquina según las clasificaciones.ANY_SINGLE_ZONE: El MIG selecciona una zona que tiene la mayor cantidad de tipos de máquinas según las clasificaciones, si están configuradas, y en la que el MIG puede crear la mayoría de las VMs a partir de reservas sin usar.
Para obtener más información sobre cómo funciona una forma de distribución objetivo, consulta Forma de distribución objetivo del MIG regional.
Observabilidad y supervisión
Un MIG con flexibilidad de instancias selecciona de forma dinámica los tipos de máquinas y las zonas en función de la disponibilidad en tiempo real. Puedes supervisar cómo se distribuyen las instancias entre los tipos de máquinas y las zonas en tiempo real. El seguimiento de estos datos te ayuda a verificar la alta disponibilidad, ver cómo se asignan los tipos de máquinas de resguardo y diagnosticar la distribución de la capacidad. Si deseas obtener instrucciones para ver estos datos de un MIG específico o agregados en varios MIG, consulta Supervisa la distribución de instancias en los MIG.
Flexibilidad de instancias y reservas
Puedes usar la flexibilidad de instancias con reservas. Según la propiedad de afinidad de reserva que establezcas en la plantilla de instancias, un MIG usa las reservas de la siguiente manera:
ANY_RESERVATION(recomendado para la flexibilidad de instancias): Cuando se usa cualquier reserva, el MIG selecciona primero el tipo de máquina con la reserva sin usar. Si deseas cambiar el orden en el que el MIG selecciona los tipos de máquinas, puedes configurar varias selecciones de instancias y especificar tu preferencia con clasificaciones. De los tipos de máquinas con capacidad disponible, el MIG selecciona los tipos de máquinas con la preferencia más alta (número de clasificación más bajo) y prioriza las reservas disponibles dentro de esa clasificación.SPECIFIC: Cuando se usa una reserva específica, el MIG selecciona el tipo de máquina que coincide con las propiedades de la reserva. Si tus selecciones de instancias no incluyen el tipo de máquina que coincide con las propiedades de la reserva específica, la creación de la instancia fallará.
Para obtener más información sobre las reservas, consulta Acerca de las reservas.
Flexibilidad de instancias y VMs Spot
Si tu MIG con flexibilidad de instancias usa VMs Spot, el MIG selecciona automáticamente un tipo de máquina con la tasa de interrupción más baja observada para ayudar a garantizar la menor interrupción de tu carga de trabajo. Si deseas anular este comportamiento, completa los siguientes pasos:
Consulta la disponibilidad de recursos. Antes de crear un MIG con VMs Spot, puedes ver la disponibilidad de recursos en la región o zona en la que deseas crear el MIG. Esta acción ayuda a reducir las posibilidades de que se produzcan errores de disponibilidad de recursos.
Para obtener instrucciones, consulta Visualiza la disponibilidad de las VMs Spot.
Configura varias selecciones de instancias. Puedes especificar el tipo de máquina y las zonas en las que se crearán las VMs Spot con clasificaciones. De los tipos de máquinas con capacidad disponible, el MIG selecciona los tipos de máquinas con la preferencia más alta (número de clasificación más bajo) y considera la confiabilidad de las VMs Spot dentro de esa selección.
Para obtener instrucciones, consulta Crea un MIG con varios tipos de máquinas y preferencias.
Para obtener más información sobre el uso de VMs Spot en un MIG, consulta VMs Spot en un grupo de instancias administrado.
Flexibilidad de instancias y reparaciones de VM
De forma predeterminada, si una VM de un MIG falla, el MIG la repara recreándola con la misma configuración, incluido el tipo de máquina. Si configuras la flexibilidad de instancias y habilitas las actualizaciones en la reparación, puedes mejorar las posibilidades de obtener recursos si se produce un desabastecimiento.
Cuando un MIG intenta reparar una VM con errores, primero intenta volver a crearla
con su tipo de máquina original. Si ese tipo de máquina no está disponible,
Compute Engine registra un error ZONE_RESOURCE_POOL_EXHAUSTED. Si
habilitas la actualización en la reparación, el
MIG verifica de forma simultánea la disponibilidad en todas las selecciones de instancias configuradas
y vuelve a crear la VM con un tipo de máquina alternativo disponible.
Debido a que el MIG sigue intentando volver a crear la VM con su tipo de máquina original
mientras verifica las alternativas, es posible que aún veas errores de agotamiento registrados para el
tipo de máquina original. Habilitar la actualización en la reparación también ayuda a garantizar que la
VM que se vuelve a crear use la configuración de flexibilidad de instancias más reciente.
Para obtener más información sobre las reparaciones, consulta Acerca de la reparación de las VMs para alta disponibilidad.
Flexibilidad de instancias y ajuste de escala automático
Cuando configuras el ajuste de escala automático en un MIG que tiene varios tipos de máquinas, sucede lo siguiente:
Cuando un escalador automático escala horizontalmente un MIG, este crea VMs seleccionando tipos de máquinas de la misma manera que en un MIG sin ajuste de escala automático. Para obtener más información, consulta Cómo un MIG selecciona tipos de máquinas en este documento.
Cuando un escalador automático reduce la escala de un MIG, este selecciona las VMs que se borrarán de la siguiente manera:
- El MIG primero prioriza la eliminación de las VMs que mejor preservan la forma de distribución objetivo.
- Si configuraste clasificaciones, entre las VMs priorizadas, el MIG prioriza la eliminación de las VMs que usan tipos de máquinas con una clasificación más baja.
- Por último, el MIG verifica la recomendación del escalador automático para seleccionar las VMs que se borrarán.
El ajuste de escala automático funciona de manera eficaz cuando tu MIG tiene tipos de máquinas con un rendimiento similar, por ejemplo, máquinas con la misma cantidad de CPU virtuales. De lo contrario, cuando el MIG escala horizontalmente o reduce la escala, el escalador automático podría intentar agregar o quitar el tipo de máquina con el rendimiento más alto con mayor frecuencia. Este comportamiento puede ocurrir independientemente del rango que hayas configurado para ese tipo de máquina.
Para obtener más información sobre el ajuste de escala automático, consulta Ajuste de escala automático en grupos de instancias.
Casos de uso
En las siguientes secciones, se describen algunos casos de uso de la flexibilidad de instancias en los MIG.
Mejora la obtención
Puedes configurar la flexibilidad de instancias del MIG para mejorar la obtención de recursos:
Tipos de máquinas: La configuración básica consiste en configurar varios tipos de máquinas dentro de un solo rango. Esta clasificación única les otorga la misma preferencia, lo que permite que el MIG seleccione cualquiera de ellas según la disponibilidad de recursos. Sin embargo, si tienes preferencias, puedes asignar diferentes clasificaciones para especificar un orden de preferencia para los tipos de máquinas.
Ubicación: Puedes aumentar aún más las posibilidades de obtener los recursos eligiendo todas las zonas cuando creas tu MIG y usando la forma de distribución objetivo
ANY. La formaANYpermite que el MIG busque capacidad en todas las zonas.VMs Spot y de interrupción: Cuando usas VMs Spot, para maximizar las posibilidades de obtener las VMs y minimizar sus interrupciones, Google recomienda que incluyas tantos tipos de máquinas compatibles como sea posible dentro de la misma clasificación. Esta configuración permite que el MIG elija los tipos de máquinas con las tasas de interrupción más bajas para minimizar la interrupción de tu carga de trabajo. Si configuras tipos de máquinas con diferentes clasificaciones, el MIG prioriza los tipos de máquinas según la clasificación en lugar de las tasas de interrupción, lo que puede dar como resultado la selección de un tipo de máquina con una tasa de interrupción más alta.
Optimización de costos
Un MIG puede aprovisionar automáticamente las instancias más rentables para tu infraestructura cuando configuras los parámetros de flexibilidad de instancias de tu MIG de la siguiente manera:
Tipos de máquinas: Selecciona los tipos de máquinas que ofrecen la relación precio-rendimiento preferida para tu carga de trabajo. No es necesario que especifiques todos los tamaños disponibles de cada tipo de máquina; especifica solo los tamaños que sean más rentables para tus necesidades.
Clasificación: Asigna clasificaciones a las selecciones de instancias según tus preferencias de costo, con el tipo de máquina de menor costo como el más preferido. Esto ayuda a garantizar que obtengas el tipo de máquina de menor costo según la disponibilidad.
Ubicación: Cuando crees el MIG, selecciona todas las zonas y la forma de distribución objetivo
ANY. Esto aumenta las posibilidades de obtener los tipos de máquinas de menor costo en las zonas donde están disponibles.
Según la configuración de flexibilidad de instancias, el MIG aprovisiona automáticamente la mejor combinación posible de tipos de máquinas disponibles para cumplir con tus criterios de costo y la capacidad total solicitada. Esto garantiza el costo más bajo posible en un momento determinado.
Maximiza el rendimiento
Puedes configurar la flexibilidad de instancias del MIG para maximizar el rendimiento. Para ello, selecciona las familias y los tamaños de máquinas que mejor se adapten a tu carga de trabajo. Luego, clasifica los tipos de máquinas según el rendimiento, de mayor a menor, con el tamaño más preferido dentro de cada familia. Según la clasificación y los tipos de máquinas, el MIG selecciona las máquinas con el mejor rendimiento de todos los recursos disponibles.
Debido a que las generaciones de máquinas más nuevas suelen ofrecer un mayor rendimiento por núcleo,
no es necesario limitar la selección de máquinas para usar el mismo tamaño (recuento de CPU virtuales)
en diferentes familias para lograr un rendimiento equivalente. Por ejemplo, cuando
seleccionas entre familias de máquinas, puedes mezclar diferentes recuentos de CPU, como
mezclar n1-standard-32 con n2-standard-16.
Además, especificar un minCpuPlatform para la selección de instancias puede
garantizar que el MIG elija una plataforma de CPU de alto rendimiento.
Transición sin problemas a los tipos de máquinas más recientes
Puedes configurar la flexibilidad de instancias de MIG para priorizar la adopción de los tipos de máquinas de última generación y, al mismo tiempo, usar los tipos de máquinas de generaciones anteriores como resguardo de capacidad. Para ello, crea una selección de instancias que contenga los tipos de máquinas de última generación y asígnales una clasificación más baja (preferencia más alta). Si estos tipos de máquinas requieren diferentes configuraciones de disco, usa las anulaciones de disco dentro de esta selección de instancias para definir las propiedades específicas del disco. Crea una segunda selección de instancias que contenga los tipos de máquinas de la generación anterior para que sirva como resguardo. Asigna una clasificación más alta (preferencia más baja) a esta selección de instancia.
Cuando crees el MIG, selecciona todas las zonas de la región y la forma de distribución objetivo
ANY. Esta configuración garantiza que el MIG verifique la capacidad
en todas las selecciones y zonas configuradas, y priorice el aprovisionamiento de las
máquinas de última generación en las que haya capacidad disponible. Si el MIG no puede encontrar
suficiente capacidad de última generación, aprovisiona tipos de máquinas de generaciones anteriores.
Este enfoque garantiza que siempre se cumpla con la capacidad total solicitada y, al mismo tiempo,
se maximice el uso del hardware más reciente.
Limitaciones
La flexibilidad de instancias tiene las siguientes limitaciones:
Los MIG zonales no admiten la flexibilidad de instancias. En su lugar, puedes usar un MIG regional con una sola zona.
Las VMs de inicio flexible no admiten la flexibilidad de instancias.
La flexibilidad de instancias no admite las siguientes funciones de MIG:
- MIG regionales con la forma de distribución objetivo
establecida en
EVEN - Actualización automática de la configuración de la VM y actualizaciones canary (dos plantillas de instancias)
- Suspende o detén VMs
- Solicitudes de cambio de tamaño que crean VMs de GPU de una sola vez
- MIG regionales con la forma de distribución objetivo
establecida en
Cuando se anulan
minCpuPlatformydisks, también se aplican las siguientes limitaciones:Debes habilitar las actualizaciones en las reparaciones.
Cuando configures
minCpuPlatformodiskspara una selección de instancia existente, también debes incluir el campomachineTypes. Sin el campomachineTypes, la operación falla con un error.No puedes aplicar una política con estado ni una configuración por instancia a los discos anulados a través de una selección de instancias.
Puedes anular los SSD locales solo para los tipos de máquinas que te permiten elegir una cantidad de discos SSD locales. No puedes anular la SSD local para las variantes
-lssdde los tipos de máquinas, que conectan discos SSD locales de forma automática.Debes especificar un tipo de máquina único en todas las selecciones de instancias. Por ejemplo, no puedes especificar
n1-standard-2en una selección con una CPUSkylakey también en otra selección con una CPUBroadwell.
Para garantizar un balanceo de cargas o un ajuste de escala automático eficaces en un MIG que tenga flexibilidad de instancias, usa tipos de máquinas con un rendimiento similar, por ejemplo, la misma cantidad de CPU virtuales. Sin embargo, el "rendimiento similar" no se limita al uso del mismo tamaño en diferentes familias. Debido a que las generaciones de máquinas más nuevas suelen tener un mayor rendimiento por CPU virtual, puedes mezclar diferentes recuentos de CPU virtuales (por ejemplo, mezclar
n1-standard-32conn2-standard-28).En Cloud Load Balancing, los tipos de máquinas con un rendimiento similar pueden evitar el uso excesivo de hardware más pequeño y el uso insuficiente de máquinas más rápidas.
En el ajuste de escala automático, los tipos de máquinas con un rendimiento similar pueden evitar que se agregue o borre el tipo de máquina con el rendimiento más alto.
Próximos pasos
- Obtén más información sobre los diferentes tipos de máquinas.
- Agrega flexibilidad de instancias a un MIG.
- Visualiza la flexibilidad de instancias en un MIG.
- Supervisa la distribución de instancias en los MIG.