Puede utilizar una única solicitud de 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 maneja la lógica para validar las propiedades de la instancia actualizadas y garantizar que los recursos necesarios estén disponibles para completar la actualización con éxito. Si la solicitud incluye propiedades no válidas o si los recursos solicitados no están disponibles, la solicitud devuelve un error y no realiza cambios en su instancia. Esto protege la instancia de actualizaciones parciales y evita que la instancia se detenga y no pueda acceder a los recursos para iniciarse nuevamente.
Antes de comenzar
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Las solicitudes de actualización de instancias a través de la CLI de gcloud o la API de Compute Engine no admiten la semántica
PATCH
. El recurso de instancia en 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 su solicitud de actualización se consideran eliminadas de la instancia. - Puede actualizar sólo una lista específica de propiedades .
- No se admite el cambio de instancias hacia y desde el arrendamiento único.
- Puede cambiar una instancia de una reserva a otra, pero no puede adjuntar ni separar una instancia de una reserva mediante el proceso de actualización.
- Si la instancia tiene discos SSD locales conectados, no puede actualizar las propiedades que requieren que la instancia se reinicie mientras se está ejecutando. Puede eliminar y luego volver a crear la instancia, o detenerla , actualizar las propiedades y luego reiniciarla.
- Si una instancia usa recursos que están disponibles solo en la API beta de Compute Engine, debes usar la versión correcta del método
instances.update
para actualizar esas propiedades. Por ejemplo, si crea una instancia usando la API beta de Compute Engine y configura la instancia con un recurso que solo la API beta reconoce, también debe usar la versión beta del métodoinstances.update
para actualizar esos recursos. La versión v1 del métodoinstances.update
no reconoce los recursos beta que utiliza su 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. - El permiso
compute.instances.update
en la instancia que desea actualizar. - Ya sea el permiso
compute.disks.use
para un disco existente ocompute.disks.create
en un proyecto en el que desea crear un disco nuevo. - Si es posible, utilice constantemente la misma versión de la API de Compute Engine para crear, configurar y actualizar instancias. Esto garantiza que pueda actualizar y modificar cualquier recurso de instancia si está disponible solo en una versión de la API.
- Aunque puedes usar el método
instances.update
para actualizar instancias en un grupo de instancias administrado (MIG) , en la mayoría de las situaciones es mejor cambiar la plantilla de instancia del grupo e implementar esa actualización en el MIG . -
NO_EFFECT
: la solicitud de actualización verifica si la solicitud es válida y si los recursos están disponibles, pero no ejecuta la actualización. Utilice esta acción para probar comandos sin iniciar ninguna actualización real. -
REFRESH
: la solicitud de actualización se ejecuta solo si las propiedades de la instancia modificadas no requieren que la instancia se reinicie. La solicitud devuelve un errorINFEASIBLE
si la solicitud es válida pero se requiere un reinicio. -
RESTART
: si la actualización requiere que la instancia se reinicie, entonces el sistema reiniciará su instancia. -
disks
: discos de arranque, incluidos todos los discos (disks.deviceName
) -
displayDevice
-
enableNestedVirtualization
-
guestAccelerators
-
machineType
-
minCpuPlatform
-
networkPerformanceConfig
-
performanceMonitoringUnit
-
reservationAffinity
: solo puede actualizar cómo la instancia consume reservas (reservationAffinity.consumeReservationType
) de la siguiente manera:- Desde consumir cualquier reserva coincidente (
ANY_RESERVATION
) hasta no consumir reservas (NO_RESERVATION
) - Desde no consumir reservas (
NO_RESERVATION
) hasta consumir reservas coincidentes (ANY_RESERVATION
)
- Desde consumir cualquier reserva coincidente (
-
resourcePolicies
-
scheduling
-
serviceAccounts
-
shieldedInstanceConfig
-
threadsPerCore
-
visibleCoreCount
-
canIpForward
-
deletionProtection
-
description
-
disks
: propiedades del disco que no son de arranque, excluyendodeviceName
-
labels
-
metadata
-
nodeAffinities
-
tags
- Exporte las propiedades de configuración de la instancia existente.
- Modifique las propiedades de la configuración de la instancia.
- Ejecute una solicitud de prueba especificando
NO_EFFECT
como la acción más disruptiva. La respuesta indica campos no válidos en la configuración de la instancia e indica la acción requerida para aplicar los cambios. - Si la configuración es aceptable, solicite una actualización de instancia y especifique la acción más disruptiva que sea aceptable para su actualización de instancia.
- La propiedad
fingerprint
de la instancia en su solicitud debe coincidir con lafingerprint
de la instancia que está actualizando. Esto evita que las solicitudes de actualización simultáneas en la misma instancia se sobrescriban entre sí. - Las propiedades en su solicitud de actualización deben ser válidas.
- Los recursos que usted solicitó deben estar disponibles.
- Si las propiedades de su solicitud requieren que la instancia se reinicie, su solicitud debe especificar
RESTART
como una acción permitida. Utilice el comando
instances export
para exportar las propiedades de instancia existentes:gcloud compute instances export INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --destination=FILE_PATH
Reemplace lo siguiente:
-
INSTANCE_NAME
: el nombre de la instancia que desea exportar. -
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
FILE_PATH
: la ruta de salida donde desea guardar el archivo de configuración de la instancia en su estación de trabajo local.
-
Utilice un editor de texto para modificar una o más propiedades en el archivo de configuración de instancia exportado. Para saber qué propiedades puede actualizar, consulte la lista de propiedades actualizables en este documento. Por ejemplo, para cambiar el tipo de máquina de la instancia, cambie la propiedad
machineType
:... machineType: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE ...
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
MACHINE_TYPE
: el tipo de máquina de la instancia, por ejemplo,n1-standard-2
.
-
Utilice el comando
instances update-from-file
para ejecutar una actualización de prueba de la instancia de destino. Especifique la marca--most-disruptive-allowed-action=NO_EFFECT
. La respuesta identifica propiedades mal configuradas e indica si se requiere 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
Reemplace lo siguiente:
-
INSTANCE_NAME
: el nombre de la instancia que desea exportar. -
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
FILE_PATH
: la ruta al archivo de configuración de la instancia modificada en su estación de trabajo local.
-
Utilice el comando
instances update-from-file
para actualizar la instancia de destino. Si está actualizando una propiedad que requiere que la instancia se reinicie, incluya la marca--most-disruptive-allowed-action=RESTART
. Si las propiedades no requieren un reinicio, especifique el indicador--most-disruptive-allowed-action=REFRESH
. Para saber qué propiedades requieren un reinicio, consulte la lista de propiedades actualizables en este documento.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action ALLOWED_ACTION
Reemplace lo siguiente:
-
INSTANCE_NAME
: el nombre de la instancia que desea exportar. -
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
FILE_PATH
: la ruta al archivo de configuración de la instancia modificada en su estación de trabajo local. -
ALLOWED_ACTION
: define qué tan disruptiva puede ser la actualización. EspecifiqueRESTART
para permitir un reinicio completo de la instancia. EspecifiqueREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que la instancia se reinicie.
-
Utilice el método
instances.get
en la API de Compute Engine para exportar las propiedades de la instancia existente:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
INSTANCE_NAME
: el nombre de la instancia que desea exportar.
Esta solicitud devuelve una definición de recurso de instancia .
-
En la respuesta, modifique las propiedades del recurso de instancia. Para saber qué propiedades se pueden actualizar, consulte la lista de propiedades actualizables en este documento. Por ejemplo, para cambiar el tipo de máquina de la instancia, cambie la propiedad
machineType
. Puede cambiar varias propiedades.{ ... "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", ... }
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
MACHINE_TYPE
: el tipo de máquina de la instancia, por ejemplo,n1-standard-2
.
-
Utilice el método
instances.update
en la API de Compute Engine y especifique el parámetro de consultamostDisruptiveAllowedAction=NO_EFFECT
para ejecutar una actualización de prueba de la instancia de destino. La respuesta identifica 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", ... }
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
INSTANCE_NAME
: el nombre de la instancia que desea exportar.
-
Utilice el método
instances.update
en la API de Compute Engine para actualizar la instancia de destino. Si está actualizando una propiedad que requiere reiniciar la instancia, incluya el parámetro de consultamostDisruptiveAllowedAction=RESTART
para indicar que la instancia se puede reiniciar durante la actualización. Si las propiedades no requieren un reinicio, especifique el parámetro de consultamostDisruptiveAllowedAction=REFRESH
. Para saber qué propiedades requieren un reinicio, consulte la lista de propiedades actualizables en este documento. Incluya el cuerpo completo del recurso de instancia que modificó. 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", ... }
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto para esta solicitud. -
ZONE
: la zona para esta instancia. -
INSTANCE_NAME
: el nombre de la instancia que desea exportar. -
ALLOWED_ACTION
: define qué tan disruptiva puede ser la actualización. EspecifiqueRESTART
para permitir un reinicio completo de la instancia. EspecifiqueREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que la instancia se reinicie.
-
- Verifique el estado de la instancia.
- Aprenda a reservar recursos en una zona específica.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Restricciones
Permisos
Debe tener el permiso
compute.instances.update
para actualizar instancias. Este permiso está incluido en varias funciones de Gestión de acceso e identidad (IAM) existentes . También debe tener permiso para utilizar los recursos que desea modificar en la instancia. Por ejemplo, para agregar un disco a una instancia debes tener los siguientes permisos:Mejores prácticas
Para asegurarse de que la interfaz de actualización de instancias funcione de manera más efectiva, utilice las siguientes mejores prácticas:
Propiedades que puedes actualizar
Puede cambiar solo un conjunto específico de propiedades de instancia mediante el método de actualización. Las actualizaciones de algunas propiedades requieren que la instancia se reinicie. Para evitar reinicios accidentales en sus instancias, su solicitud debe definir qué acción se permite realizar en sus instancias. Su solicitud puede especificar una de las siguientes acciones:
Las siguientes propiedades requieren un reinicio (
RESTART
) para actualizarse:Las siguientes propiedades solo requieren una actualización (
REFRESH
) para actualizarse:Actualizar propiedades de instancia
Actualice sus instancias siguiendo los siguientes pasos:
El sistema inicia el proceso de actualización sólo si su solicitud cumple con los siguientes requisitos:
Si se cumplen los requisitos, el sistema inicia el proceso de actualización de la instancia. De lo contrario, el sistema no realiza cambios en su instancia existente ni en su configuración.
Puedes iniciar actualizaciones mediante la CLI de gcloud o la API de Compute Engine.
nube de gcloud
Si la solicitud de actualización es válida y los recursos necesarios están disponibles, comienza el proceso de actualización de la instancia. Puede monitorear el estado de esta operación viendo los registros de auditoría . Si la actualización requiere un reinicio y su comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.DESCANSAR
Si la solicitud de actualización es válida y los recursos necesarios están disponibles, comienza el proceso de actualización de la instancia. Puede monitorear el estado de esta operación viendo los registros de auditoría . Si la actualización requiere un reinicio y su comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.¿Qué sigue?
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-04-17 (UTC).
-