Puedes usar una sola solicitud desde la CLI de Google Cloud o la API de Compute Engine para actualizar varias propiedades de la instancia y, opcionalmente, reiniciar la instancia si es necesario. El método de actualización gestiona la lógica para validar las propiedades de la instancia actualizada y asegurarse de que los recursos necesarios estén disponibles para completar la actualización correctamente. Si la solicitud incluye propiedades no válidas o si los recursos solicitados no están disponibles, la solicitud devuelve un error y no se realiza ningún cambio en tu instancia. De esta forma, se protege la instancia frente a actualizaciones parciales y se evita que se detenga y no pueda acceder a los recursos para volver a iniciarse.
Para actualizar las interfaces de red (networkInterfaces
) de una instancia, consulta Actualizar las interfaces de red de una instancia.
Para añadir o quitar interfaces de red dinámicas de una instancia (vista previa), sigue estos procedimientos en lugar de actualizar las propiedades de la instancia:
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 .
Restricciones
- Las solicitudes de actualización de instancias a través de gcloud CLI o de la API Compute Engine no admiten la semántica
PATCH
. El recurso de instancia de la solicitud de actualización debe incluir todas las propiedades de la instancia. Las propiedades que faltan en la configuración de la instancia en tu solicitud de actualización se consideran eliminadas de la instancia. - Solo puedes actualizar una lista específica de propiedades.
- No se admite el cambio de instancias a y desde el aislamiento.
- Puedes cambiar una instancia de una reserva a otra, pero no puedes asociar ni desasociar una instancia a una reserva mediante el proceso de actualización.
- Si la instancia tiene discos SSD locales conectados, no puedes actualizar las propiedades que requieran que la instancia se reinicie mientras está en ejecución. Puedes eliminar la instancia y volver a crearla, o bien detenerla, actualizar las propiedades y, a continuación, reiniciarla.
- Puedes actualizar la propiedad
networkInterfaces
de una instancia, pero no puedes añadir ni quitar NICs virtuales (vNICs) de una instancia. - Si una instancia usa recursos que solo están disponibles en la versión beta de la API de Compute Engine, debes usar la versión correcta del método
instances.update
para actualizar esas propiedades. Por ejemplo, si creas una instancia con la API beta de Compute Engine y la configuras con un recurso que solo reconoce la API beta, también debes usar la versión beta del métodoinstances.update
para actualizar esos recursos. La versión 1 del métodoinstances.update
no reconoce los recursos beta que usa tu instancia, por lo que elimina esos recursos beta de la configuración de la instancia durante el proceso de actualización. Este comportamiento también se aplica a los recursos de la API alfa.
Permisos
Debes tener el permiso
compute.instances.update
para actualizar instancias. Este permiso se incluye en varios roles de gestión de identidades y accesos (IAM). También debes tener permiso para usar los recursos que quieras modificar en la instancia. Por ejemplo, para añadir un disco a una instancia, debes tener los siguientes permisos:- El permiso
compute.instances.update
de la instancia que quieras actualizar. compute.disks.use
permiso para un disco que ya tengas ocompute.disks.create
en un proyecto en el que quieras crear un disco.
Prácticas recomendadas
Para que la interfaz de actualización de instancias funcione de la forma más eficaz posible, siga estas prácticas recomendadas:
- Si es posible, usa siempre la misma versión de la API de Compute Engine para crear, definir y actualizar instancias. De esta forma, puedes actualizar y modificar los recursos de cualquier instancia si solo están disponibles en una versión de la API.
- Aunque puedes usar el método
instances.update
para actualizar instancias de un grupo de instancias gestionado (MIG), en la mayoría de los casos es mejor cambiar la plantilla de instancia del grupo y desplegar esa actualización en el MIG. - Si actualizas un recurso que usa la instancia, usa el comando para actualizar ese recurso de la instancia en lugar de actualizar las propiedades de la instancia. Por ejemplo:
- Puedes modificar los discos con el método
disks.update
. - Para cambiar la red que usa la instancia, puedes usar el método
instances.updateNetworkInterface
, que no requiere detener la instancia.
- Puedes modificar los discos con el método
Propiedades que puedes actualizar
Solo puede cambiar un conjunto específico de propiedades de instancia mediante el método update. Para actualizar algunas propiedades, es necesario reiniciar la instancia. Para evitar que tus instancias se reinicien por error, tu solicitud debe definir qué acción se puede llevar a cabo en ellas. Tu solicitud puede especificar una de las siguientes acciones:
NO_EFFECT
: la solicitud de actualización comprueba si es válida y si los recursos están disponibles, pero no ejecuta la actualización. Usa esta acción para probar comandos sin iniciar ninguna actualización.REFRESH
: la solicitud de actualización solo se ejecuta si las propiedades de la instancia modificada no requieren que se reinicie la instancia. La solicitud devuelve un errorINFEASIBLE
si es válida, pero es necesario reiniciar.RESTART
: si la actualización requiere que se reinicie la instancia, el sistema la reiniciará.
Para actualizar las siguientes propiedades, es necesario reiniciar (
RESTART
):disks
: discos de arranque, incluidos todos los discos (disks.deviceName
)displayDevice
enableNestedVirtualization
guestAccelerators
machineType
minCpuPlatform
networkInterfaces
networkPerformanceConfig
performanceMonitoringUnit
reservationAffinity
: Solo puedes actualizar cómo consume la instancia las reservas (reservationAffinity.consumeReservationType
) de la siguiente manera:- Desde consumir cualquier reserva coincidente (
ANY_RESERVATION
) hasta no consumir reservas (NO_RESERVATION
) - De no consumir reservas (
NO_RESERVATION
) a consumir cualquier reserva coincidente (ANY_RESERVATION
)
- Desde consumir cualquier reserva coincidente (
resourcePolicies
scheduling
serviceAccounts
shieldedInstanceConfig
threadsPerCore
visibleCoreCount
Las siguientes propiedades solo requieren una actualización (
REFRESH
) para actualizarse:canIpForward
deletionProtection
description
disks
: propiedades de disco no de arranque, exceptodeviceName
labels
metadata
nodeAffinities
tags
Actualizar propiedades de instancias
Para actualizar tus instancias, sigue estos pasos:
- Exporta las propiedades de configuración de la instancia.
- Modifica las propiedades de la configuración de la instancia.
- Ejecuta una solicitud de prueba especificando
NO_EFFECT
como la acción más disruptiva. La respuesta indica que hay campos no válidos en la configuración de la instancia y la acción necesaria para aplicar los cambios. - Si la configuración es aceptable, solicita una actualización de la instancia y especifica la acción más disruptiva que se pueda llevar a cabo en la actualización de la instancia.
El sistema inicia el proceso de actualización solo si tu solicitud cumple los siguientes requisitos:
- La propiedad
fingerprint
de la instancia en tu solicitud debe coincidir con lafingerprint
de la instancia que estás actualizando. De esta forma, se evita que las solicitudes de actualización simultáneas de la misma instancia se sobrescriban entre sí. - Las propiedades de tu solicitud de actualización deben ser válidas.
- Los recursos que solicites deben estar disponibles.
- Si las propiedades de tu solicitud requieren que se reinicie la instancia, debes especificar
RESTART
como acción permitida.
Si se cumplen los requisitos, el sistema inicia el proceso de actualización de la instancia. De lo contrario, el sistema no hará ningún cambio en la instancia ni en su configuración.
Puedes iniciar actualizaciones con la CLI de gcloud o con la API de Compute Engine.
gcloud
Usa el comando
instances export
para exportar las propiedades de la instancia actual:gcloud compute instances export INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --destination=FILE_PATH
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia que quieras exportar.PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.FILE_PATH
: la ruta de salida en la que quieres guardar el archivo de configuración de la instancia en tu estación de trabajo local.
Usa un editor de texto para modificar una o varias propiedades del archivo de configuración de la instancia exportada. Para saber qué propiedades puede actualizar, consulte la lista de propiedades actualizables de este documento. Por ejemplo, para cambiar el tipo de máquina de la instancia, cambia la propiedad
machineType
:... machineType: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE ...
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.MACHINE_TYPE
: el tipo de máquina de la instancia, por ejemplo,n1-standard-2
.
Usa el comando
instances update-from-file
para ejecutar una actualización de prueba de la instancia de destino. Especifica la marca--most-disruptive-allowed-action=NO_EFFECT
. La respuesta identifica las propiedades mal configuradas e indica si es necesario realizar una acciónRESTART
oREFRESH
para aplicar la actualización.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action NO_EFFECT
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia que quieras exportar.PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.FILE_PATH
: la ruta al archivo de configuración de la instancia modificada en tu estación de trabajo local.
Usa el comando
instances update-from-file
para actualizar la instancia de destino. Si vas a actualizar una propiedad que requiere que se reinicie la instancia, incluye la marca--most-disruptive-allowed-action=RESTART
. Si las propiedades no requieren que se reinicie, especifica la marca--most-disruptive-allowed-action=REFRESH
. Para saber qué propiedades requieren un reinicio, consulta la lista de propiedades actualizables de este documento.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action ALLOWED_ACTION
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia que quieras exportar.PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.FILE_PATH
: la ruta al archivo de configuración de la instancia modificada en tu estación de trabajo local.ALLOWED_ACTION
: define el nivel de interrupción que puede provocar la actualización. EspecificaRESTART
para permitir que se reinicie por completo la instancia. EspecificaREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que se reinicie.
Si la solicitud de actualización es válida y los recursos necesarios están disponibles, se inicia el proceso de actualización de la instancia. Para monitorizar el estado de esta operación, consulta los registros de auditoría. Si la actualización requiere un reinicio y tu comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.REST
Usa el método
instances.get
de la API Compute Engine para exportar las propiedades de la instancia:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.INSTANCE_NAME
: el nombre de la instancia que quieras exportar.
Esta solicitud devuelve una definición de recurso de instancia.
En la respuesta, modifica las propiedades del recurso de instancia. Para saber qué propiedades se pueden actualizar, consulta la lista de propiedades actualizables de este documento. Por ejemplo, para cambiar el tipo de máquina de la instancia, cambia la propiedad
machineType
. Puedes cambiar varias propiedades.{ ... "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", ... }
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.MACHINE_TYPE
: el tipo de máquina de la instancia, por ejemplo,n1-standard-2
.
Usa el método
instances.update
de la API Compute Engine y especifica el parámetro de consultamostDisruptiveAllowedAction=NO_EFFECT
para ejecutar una prueba de actualización de la instancia de destino. La respuesta identifica las propiedades mal configuradas e indica si se requiere una acciónRESTART
oREFRESH
para aplicar la actualización.PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=NO_EFFECT { ... "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ... }
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.INSTANCE_NAME
: el nombre de la instancia que quieras exportar.
Usa el método
instances.update
de la API Compute Engine para actualizar la instancia de destino. Si vas a actualizar una propiedad que requiere que se reinicie una instancia, incluye el parámetro de consultamostDisruptiveAllowedAction=RESTART
para indicar que la instancia se puede reiniciar durante la actualización. Si las propiedades no requieren que se reinicie el dispositivo, especifica el parámetro de consultamostDisruptiveAllowedAction=REFRESH
. Para saber qué propiedades requieren un reinicio, consulta la lista de propiedades actualizables de este documento. Incluye el cuerpo completo del recurso de instancia que has modificado. En el siguiente ejemplo, el cuerpo cambia el tipo de máquina an1-standard-2
:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION { ... "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ... }
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitud.ZONE
: la zona de esta instancia.INSTANCE_NAME
: el nombre de la instancia que quieras exportar.ALLOWED_ACTION
: define el nivel de interrupción que puede provocar la actualización. EspecificaRESTART
para permitir que la instancia se reinicie por completo. EspecificaREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que se reinicie.
Si la solicitud de actualización es válida y los recursos necesarios están disponibles, se inicia el proceso de actualización de la instancia. Para monitorizar el estado de esta operación, consulta los registros de auditoría. Si la actualización requiere un reinicio y tu comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.Siguientes pasos
- Comprueba el estado de la instancia.
- Consulta cómo reservar recursos en una zona específica.
- Consulta cómo actualizar las interfaces de red de una instancia.
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).
-