Pode usar um único pedido a partir da CLI do Google Cloud ou da API Compute Engine para atualizar várias propriedades da instância e, opcionalmente, reiniciar a instância, se necessário. O método de atualização processa a lógica para validar as propriedades da instância atualizadas e garantir que os recursos necessários estão disponíveis para concluir a atualização com êxito. Se o pedido incluir propriedades inválidas ou se os recursos pedidos não estiverem disponíveis, o pedido devolve um erro e não faz alterações à sua instância. Isto protege a instância contra atualizações parciais e impede que a instância seja interrompida e não consiga aceder aos recursos para ser iniciada novamente.
Para atualizar as interfaces de rede (networkInterfaces) de uma instância,
consulte o artigo
Atualize as interfaces de rede de uma instância.
Para adicionar ou remover interfaces de rede dinâmicas de uma instância (pré-visualização), use os seguintes procedimentos em vez de atualizar as propriedades da instância:
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Restrições
- Os pedidos de atualização de instâncias através da CLI gcloud ou da API Compute Engine não suportam a semântica
PATCH. O recurso de instância no pedido de atualização tem de incluir todas as propriedades da instância. As propriedades em falta na configuração da instância no seu pedido de atualização são consideradas eliminadas da instância. - Pode atualizar apenas uma lista específica de propriedades.
- A alteração de instâncias para e de arrendamento exclusivo não é suportada.
- Pode alterar uma instância de uma reserva para outra, mas não pode anexar nem desanexar uma instância a uma reserva através do processo de atualização.
- Se a instância tiver discos SSD locais anexados, não pode atualizar propriedades que exijam o reinício da instância enquanto esta estiver em execução. Pode eliminar e, em seguida, recriar a instância ou parar a instância, atualizar as propriedades e, em seguida, reiniciá-la.
- Pode atualizar a propriedade
networkInterfacesde uma instância, mas não pode adicionar nem remover NICs virtuais (vNICs) de uma instância. - Se uma instância usar recursos que só estão disponíveis na API Compute Engine beta, tem de usar a versão correta do método
instances.updatepara atualizar essas propriedades. Por exemplo, se criar uma instância através da API Compute Engine beta e configurar a instância com um recurso que apenas a API beta reconhece, também tem de usar a versão beta do métodoinstances.updatepara atualizar esses recursos. A versão v1 do métodoinstances.updatenão reconhece os recursos beta que a sua instância usa, pelo que elimina esses recursos beta da configuração da instância durante o processo de atualização. Este comportamento também se aplica aos recursos na API alfa.
Autorizações
Tem de ter a autorização
compute.instances.updatepara atualizar instâncias. Esta autorização está incluída em várias funções de gestão de identidade e de acesso (IAM) existentes. Também tem de ter autorização para usar os recursos que quer modificar na instância. Por exemplo, para adicionar um disco a uma instância, tem de ter as seguintes autorizações:- A autorização
compute.instances.updatena instância que quer atualizar. - Tem de ter a autorização
compute.disks.usepara um disco existente oucompute.disks.createnum projeto onde quer criar um novo disco.
Práticas recomendadas
Para garantir que a interface de atualização de instâncias funciona da forma mais eficaz para si, use as seguintes práticas recomendadas:
- Se possível, use sempre a mesma versão da API Compute Engine para criar, definir e atualizar instâncias. Isto garante que pode atualizar e modificar os recursos de instâncias se estiverem disponíveis apenas numa versão da API.
- Embora possa usar o método
instances.updatepara atualizar instâncias num grupo de instâncias geridas (GIG), na maioria das situações, é melhor alterar o modelo de instância do grupo e implementar essa atualização no GIG em alternativa. - Se estiver a atualizar um recurso usado pela instância, use o comando para atualizar
essa instância de recurso em vez de atualizar as propriedades da instância. Por exemplo:
- Pode modificar discos com o método
disks.update - Para alterar a rede usada pela instância, pode usar o método
instances.updateNetworkInterface, que não requer a paragem da instância.
- Pode modificar discos com o método
Propriedades que pode atualizar
Só pode alterar um conjunto específico de propriedades da instância através do método update. As atualizações de algumas propriedades requerem o reinício da instância. Para evitar reinícios acidentais nas suas instâncias, o seu pedido tem de definir que ação é permitida nas suas instâncias. O seu pedido pode especificar uma das seguintes ações:
NO_EFFECT: o pedido de atualização verifica se o pedido é válido e se os recursos estão disponíveis, mas não executa a atualização. Use esta ação para testar comandos sem iniciar atualizações reais.REFRESH: o pedido de atualização é executado apenas se as propriedades da instância modificada não exigirem o reinício da instância. O pedido devolve um erroINFEASIBLEse o pedido for válido, mas for necessário reiniciar.RESTART: se a atualização exigir o reinício da instância, o sistema reinicia a instância.
As seguintes propriedades requerem um reinício (
RESTART) para serem atualizadas:disks: discos de arranque, incluindo todos os discos (disks.deviceName)displayDeviceenableNestedVirtualizationguestAcceleratorsmachineTypeminCpuPlatformnetworkInterfacesnetworkPerformanceConfigperformanceMonitoringUnitreservationAffinity: só pode atualizar a forma como a instância consome as reservas (reservationAffinity.consumeReservationType) da seguinte forma:- Desde consumir qualquer reserva correspondente (
ANY_RESERVATION) até não consumir reservas (NO_RESERVATION) - De não consumir reservas (
NO_RESERVATION) para consumir quaisquer reservas correspondentes (ANY_RESERVATION)
- Desde consumir qualquer reserva correspondente (
resourcePoliciesschedulingserviceAccountsshieldedInstanceConfigthreadsPerCorevisibleCoreCount
As seguintes propriedades só requerem uma atualização (
REFRESH) para serem atualizadas:canIpForwarddeletionProtectiondescriptiondisks: propriedades do disco não de arranque, excluindodeviceNamelabelsmetadatanodeAffinitiestags
Atualize as propriedades da instância
Atualize as suas instâncias através dos seguintes passos:
- Exporte as propriedades de configuração da instância existente.
- Modifique as propriedades da configuração da instância.
- Execute um pedido de teste especificando
NO_EFFECTcomo a ação mais disruptiva. A resposta indica campos inválidos na configuração da instância e indica a ação necessária para aplicar as alterações. - Se a configuração for aceitável, peça uma atualização da instância e especifique a ação mais disruptiva que é aceitável para a atualização da instância.
O sistema inicia o processo de atualização apenas se o seu pedido cumprir os seguintes requisitos:
- A propriedade
fingerprintna sua solicitação tem de corresponder aofingerprintda instância que está a atualizar. Isto impede que os pedidos de atualização simultâneos na mesma instância se substituam uns aos outros. - As propriedades no seu pedido de atualização têm de ser válidas.
- Os recursos que solicitou têm de estar disponíveis.
- Se as propriedades no seu pedido exigirem o reinício da instância, o seu pedido tem de especificar
RESTARTcomo uma ação permitida.
Se os requisitos forem cumpridos, o sistema inicia o processo de atualização da instância. Caso contrário, o sistema não faz alterações à instância existente nem à respetiva configuração.
Pode iniciar atualizações através da CLI gcloud ou da API Compute Engine.
gcloud
Use o
instances exportcomando para exportar as propriedades da instância existentes:gcloud compute instances export INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --destination=FILE_PATHSubstitua o seguinte:
INSTANCE_NAME: o nome da instância que quer exportar.PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.FILE_PATH: o caminho de saída onde quer guardar o ficheiro de configuração da instância na sua estação de trabalho local.
Use um editor de texto para modificar uma ou mais propriedades no ficheiro de configuração da instância exportado. Para saber que propriedades pode atualizar, consulte a lista de propriedades atualizáveis neste documento. Por exemplo, para alterar o tipo de máquina da instância, altere a propriedade
machineType:... machineType: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE ...
Substitua o seguinte:
PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.MACHINE_TYPE: o tipo de máquina da instância, por exemplo,n1-standard-2.
Use o
instances update-from-filecomando para executar uma atualização de teste da instância de destino. Especifique a flag--most-disruptive-allowed-action=NO_EFFECT. A resposta identifica as propriedades com configuração incorreta e indica se é necessária uma açãoRESTARTouREFRESHpara aplicar a atualização.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action NO_EFFECTSubstitua o seguinte:
INSTANCE_NAME: o nome da instância que quer exportar.PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.FILE_PATH: o caminho para o ficheiro de configuração da instância modificada na sua estação de trabalho local.
Use o
instances update-from-filecomando para atualizar a instância de destino. Se estiver a atualizar uma propriedade que requer o reinício da instância, inclua a flag--most-disruptive-allowed-action=RESTART. Se as propriedades não exigirem um reinício, especifique a flag--most-disruptive-allowed-action=REFRESH. Para saber que propriedades requerem um reinício, consulte a lista de propriedades atualizáveis neste documento.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action ALLOWED_ACTIONSubstitua o seguinte:
INSTANCE_NAME: o nome da instância que quer exportar.PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.FILE_PATH: o caminho para o ficheiro de configuração da instância modificada na sua estação de trabalho local.ALLOWED_ACTION: define o quão disruptiva a atualização pode ser. EspecifiqueRESTARTpara permitir um reinício completo da instância. EspecifiqueREFRESHpara atualizar a instância apenas se as propriedades modificadas não exigirem o reinício da instância.
Se o pedido de atualização for válido e os recursos necessários estiverem disponíveis, o processo de atualização da instância começa. Pode monitorizar o estado desta operação consultando os registos de auditoria. Se a atualização exigir um reinício e o seu comando permitir um
RESTART, a instância é reiniciada para aplicar as alterações.REST
Use o método
instances.getna API Compute Engine para exportar as propriedades da instância existente:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Substitua o seguinte:
PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona para esta instância.INSTANCE_NAME: o nome da instância que quer exportar.
Este pedido devolve uma definição de recurso de instância.
Na resposta, modifique as propriedades do recurso de instância. Para saber que propriedades são atualizáveis, consulte a lista de propriedades atualizáveis neste documento. Por exemplo, para alterar o tipo de máquina da instância, altere a propriedade
machineType. Pode alterar várias propriedades.{ ... "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", ... }Substitua o seguinte:
PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.MACHINE_TYPE: o tipo de máquina da instância, por exemplo,n1-standard-2.
Use o método
instances.updatena API Compute Engine e especifique o parâmetro de consultamostDisruptiveAllowedAction=NO_EFFECTpara executar uma atualização de teste da instância de destino. A resposta identifica propriedades configuradas incorretamente e indica se é necessária uma açãoRESTARTouREFRESHpara aplicar a atualização.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", ... }Substitua o seguinte:
PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.INSTANCE_NAME: o nome da instância que quer exportar.
Use o método
instances.updatena API Compute Engine para atualizar a instância de destino. Se estiver a atualizar uma propriedade que requer o reinício de uma instância, inclua o parâmetro de consultamostDisruptiveAllowedAction=RESTARTpara indicar que a instância pode ser reiniciada durante a atualização. Se as propriedades não exigirem um reinício, especifique o parâmetro de consultamostDisruptiveAllowedAction=REFRESH. Para saber que propriedades requerem um reinício, consulte a lista de propriedades atualizáveis neste documento. Inclua o corpo completo do recurso de instância que modificou. No exemplo seguinte, o corpo altera o tipo de máquina paran1-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", ... }Substitua o seguinte:
PROJECT_ID: o ID do projeto para este pedido.ZONE: a zona desta instância.INSTANCE_NAME: o nome da instância que quer exportar.ALLOWED_ACTION: define o quão disruptiva a atualização pode ser. EspecifiqueRESTARTpara permitir um reinício completo da instância. EspecifiqueREFRESHpara atualizar a instância apenas se as propriedades modificadas não exigirem o reinício da instância.
Se o pedido de atualização for válido e os recursos necessários estiverem disponíveis, o processo de atualização da instância começa. Pode monitorizar o estado desta operação consultando os registos de auditoria. Se a atualização exigir um reinício e o seu comando permitir um
RESTART, a instância é reiniciada para aplicar as alterações.O que se segue?
- Verifique o estado da instância.
- Saiba como reservar recursos numa zona específica.
- Saiba como atualizar as interfaces de rede de uma instância.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-10-19 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-19 UTC."],[],[]] -