En esta página se explica cómo configurar las instancias de máquina virtual (VM) de un grupo de instancias gestionado (MIG) y los métodos que puedes usar para aplicar la configuración a las VMs del grupo.
Para especificar la configuración que quieres que tengan las VMs de un MIG, usa los siguientes componentes de configuración de VMs:
- Obligatorio: plantilla de instancia
- Opcional: configuración de todas las instancias
- Opcional: Configuración con reconocimiento del estado
Cada vez que actualices la configuración prevista mediante esos componentes, Compute Engine aplicará automáticamente la configuración actualizada a las nuevas VMs que se añadan al grupo.
Para aplicar una configuración actualizada a las VMs, usa los métodos descritos en esta página:
- Lanzamientos automáticos con un presupuesto de interrupción y actualizaciones canary opcionales de nuevas plantillas
- Actualizaciones manuales y selectivas solo en VMs específicas para minimizar las interrupciones
- Volver a crear VMs específicas
También puede configurar su MIG para que aplique la configuración más reciente disponible a las VMs durante las reparaciones de VMs. Para obtener más información, consulta Aplicar actualizaciones de configuración durante las reparaciones.
Si solo necesitas cambiar el tamaño de un MIG, consulta la documentación sobre cómo añadir o quitar VMs en un MIG. Si quieres obtener información sobre cómo configurar las funciones de los MIGs, consulta la documentación sobre autoescalado, reparación automática, balanceo de carga y cargas de trabajo con reconocimiento del estado.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Componentes de configuración de las VMs de un MIG
Para configurar las VMs de un MIG, se utilizan los siguientes componentes:
Componente Propiedades Caso práctico Plantilla de instancia Tipo de máquina, imagen de disco de arranque, etiquetas, secuencia de comandos de inicio y otras propiedades de la VM Obligatorio: usa una plantilla de instancia para definir las propiedades de instancia obligatorias y opcionales de todas las VMs del grupo.
Opcional: Si quieres hacer pruebas canary con una segunda configuración de VM, puedes añadir una segunda plantilla de instancia al grupo y aplicarla a un subconjunto de las VMs del grupo.Configuración de todas las instancias Etiquetas y metadatos Opcional: Usa una configuración de todas las instancias para anular rápidamente las propiedades de la plantilla de instancia de todas las VMs del grupo. Configuración con reconocimiento del estado Discos con estado, direcciones IP y metadatos Opcional: Si necesitas admitir una carga de trabajo con estado, añade una configuración con estado a las VMs del grupo. Si actualiza alguna configuración del grupo a través de esos componentes, debe aplicar la configuración actualizada a las VMs del grupo para que surta efecto.
Métodos para aplicar una nueva configuración a las VMs
Después de actualizar la configuración de las VMs de un MIG, puedes aplicar la nueva configuración a las VMs del grupo mediante los siguientes métodos:
- Automático (proactivo): usa este método si quieres que el MIG aplique automáticamente las nuevas configuraciones a todas las VMs del grupo o a un subconjunto de ellas. El nivel de interrupción de las VMs en ejecución depende de la política de actualización que configures. Puedes usar este método para actualizar de forma gradual las nuevas plantillas de instancia. Para usar este método, define el tipo de actualización de MIG como "proactivo".
- Selectiva (oportunista): usa este método si quieres aplicar la actualización manualmente o si quieres actualizar todas las VMs del grupo a la vez. Puede elegir una o varias máquinas virtuales para actualizarlas a la configuración más reciente. Para usar este método, define el tipo de actualización del MIG como "oportunista".
- Volver a crear VMs: aplica nuevas configuraciones volviendo a crear VMs específicas.
Para obtener más información sobre cómo definir el tipo de actualización de un MIG, consulta Configurar una actualización proactiva u oportunista.
Automático (proactivo)
Un tipo de actualización automática también se conoce como actualización proactiva. Si configuras el tipo de actualización del MIG como proactivo, el MIG aplicará automáticamente las configuraciones actualizadas a las VMs según sea necesario.
Si se define el tipo de actualización de un MIG como proactivo, se obtienen dos ventajas principales:
- La implementación de una actualización se realiza automáticamente según tus especificaciones, sin necesidad de que hagas nada más después de la solicitud inicial. Puedes especificar la velocidad del despliegue, el nivel de interrupción del servicio y el alcance de la actualización.
- Puedes automatizar los lanzamientos parciales, lo que permite realizar pruebas canary.
Para saber cómo definir el tipo de actualización de MIG, consulta el artículo Configurar una actualización proactiva u oportunista.
Para obtener más información sobre los lanzamientos automáticos, consulta Aplicar automáticamente actualizaciones de configuración de VMs en un MIG.
Selectiva (oportunista)
Un tipo de actualización selectiva también se conoce como tipo de actualización oportunista. Si el tipo de actualización del MIG es oportunista, el MIG aplica las nuevas configuraciones a las VMs solo cuando seleccionas VMs específicas para que se actualicen.
Si se define el tipo de actualización de un MIG como oportunista, se obtienen las siguientes ventajas:
- Puedes seleccionar las VMs que quieras actualizar.
- Puedes controlar el momento y la secuencia de las actualizaciones.
- Puedes usar la CLI de gcloud o REST para actualizar todas las instancias inmediatamente.
En determinadas situaciones, es útil usar un tipo de actualización selectiva porque no quieres que el sistema se vuelva inestable si se puede evitar. Por ejemplo, considera lo siguiente:
Una de las VMs de tu MIG falla y necesita repararse, pero no quieres que cambie su configuración. Si defines el tipo de actualización del MIG como oportunista y no aplicas las actualizaciones durante las reparaciones de forma forzada, Compute Engine reparará la VM con la misma configuración que se usó para crearla, aunque la plantilla de instancia original ya no exista.
Tienes un MIG con escalado automático y quieres aplicar una actualización no crítica sin ninguna urgencia. Para asegurarte de que Compute Engine no desactive tus VMs para aplicar la actualización, define el tipo de actualización del MIG como oportunista. Al reducir horizontalmente, el autoescalador termina preferentemente las VMs con la configuración antigua. Cuando el grupo se amplía, crea VMs con la configuración más reciente.
Para saber cómo definir el tipo de actualización de MIG, consulta el artículo Configurar una actualización proactiva u oportunista.
Para obtener más información sobre cómo actualizar selectivamente las VMs, consulta Aplicar selectivamente actualizaciones de configuración de VMs en un MIG.
Recreación de VMs
Puedes volver a crear cualquier VM en un MIG. Cuando lo hagas, el MIG aplicará cualquier configuración actualizada que aún no se haya aplicado a esa VM. Para obtener más información, consulta Volver a crear VMs en un MIG.
Configurar una actualización proactiva o oportunista
Para aplicar automáticamente las nuevas configuraciones a las VMs, define el tipo de actualización del MIG como "proactivo". Para aplicar nuevas configuraciones a las VMs solo cuando selecciones una VM que quieras actualizar, define el tipo de actualización del grupo de instancias gestionado como "oportunista".
Usa la Google Cloud consola, la interfaz de línea de comandos de Google Cloud o REST.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Selecciona el MIG que quieras actualizar.
Haz clic en Editar.
Haga clic en Política de actualización para desplegar la sección.
Elige entre Selectiva o Automática.
Opcional: Si eliges Automático, puedes definir las opciones adicionales o usar los valores predeterminados.
Haz clic en Guardar.
gcloud
Usa el comando
rolling-action start-update
y asigna a la marca--type
el valoropportunistic
oproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
También puedes usar el comando beta
update
e incluir la marca--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Haz los cambios siguientes:
INSTANCE_GROUP_NAME
: el nombre del grupoNEW_TEMPLATE
: el nombre de la nueva plantilla del grupoTYPE
: el tipo de actualización,opportunistic
oproactive
REST
Llama al método
patch
en un recurso de MIG de zona o regional.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Haz los cambios siguientes:
PROJECT_ID
: el proyecto en el que se encuentra el MIG.REGION
: la región en la que se encuentra el MIG. En el caso de un MIG zonal, sustituyeregions/REGION
porzones/ZONE
.INSTANCE_GROUP_NAME
: el nombre del grupo.NEW_TEMPLATE
: el nombre de la nueva plantilla del grupo.TYPE
: el tipo de actualización,OPPORTUNISTIC
oPROACTIVE
.
Para obtener más información sobre cómo definir una plantilla y, a continuación, aplicarla a máquinas virtuales nuevas y actuales de un MIG, consulta las siguientes páginas:
- Aplicar automáticamente las actualizaciones de configuración de las VMs en un MIG
- Aplicar selectivamente actualizaciones de configuración de VM en un MIG
Comprobar el tipo de política de actualizaciones de un grupo
Puedes ver el tipo de política de actualización configurado actualmente en tu MIG ("oportunista" o "proactiva") y otros ajustes de la política de actualización mediante la CLI de gcloud o la API REST.
gcloud
Usa el comando
describe
e incluye la marca--format
para mostrar solo los ajustes deupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
REST
Haz una solicitud
GET
en un MIG de zona o de región y comprueba el campoupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Para cambiar el tipo de política, consulta Configurar una actualización proactiva u oportunista.
Actualizaciones de máquinas virtuales suspendidas y detenidas
Si has suspendido y detenido grupos de VMs en un MIG, puedes actualizar de forma selectiva (oportunista) las VMs suspendidas o detenidas, al igual que actualizas otras VMs en ejecución. Si configuras las actualizaciones automáticas (proactivas), el MIG actualizará las VMs en el siguiente orden:
- Máquinas virtuales en ejecución, suspendidas y detenidas
- VMs con el estado
SUSPENDING
oSTOPPING
En una actualización automática, el MIG calcula el aumento máximo y el número máximo de VMs no disponibles basándose únicamente en el número objetivo de VMs en ejecución, y no tiene en cuenta las VMs del grupo de espera.
Si la actualización automática requiere sustituir las VMs del grupo, el MIG hace lo siguiente:
- Elimina las VMs suspendidas y detenidas.
- Crea VMs con la nueva plantilla de instancia.
- Realiza el proceso de inicialización.
- Suspende o detiene las VMs.
Si la actualización automática solo requiere que se actualicen o reinicien las VMs del grupo, el MIG hará lo siguiente:
- Reanuda o inicia las VMs.
- Realiza la actualización en las VMs cuando están en ejecución.
- Realiza el proceso de inicialización.
- Suspende o detiene las VMs.
Actualizaciones de Canary
Si quieres iniciar actualizaciones canary en un MIG que tenga VMs suspendidas o detenidas, se aplican las siguientes condiciones:
- En el modo de política de espera
manual
, la MIG solo actualiza las VMs en ejecución en función del número o porcentaje de VMs a las que quieras aplicar la actualización. Las VMs suspendidas y detenidas permanecen en las versiones anteriores. - En el modo de política de espera
scale-out-pool
, no puedes iniciar una actualización canary en el MIG.
Relación entre los campos
versions
yinstanceTemplate
Si usas REST, te recomendamos que uses los campos
instanceGroupManagers.versions
yregionInstanceGroupManagers.versions
para configurar plantillas de instancia para grupos de instancias gestionados zonales y regionales.El campo
instanceTemplate
antiguo se solapa en cuanto a funcionalidad con el campoversions
, ya que ambos campos te permiten especificar qué plantilla de instancia usa el MIG para crear VMs. Sin embargo, solo el campoversions
te permite especificar una configuración avanzada de dos plantillas (canario).Por motivos de retrocompatibilidad, los MIGs siguen admitiendo el campo
instanceTemplate
de nivel superior, aunque te recomendamos que utilices solo el campoversions
. Usar al mismo tiempo el campo de nivel superiorinstanceTemplate
y el campoversions
puede generar ambigüedad y confusión.Si especifica tanto el campo
instanceTemplate
como el campoversions
al llamar al métodoupdate()
opatch()
, hay tres resultados posibles:Ha asignado el mismo valor a ambos campos.
Esta es una solicitud válida. En este caso, no se crea ninguna ambigüedad y la nueva plantilla de instancia se aplica al MIG.
Por ejemplo, en la siguiente solicitud, los campos de nivel superior
instanceTemplate
yversions
especifican la misma plantilla de instancia, que es diferente de la plantilla actual, por lo que el MIG se actualiza a la nueva plantilla de instancia:{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Ha asignado a ambos campos valores que no coinciden, pero solo uno de ellos es diferente de la plantilla de instancia actual de la MIG.
Esta es una solicitud válida. El campo que es diferente de la configuración actual se toma como el valor previsto. Por ejemplo, llamas al método
update()
y proporcionas ambos campos, pero solo se actualiza uno:{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Si asignas a ambos campos valores que no coinciden y ambos valores son diferentes de la plantilla de instancia actual de la MIG.
Este ajuste no es válido y devuelve un error porque no hay una intención clara.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
El campo
versions
, el campoinstanceTemplate
y el métodoget()
Si solo especificas una plantilla de instancia, ya sea a través del campo
instanceTemplate
de nivel superior, del campoversions
o de ambos, el métodoget()
devuelve ambos campos en su respuesta. De esta forma, el nuevo campoversions
será retrocompatible. Si especificas una sola plantilla de instancia en cualquiera de estos campos, no habrá ningún cambio en lo que devuelva el métodoget()
en el campoinstanceTemplate
.Si el campo
versions
tiene dos plantillas de instancia especificadas, el métodoget()
devuelve un campoinstanceTemplate
de nivel superior vacío. No hay forma de expresar de forma inequívoca una configuración de plantilla de dos instancias de lanzamiento de versión canary en el campoinstanceTemplate
de nivel superior, por lo que el campo no se usa durante una actualización canary.El campo
versions
y el métodosetInstanceTemplate()
Para mantener la retrocompatibilidad, el método
setInstanceTemplate()
se comporta como lo hacía antes, lo que te permite cambiar la plantilla que usa el MIG para crear VMs. Cuando llamas a este método, el campoversions
se sustituye por la plantilla de instancia especificada por el métodosetInstanceTemplate()
.El método
setInstanceTemplate()
también define el valor deupdatePolicy
enOPPORTUNISTIC
. De esta forma, la MIG no desplegará activamente una plantilla de instancia que no se haya especificado explícitamente en el campoversions
.Siguientes pasos
- Más información sobre cómo implementar automáticamente una nueva plantilla de instancia en un MIG
- Más información sobre cómo actualizar selectivamente las VMs de un MIG
- Consulta información sobre tu MIG y sus VMs.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-