Puedes usar una sola solicitud desde la Google Cloud CLI o la API de Compute Engine para actualizar varias propiedades de instancia y, de forma opcional, reiniciarlas. la instancia, si es necesario. El método de actualización controla la lógica a fin de validar las propiedades de instancia actualizadas y garantizar que los recursos necesarios estén disponibles para completar la actualización de forma correcta. Si la solicitud incluye propiedades que no son válidas o si los recursos solicitados no están disponibles, esta muestra un error y no realiza cambios en la instancia. Esto protege a la instancia de las actualizaciones parciales y evita que se detenga y que no pueda acceder a los recursos para volver a iniciarse.
Antes de comenzar
-
Configura la autenticación si aún no lo hiciste.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- 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 son compatibles con la semántica de
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 la solicitud de actualización se borrarán de la instancia. - Solo puedes actualizar una lista específica de propiedades.
- No se admite el cambio de instancias a un usuario único, o desde él.
- Puedes cambiar una instancia de una reserva a otra, pero no puedes conectarla o desconectarla de una reserva mediante el proceso de actualización.
- Si la instancia tiene una SSD local conectada, no podrás actualizar las propiedades que requieren que se reinicie la instancia. Debes borrar y, luego, volver a crear la instancia. Asegúrate de migrar los datos importantes del SSD local a un disco persistente o a otra VM antes de borrar la VM.
- Si una instancia usa recursos que solo están disponibles en la API de Compute Engine Beta, debes usar la versión correcta del método
instances.update
para actualizar esas propiedades. Por ejemplo, si creas una instancia mediante la API de Compute Engine Beta y la configuras con un recurso que solo reconoce la API Beta, también debes usar la versión Beta del métodoinstances.update
a fin de actualizar esos recursos. La versión v1 del métodoinstances.update
no reconoce los recursos Beta que usa la instancia, por lo que los borra de la configuración de la instancia durante el proceso de actualización. Esto también se aplica a los recursos en la API Alfa. - El permiso
compute.instances.update
en la instancia que deseas actualizar - El permiso
compute.disks.use
para un disco existente, ocompute.disks.create
en un proyecto en el que quieras crear un disco nuevo - Si es posible, usa de manera coherente la misma versión de la API de Compute Engine para crear, configurar y actualizar instancias. Esto garantiza que puedas actualizar y modificar cualquier recurso de instancia si están disponibles 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 instancias del grupo y lanzar esa actualización al 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. Usa 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 muestra un errorINFEASIBLE
cuando la solicitud es válida, pero es necesario reiniciarla.RESTART
: Si la actualización requiere que la instancia se reinicie, el sistema lo hará.disks
- Discos de arranquedisks.deviceName
: Todos los discos
displayDevice
enableNestedVirtualization
guestAccelerators
machineType
minCpuPlatform
networkPerformanceConfig
performanceMonitoringUnit
reservationAffinity
resourcePolicies
scheduling
serviceAccounts
shieldedInstanceConfig
threadsPerCore
visibleCoreCount
canIpForward
deletionProtection
description
disks
: Propiedades de discos que no son de arranque, exceptodeviceName
labels
metadata
nodeAffinities
tags
- Exporta las propiedades existentes de configuración de instancias.
- Modifica las propiedades de configuración de la instancia.
- Especifica
NO_EFFECT
como la acción más perjudicial para ejecutar una solicitud de prueba. La respuesta indica campos que no son válidos en la configuración de la instancia y también indica la acción requerida para aplicar los cambios. - Si la configuración es aceptable, solicita una actualización de la instancia y especifica la acción más perjudicial aceptable para esta actualización.
- La propiedad
fingerprint
de la instancia en la solicitud debe coincidir con lafingerprint
de la instancia que estás actualizando. Esto evita que las solicitudes de actualización simultáneas en la misma instancia se reemplacen entre sí. - Las propiedades de la solicitud de actualización deben ser válidas.
- Los recursos que solicitaste deben estar disponibles.
- Si las propiedades de la solicitud requieren que la instancia se reinicie, la solicitud debe especificar
RESTART
como una acción permitida. Usa el comando
instances export
para exportar las propiedades de la instancia existentes:gcloud compute instances export INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --destination=FILE_PATH
Reemplaza lo siguiente:
INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.FILE_PATH
: Es la ruta de acceso de salida en la que deseas 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 más propiedades del archivo de configuración de la instancia exportado. Para saber cuáles son las propiedades que puedes actualizar, consulta la lista de propiedades que se pueden actualizar. 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 ⋮
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.MACHINE_TYPE
: Es el tipo de máquina de la instancia. Un ejemplo esn1-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 que está mal configuradas y también indica si se requiere una acción deRESTART
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
Reemplaza lo siguiente:
INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.FILE_PATH
: Es la ruta al archivo de configuración de la instancia modificado en tu estación de trabajo local.
Usa el comando
instances update-from-file
para actualizar la instancia de destino. Si actualizas una propiedad que requiere que la instancia se reinicie, incluye la marca--most-disruptive-allowed-action=RESTART
. Si las propiedades no requieren que se lleve a cabo un reinicio, especifica la marca--most-disruptive-allowed-action=REFRESH
. Para saber cuáles son las propiedades que requieren un reinicio, consulta la lista de propiedades que se pueden actualizar.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action ALLOWED_ACTION
Reemplaza lo siguiente:
INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.FILE_PATH
: Es la ruta al archivo de configuración de la instancia modificado en tu estación de trabajo local.ALLOWED_ACTION
: Define qué tan perjudicial puede ser la actualización. EspecificaRESTART
para permitir que la instancia se reinicie de forma completa. EspecificaREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que la instancia se reinicie.
Usa el método
instances.get
en la API de Compute Engine para exportar las propiedades de instancia existentes:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.
Esta solicitud muestra una definición de recurso de instancia.
En la respuesta, modifica las propiedades del recurso de la instancia. Para saber cuáles son las propiedades que se pueden actualizar, consulta la lista de propiedades que se pueden actualizar. 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", ⋮ }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.MACHINE_TYPE
: Es el tipo de máquina de la instancia. Un ejemplo esn1-standard-2
.
Usa el método
instances.update
en la API de Compute Engine y especificamost_disruptive_allowed_action=NO_EFFECT
para ejecutar una actualización de prueba de la instancia de destino. La respuesta identifica las propiedades que están mal configuradas y también indica si se requiere una acción deRESTART
oREFRESH
para aplicar la actualización.PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?most_disruptive_allowed_action=NO_EFFECT { ⋮ "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ⋮ }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.
Usa el método
instances.update
en la API de Compute Engine para actualizar la instancia de destino. Si actualizas una propiedad que requiere que la instancia se reinicie, incluye el parámetro de búsqueda?most_disruptive_allowed_action=RESTART
para indicar que la instancia se puede reiniciar durante la actualización. Si las propiedades no requieren un reinicio, especifica el parámetro de búsqueda?most_disruptive_allowed_action=REFRESH
. Para saber cuáles son las propiedades que requieren un reinicio, consulta la lista de propiedades que se pueden actualizar. Incluye el cuerpo completo para el recurso de instancia que modificaste. 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?most_disruptive_allowed_action=ALLOWED_ACTION { ⋮ "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ⋮ }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.ZONE
: Es la zona de esta instancia.INSTANCE_NAME
: Es el nombre de la instancia que deseas exportar.ALLOWED_ACTION
: Define qué tan perjudicial puede ser la actualización. EspecificaRESTART
para permitir que la instancia se reinicie de forma completa. EspecificaREFRESH
para actualizar la instancia solo si las propiedades modificadas no requieren que la instancia se reinicie.
- Verifica el estado de la instancia.
- Obtén más información para 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Restricciones
Permisos
Debes tener el permiso
compute.instances.update
para actualizar las instancias. Este permiso se incluye en varias funciones de administración de identidades y accesos (IAM) existentes. También debes tener permiso para usar los recursos que deseas modificar en la instancia. Por ejemplo, para agregar un disco a una instancia, debes tener los siguientes permisos:Prácticas recomendadas
Para asegurarte de que la interfaz de actualización de la instancia funciona de la manera más eficaz, usa las siguientes prácticas recomendadas:
Propiedades que puedes actualizar
Solo puedes cambiar un conjunto específico de propiedades de la instancia mediante el método de actualización. Las actualizaciones de algunas propiedades requieren que la instancia se reinicie. A fin de evitar reinicios accidentales en las instancias, la solicitud debe definir qué acción se puede realizar en tus instancias. La solicitud puede especificar una de las siguientes acciones:
Propiedades que requieren la actualización de
RESTART
:Propiedades que solo requieren la actualización de
REFRESH
:Actualiza propiedades de instancia
Sigue estos pasos para actualizar las instancias:
El sistema inicia el proceso de actualización solo si la 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 modificará la instancia existente ni su configuración.
Puedes iniciar actualizaciones mediante la CLI de gcloud o la API de Compute Engine.
gcloud
Si la solicitud de actualización es válida y los recursos requeridos están disponibles, comienza el proceso de actualización de la instancia. Puedes supervisar el estado de esta operación mediante la visualización de los registros de auditoría. Si la actualización requiere un reinicio y el comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.REST
Si la solicitud de actualización es válida y los recursos requeridos están disponibles, comienza el proceso de actualización de la instancia. Puedes supervisar el estado de esta operación mediante la visualización de los registros de auditoría. Si la actualización requiere un reinicio y el comando permite un
RESTART
, la instancia se reinicia para aplicar los cambios.¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-21 (UTC)
-