La flexibilidad de instancias en los grupos de instancias administrados (MIGs) 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 usar la flexibilidad de instancias, consulta Agrega flexibilidad de instancias.
Flexibilidad de las 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 basadas en 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 configurar varios tipos de máquinas en un MIG si configuras 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 aquellos con diferentes arquitecturas (arquitectura x86 y Arm). Para usar tipos de máquinas con diferentes requisitos para la plataforma de CPU o los discos mínimos, 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 una sola 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 más bajo de clasificación significa una preferencia más alta. El MIG intenta crear sus VMs con tipos de máquinas con una preferencia más alta. Si estos tipos de máquinas preferidos no están disponibles, el MIG usa un tipo de máquina con una preferencia más baja.
"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 enumerados ya que la disponibilidad de hardware cambia con el tiempo y no se garantiza un hardware específico, a menos que uses reservas.
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 de instancias adicionales, 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 en el nivel de 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 combines 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 combinar 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 seleccione automáticamente una plataforma de CPU si estableces el campo
minCpuPlatformenAUTOMATIC. Esta selección automática anula la configuración de 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 combinar tipos de máquinas de las series de máquinas N1 y N2 en una selección, mientras te aseguras de que las máquinas N1 se ejecuten en Intel Skylake para obtener ganancias de rendimiento.
Anula los discos cuando combines tipos de máquinas que tienen diferentes arquitecturas. 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 para conectar un almacenamiento específico. Esta anulación te permite combinar tipos de máquinas que tienen diferentes arquitecturas o que no comparten tecnologías de disco, y especificar las imágenes de arranque o los discos adecuados que se requieren para cada tipo de máquina.
Por ejemplo, puedes combinar tipos de máquinas C4 (arquitectura x86) y C4A (arquitectura Arm). Como las máquinas x86 y Arm requieren diferentes imágenes de arranque, puedes usar selecciones de instancias separadas 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 anulaciones de selección de instancias, consulta la sección Limitaciones de este documento.
Ejemplo de anulaciones de plataforma de CPU y disco mínimos
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 si se especifica 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 selecciona un MIG 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 configuraste clasificaciones, el MIG primero considera tu orden de preferencia. Dentro de una selección de instancias clasificadas, el MIG verifica la disponibilidad de recursos y, luego, las reservas.
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 entre las zonas. Para obtener más información, consulta la siguiente sección sobre cómo selecciona un MIG las zonas.
Cómo selecciona un MIG 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, el MIG selecciona una zona según la forma de distribución objetivo seleccionada de la siguiente manera:
BALANCED: El MIG selecciona una zona con recursos disponibles que pueda equilibrar la distribución de la 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 clasificaciones, el MIG prioriza la zona en la que está disponible un tipo de máquina basado en 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.
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. Luego, el MIG sigue primero las clasificaciones y, luego, considera las reservas disponibles para los tipos de máquinas dentro de una 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 reserva específicas, falla la creación de instancias.
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 observada más baja para garantizar la menor interrupción posible para tu carga de trabajo. Si deseas anular este comportamiento, puedes configurar varias selecciones de instancias y especificar tu preferencia con clasificaciones. Luego, el MIG sigue primero el orden de preferencia y, luego, considera la confiabilidad de las VMs Spot dentro de una selección de instancias.
Para obtener más información sobre las VMs Spot, 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 repara la VM a través de su recreación 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 volver a crear una VM, si el tipo de máquina original de la VM no está disponible, recibirás un error de desabastecimiento. Con las actualizaciones en la reparación habilitadas, el MIG usa las selecciones de instancias especificadas y la disponibilidad actual para elegir otro tipo de máquina para la creación de la VM. Habilitar las actualizaciones en la reparación también ayuda a garantizar que la VM recreada 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 VMs para lograr una 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, el MIG 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 selecciona un MIG los tipos de máquinas en este documento.
Cuando un escalador automático reduce la escala de un MIG, el MIG selecciona las VMs que se borrarán de la siguiente manera:
- El MIG primero prioriza el borrado de las VMs que mejor conservan la forma de distribución objetivo.
- Si configuraste clasificaciones, entonces, entre las VMs priorizadas, el MIG prioriza el borrado de las VMs que usan tipos de máquinas de 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 de 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 de mayor rendimiento con más frecuencia. Este comportamiento puede ocurrir independientemente de la clasificación que configuraste para ese tipo de máquina.
Si quieres obtener más información sobre el ajuste de escala automático, consulta Ajuste de escala automático para grupos de instancias.
Casos de uso
En las siguientes secciones, se describen algunos casos de uso de la flexibilidad de instancias en los MIGs.
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 es configurar varios tipos de máquinas dentro de una sola clasificación. Esta clasificación única les da la misma preferencia, lo que permite que el MIG seleccione cualquiera de ellos 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 la posibilidad de obtener los recursos si eliges todas las zonas cuando creas tu MIG y usas la
ANYforma de distribución objetivo. La formaANYpermite que el MIG busque capacidad en todas las zonas.VMs Spot e interrupción: Cuando usas VMs Spot, para maximizar las posibilidades de obtener las VMs y minimizar sus interrupciones, Google recomienda que incluyas la mayor cantidad posible de tipos de máquinas compatibles dentro de la misma clasificación. Esta configuración permite que el MIG elija 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 podría generar 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 configuración 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 costo-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 costos, 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 en las que 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 costos 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 familias y 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 de mayor rendimiento de todos los recursos disponibles.
Como 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 (cantidad de CPU virtuales) en diferentes familias para lograr un rendimiento equivalente. Por ejemplo, cuando seleccionas entre familias de máquinas, puedes combinar diferentes cantidades de CPU, como combinar n1-standard-32 con n2-standard-16.
Además, especificar una minCpuPlatform para la selección de instancias puede garantizar que el MIG seleccione 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 del MIG para priorizar la adopción de tipos de máquinas de última generación mientras usas tipos de máquinas de generaciones anteriores como resguardo para la capacidad. Para ello, crea una selección de instancias que contenga los tipos de máquinas de última generación y asigna una clasificación más baja (mayor preferencia). 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 generaciones anteriores para que sirvan como resguardo. Asigna una clasificación más alta (menor preferencia) a esta selección de instancias.
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 primero busque las máquinas de última generación en todas las zonas de la región. El MIG solo aprovisionará las máquinas de generaciones anteriores si no puede encontrar suficiente capacidad de última generación, lo que garantiza que siempre se cumpla la capacidad total solicitada mientras se maximiza la proporción del hardware más reciente.
Limitaciones
La flexibilidad de instancias tiene las siguientes limitaciones:
La flexibilidad de instancias no es compatible con los MIGs zonales. En su lugar, puedes usar un MIG regional con una sola zona.
La flexibilidad de instancias no admite las siguientes funciones del MIG:
- MIGs regionales con 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)
- Suspender o detener VMs
- Solicitudes de cambio de tamaño que crean VMs de GPU de una sola vez
- MIGs regionales con 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 instancias 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.
Solo puedes anular los SSD locales para aquellos tipos de máquinas que te permiten elegir una cantidad de discos SSD locales. No puedes anular el 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 ayudar a garantizar el balanceo de cargas o el ajuste de escala automático eficaces en un MIG que tiene flexibilidad de instancias, usa tipos de máquinas con rendimiento similar, por ejemplo, la misma cantidad de CPU virtuales. Sin embargo, el "rendimiento similar" no se limita a usar el mismo tamaño en diferentes familias; como las generaciones de máquinas más nuevas suelen tener un mayor rendimiento por CPU virtual, puedes combinar diferentes cantidades de CPU virtuales (por ejemplo, combinar
n1-standard-32conn2-standard-28).En Cloud Load Balancing, los tipos de máquinas de 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 de rendimiento similar pueden evitar la adición o el borrado del tipo de máquina de mayor rendimiento.
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.