Atualizar propriedades da instância (original) (raw)

Use uma única solicitação daCLI do Google Cloud ou daAPI Compute Enginepara atualizar várias propriedades de instância e reiniciar a instância, se necessário. O método de atualização processa a lógica para validar as propriedades da instância atualizada e garantir que os recursos necessários estejam disponíveis para concluir a atualização. Se a solicitação incluir propriedades inválidas ou se os recursos solicitados não estiverem disponíveis, a solicitação retornará um erro e não fará alterações na instância. Isso protege a instância contra atualizações parciais e impede que ela seja interrompida e não consiga acessar os recursos para ser reiniciada.

Para atualizar as interfaces de rede (networkInterfaces) de uma instância, consulteAtualizar as interfaces de rede de uma instância.

Para adicionar ou remover interfaces de rede dinâmicas de uma instância, use os procedimentos a seguir em vez de atualizar as propriedades da instância:

Antes de começar

Restrições

Permissões

É necessário ter a permissão compute.instances.update para atualizar instâncias. Essa permissão está incluída em váriospapéis existentes de gerenciamento de identidade e acesso (IAM, na sigla em inglês). Você também precisa ter permissão para usar os recursos que quer modificar na instância. Por exemplo, para adicionar um disco a uma instância, é preciso ter as permissões a seguir:

Práticas recomendadas

Para garantir que a interface de atualização da instância funcione com mais eficiência, use as seguintes práticas recomendadas:

Propriedades que podem ser atualizadas

É possível alterar apenas um conjunto específico de propriedades da instância por meio do método de atualização. Para atualizar algumas propriedades, é necessário reiniciar a instância. Para evitar reinicializações acidentais nas instâncias, a solicitação precisa definir qual ação tem permissão para ser executada. A solicitação pode especificar uma das seguintes ações:

As propriedades a seguir exigem uma reinicialização (RESTART) para serem atualizadas:

As propriedades a seguir exigem apenas uma atualização (REFRESH):

Atualize suas instâncias seguindo as seguintes etapas:

  1. Exporte as propriedades de configuração da instância atual.
  2. Modifique as propriedades de configuração da instância.
  3. Realize uma solicitação de teste especificando NO_EFFECT como 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.
  4. Se a configuração for aceitável, solicite uma atualização da instância e especifique a ação mais disruptiva aceitável para esta atualização.

O sistema iniciará o processo de atualização apenas se sua solicitação atender aos requisitos a seguir:

Se os requisitos forem atendidos, o sistema iniciará o processo de atualização da instância. Caso contrário, o sistema não fará alterações na instância ou na configuração dela.

É possível iniciar atualizações usando a gcloud CLI ou a API Compute Engine.

gcloud

  1. Use ocomando instances exportpara exportar as propriedades da instância atual:
    gcloud compute instances export INSTANCE_NAME \
    --project PROJECT_ID \
    --zone ZONE \
    --destination=FILE_PATH
    Substitua:
    • INSTANCE_NAME: o nome da instância que você quer exportar;
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • FILE_PATH: o caminho de saída em que você quer salvar o arquivo de configuração da instância na estação de trabalho local.
  2. Use um editor de texto para modificar uma ou mais propriedades no arquivo de configuração da instância exportada. Para saber quais propriedades é possível 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:
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • MACHINE_TYPE: otipo de máquina da instância, por exemplo, n1-standard-2.
  3. Use ocomando instances update-from-filepara executar uma atualização de teste da instância de destino. Especifique a sinalização --most-disruptive-allowed-action=NO_EFFECT. A resposta identifica propriedades configuradas incorretamente e indica se uma ação RESTART ou REFRESH é necessária para realizar a atualização.
    gcloud compute instances update-from-file INSTANCE_NAME \
    --project PROJECT_ID \
    --zone ZONE \
    --source=FILE_PATH \
    --most-disruptive-allowed-action NO_EFFECT
    Substitua:
    • INSTANCE_NAME: o nome da instância que você quer exportar;
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • FILE_PATH: o caminho para o arquivo de configuração da instância modificado na estação de trabalho local.
  4. Use ocomando instances update-from-filepara atualizar a instância de destino. Se você estiver atualizando uma propriedade que requer a reinicialização da instância, inclua a sinalização --most-disruptive-allowed-action=RESTART. Se as propriedades não exigirem reinicialização, especifique a sinalização --most-disruptive-allowed-action=REFRESH. Para saber quais propriedades exigem reinicialização, consulte alista 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_ACTION
    Substitua:
    • INSTANCE_NAME: o nome da instância que você quer exportar;
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • FILE_PATH: o caminho para o arquivo de configuração da instância modificado na estação de trabalho local.
    • ALLOWED_ACTION: define o grau de disrupção da atualização. Especifique RESTART para permitir uma reinicialização completa da instância. Especifique REFRESH para atualizar a instância somente se as propriedades modificadas não exigirem a reinicialização dela.

Se a solicitação de atualização for válida e os recursos necessários estiverem disponíveis, o processo de atualização da instância será iniciado. É possível monitorar o status da operaçãovisualizando os registros de auditoria. Se a atualização exigir uma reinicialização e o comando permitir umRESTART, a instância será reiniciada para aplicar as alterações.

REST

  1. Use omé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:
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • INSTANCE_NAME: o nome da instância que você quer exportar.
      Essa solicitação retorna umadefinição de recurso de instância.
  2. Na resposta, modifique as propriedades dos recursos da instância. Para saber quais propriedades podem ser atualizadas, consulte alista de propriedades atualizáveis neste documento. Por exemplo, para alterar o tipo de máquina da instância, altere a propriedade machineType: É possível alterar várias propriedades.
    {
    ...
    "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
    ...
    }
    Substitua:
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • MACHINE_TYPE: otipo de máquinada instância, por exemplo, n1-standard-2.
  3. Use ométodo instances.updatena API Compute Engine e especifique o parâmetro de consulta mostDisruptiveAllowedAction=NO_EFFECT para executar uma atualização de teste da instância de destino. A resposta identifica propriedades configuradas incorretamente e indica se é necessário aplicar uma ação RESTART ou REFRESH para realizar 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:
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • INSTANCE_NAME: o nome da instância que você quer exportar.
  4. Use ométodo instances.updatena API Compute Engine para atualizar a instância de destino. Se você estiver atualizando uma propriedade que exige a reinicialização da instância, inclua o parâmetro de consulta mostDisruptiveAllowedAction=RESTARTpara indicar que a instância pode ser reiniciada durante a atualização. Se as propriedades não exigirem uma reinicialização, especifique o parâmetro de consulta mostDisruptiveAllowedAction=REFRESH. Para saber quais propriedades exigem reinicialização, consulte alista de propriedades atualizáveis neste documento. Inclua o corpo completo do recurso da instância que você modificou. No exemplo a seguir, o corpo altera o tipo de máquina para n1-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:
    • PROJECT_ID: o ID do projeto desta solicitação.
    • ZONE: a zona desta instância.
    • INSTANCE_NAME: o nome da instância que você quer exportar.
    • ALLOWED_ACTION: define o grau de disrupção da atualização. EspecifiqueRESTART para permitir uma reinicialização completa da instância. EspecifiqueREFRESH para atualizar a instância somente se as propriedades modificadas não exigirem a reinicialização dela.

Se a solicitação de atualização for válida e os recursos necessários estiverem disponíveis, o processo de atualização da instância será iniciado. É possível monitorar o status da operaçãovisualizando os registros de auditoria. Se a atualização exigir uma reinicialização e o comando permitir umRESTART, a instância será reiniciada para aplicar as alterações.

A seguir