En este documento se describe cómo aplicar de forma selectiva las actualizaciones de configuración a las instancias de máquina virtual (VM) de un grupo de instancias gestionado (MIG).
Compute Engine mantiene las VMs de un MIG en función de los componentes de configuración que utilices: plantilla de instancia, configuración opcional de todas las instancias y configuración opcional con reconocimiento del estado.
Cada vez que actualizas la configuración de las VMs de un MIG cambiando esos componentes, Compute Engine aplica automáticamente la configuración actualizada a las VMs nuevas que se añaden al grupo.
Para aplicar una configuración actualizada a las VMs, puedes configurar una actualización selectiva, también conocida como actualización "oportunista". Este tipo de actualización ofrece las siguientes ventajas:
- Puedes seleccionar las VMs que quieras actualizar.
- Puedes controlar el momento y la secuencia de las actualizaciones.
- Puede usar la CLI de gcloud o REST para actualizar todas las VMs inmediatamente.
Si quieres automatizar el lanzamiento de una nueva configuración en todas las VMs de un MIG o en un subconjunto aleatorio de ellas, consulta Aplicar automáticamente actualizaciones de configuración de VMs en un MIG. Para ayudarte a decidir, consulta Métodos para aplicar una nueva configuración a las VMs que ya tienes.
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 .
Aplicar la configuración actualizada a las VMs seleccionadas
Asegúrate de que el tipo de política de actualización del grupo sea "oportunista" para evitar que el MIG aplique automáticamente una nueva configuración de VM a las VMs que ya existen. Para obtener más información, consulta Comprobar el tipo de política de actualizaciones de un grupo.
Después, usa la CLI de gcloud o REST para actualizar la configuración del grupo de instancias gestionado y aplicar la configuración más reciente a máquinas virtuales específicas del grupo o a todas las máquinas virtuales del grupo.
gcloud
Para configurar una plantilla de instancia para tu grupo, puedes usar el comando
set-instance-template
.gcloud compute instance-groups managed set-instance-template INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE
Aplicar la configuración a VMs específicas
Para aplicar la configuración actualizada a máquinas virtuales específicas, usa el comando
update-instances
con la marca--instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAMES \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Aplicar la configuración a todas las VMs
Para aplicar la configuración actualizada a todas las VMs, usa el comando
update-instances
con la marca--all-instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Haz los cambios siguientes:
INSTANCE_GROUP_NAME
: el nombre del MIGINSTANCE_TEMPLATE
: nueva plantilla de instanciaINSTANCE_NAMES
: lista de máquinas virtuales a las que se aplicará la plantillaDISRUPTION_LEVEL
: el nivel de interrupción mínimo o máximo:none
,refresh
,restart
oreplace
- La acción mínima predeterminada es
none
- La acción más disruptiva permitida de forma predeterminada es
replace
- La acción mínima predeterminada es
REST
Para configurar una nueva plantilla de instancia para tu grupo, llama al método
patch
en un MIG zonal o regional y actualiza el campoversions.instanceTemplate
. Para evitar que la nueva plantilla se implemente automáticamente en todas las VMs del grupo, asigna el valorOPPORTUNISTIC
al campoupdatePolicy.type
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "OPPORTUNISTIC" }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Aplicar la configuración a VMs específicas
Para aplicar la configuración actualizada a máquinas virtuales específicas, llama al método
applyUpdatesToInstances
de tu MIG zonal u regional y especifica una lista de máquinas virtuales en la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ], "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Aplicar la configuración a todas las VMs
Para aplicar la configuración actualizada a todas las VMs, asigna el valor
true
al campoallInstances
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "allInstances": true, "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Haz los cambios siguientes:
INSTANCE_GROUP_NAME
: el nombre del grupoNEW_TEMPLATE
: el nombre de la nueva plantillaZONE
: la zona de una instancia que se va a actualizarINSTANCE_NAME_1
yINSTANCE_NAME_2
: los nombres de las VMs que se van a actualizarDISRUPTION_LEVEL
: el nivel de interrupción mínimo o máximo:NONE
,REFRESH
,RESTART
oREPLACE
- El valor predeterminado
minimalAction
esNONE
. - El valor predeterminado
mostDisruptiveAllowedAction
esREPLACE
.
- El valor predeterminado
Al igual que otros métodos de grupos de instancias gestionados,
applyUpdatesToInstances
se basa en la intención, lo que significa que devuelve una respuesta de operación. La operación puede tardar un tiempo en completarse.Después de enviar una solicitud, puedes consultar el estado para verificar que la actualización se ha completado.
Controlar el nivel de interrupción durante las actualizaciones selectivas
En función de la naturaleza de una actualización, puede interrumpir el estado de una instancia. Por ejemplo, para cambiar el disco de arranque de una instancia, es necesario sustituirla. Puedes controlar el nivel de interrupción durante una actualización selectiva configurando las siguientes opciones:
Acción mínima: usa esta opción para minimizar las interrupciones lo máximo posible o para aplicar una acción más disruptiva de lo necesario.
- Para limitar las interrupciones al máximo, define la acción mínima como
NONE
. Si la actualización requiere una acción más disruptiva, Compute Engine realizará la acción necesaria para ejecutarla. - Para aplicar una medida más disruptiva de lo estrictamente necesario, define la acción mínima como
RESTART
oREPLACE
. Por ejemplo, Compute Engine no necesita reiniciar una VM para cambiar sus metadatos. Sin embargo, si tu aplicación lee los metadatos de la instancia solo cuando se reinicia una VM, puedes definir la acción mínima comoRESTART
para recoger los cambios en los metadatos.
- Para limitar las interrupciones al máximo, define la acción mínima como
Acción permitida más disruptiva: usa esta opción para evitar una actualización si requiere más interrupciones de las que puedes permitirte. Si tu actualización requiere una acción más disruptiva que la que has definido con esta marca, la solicitud de actualización fallará. Por ejemplo, si asignas
RESTART
como la acción permitida más disruptiva, no se podrá actualizar la imagen del disco de arranque porque esa actualización requiere que se vuelva a crear la instancia, una acción más disruptiva que un reinicio.
Al actualizar las VMs seleccionadas, ambas opciones aceptan los siguientes valores:
Valor Descripción ¿Qué propiedades de instancia se pueden actualizar? NONE
No interrumpas la instancia en ningún momento. Ninguno REFRESH
No detengas la instancia. Discos adicionales, metadatos de instancias, etiquetas RESTART
Detén la instancia y vuelve a iniciarla. Discos adicionales, metadatos de la instancia, etiquetas, marcas y tipo de máquina REPLACE
Elimina la instancia y vuelve a crearla. Todas las propiedades de la instancia almacenadas en la plantilla de instancia o en la configuración por instancia La acción permitida más disruptiva no puede ser menos disruptiva que la acción mínima.
Cuando actualizas selectivamente las VMs, se aplican los siguientes valores predeterminados:
- La acción mínima predeterminada es
NONE
, que limita las interrupciones lo máximo posible. - La acción más disruptiva permitida de forma predeterminada es
REPLACE
. Si no puedes tolerar estas interrupciones, elige una acción permitida que sea menos disruptiva.
Siguientes pasos
- Consulta información sobre grupos de instancias gestionados y máquinas virtuales gestionadas.
- Crear plantillas de instancia
- Consulta cómo usar familias de imágenes y una sustitución continua para actualizar la imagen del SO en todas las VMs de un MIG.
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).
-