Atualizar propriedades da instância,Atualizar propriedades da instância


Você pode usar uma única solicitação 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 update trata da 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 com êxito. 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 sua instância. Isso protege a instância contra atualizações parciais e evita que a instância seja interrompida e incapaz de acessar recursos para inicializá-la novamente.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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

    1. 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.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        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 mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Restrições

  • As solicitações de atualização de instância por meio da CLI gcloud ou da API Compute Engine não são compatíveis com a semântica PATCH . O recurso de instância na solicitação de atualização deve incluir todas as propriedades da instância. As propriedades que estão faltando na configuração da instância em sua solicitação de atualização são consideradas excluídas da instância.
  • Você pode atualizar apenas uma lista específica de propriedades .
  • Não há suporte para a alteração de instâncias de e para locatário individual.
  • Você pode alterar uma instância de uma reserva para outra, mas não pode anexar ou desanexar uma instância a uma reserva usando o processo de atualização.
  • Se a instância tiver discos SSD locais anexados, você não poderá atualizar propriedades que exijam a reinicialização da instância enquanto estiver em execução. Você pode excluir e recriar a instância ou interrompê-la , atualizar as propriedades e reiniciá-la.
  • Se uma instância usar recursos disponíveis apenas na API beta do Compute Engine, você deverá usar a versão correta do método instances.update para atualizar essas propriedades. Por exemplo, se você criar uma instância usando a API beta do Compute Engine e configurar a instância com um recurso que somente a API beta reconhece, você também deverá usar a versão beta do método instances.update para atualizar esses recursos. A versão v1 do método instances.update não reconhece os recursos beta que sua instância usa, portanto, exclui esses recursos beta da configuração da instância durante o processo de atualização. Esse comportamento também se aplica aos recursos da API alfa.

Permissões

Você deve ter a permissão compute.instances.update para atualizar instâncias. Essa permissão está incluída em diversas funções existentes de gerenciamento de identidade e acesso (IAM) . Você também deve ter permissão para usar os recursos que deseja modificar na instância. Por exemplo, para adicionar um disco a uma instância você deve ter as seguintes permissões:

  • A permissão compute.instances.update na instância que você deseja atualizar.
  • Permissão compute.disks.use para um disco existente ou compute.disks.create em um projeto onde você deseja criar um novo disco.

Melhores práticas

Para garantir que a interface de atualização de instância funcione de forma mais eficaz para você, use as seguintes práticas recomendadas:

  • Se possível, use consistentemente a mesma versão da API Compute Engine para criar, definir e atualizar instâncias. Isso garante que você possa atualizar e modificar quaisquer recursos de instância se eles estiverem disponíveis apenas em uma versão da API.
  • Embora você possa usar o método instances.update para atualizar instâncias em um grupo de instâncias gerenciadas (MIG) , na maioria das situações é melhor alterar o modelo de instância do grupo e distribuir essa atualização para o MIG .

Propriedades que você pode atualizar

Você pode alterar apenas um conjunto específico de propriedades de instância por meio do método update. As atualizações em algumas propriedades exigem a reinicialização da instância. Para evitar reinicializações acidentais em suas instâncias, sua solicitação deve definir quais ações podem ser executadas em suas instâncias. Sua solicitação pode especificar uma das seguintes ações:

  • NO_EFFECT : a solicitação de atualização verifica se a solicitação é válida e se os recursos estão disponíveis, mas não executa a atualização. Use esta ação para testar comandos sem iniciar nenhuma atualização real.
  • REFRESH : a solicitação de atualização será executada somente se as propriedades da instância modificadas não exigirem a reinicialização da instância. A solicitação retornará um erro INFEASIBLE se a solicitação for válida, mas for necessária uma reinicialização.
  • RESTART : se a atualização exigir que a instância seja reiniciada, o sistema reiniciará sua instância.

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

  • disks : discos de inicialização, incluindo todos os discos ( disks.deviceName )
  • displayDevice
  • enableNestedVirtualization
  • guestAccelerators
  • machineType
  • minCpuPlatform
  • networkPerformanceConfig
  • performanceMonitoringUnit
  • reservationAffinity : você só pode atualizar como a instância consome reservas ( reservationAffinity.consumeReservationType ) da seguinte maneira:
    • Desde consumir qualquer reserva correspondente ( ANY_RESERVATION ) até não consumir reservas ( NO_RESERVATION )
    • Desde não consumir reservas ( NO_RESERVATION ) até consumir quaisquer reservas correspondentes ( ANY_RESERVATION )
  • resourcePolicies
  • scheduling
  • serviceAccounts
  • shieldedInstanceConfig
  • threadsPerCore
  • visibleCoreCount

As propriedades a seguir requerem apenas uma atualização ( REFRESH ) para serem atualizadas:

  • canIpForward
  • deletionProtection
  • description
  • disks : propriedades de disco que não são de inicialização, excluindo deviceName
  • labels
  • metadata
  • nodeAffinities
  • tags

Atualizar propriedades da instância

Atualize suas instâncias usando as seguintes etapas:

  1. Exporte as propriedades de configuração da instância existente.
  2. Modifique as propriedades da configuração da instância.
  3. Execute uma solicitação de teste especificando NO_EFFECT como a ação mais perturbadora. 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 de instância e especifique a ação mais disruptiva aceitável para a atualização de sua instância.

O sistema inicia o processo de atualização somente se sua solicitação atender aos seguintes requisitos:

  • A propriedade fingerprint da instância na sua solicitação deve corresponder à fingerprint da instância que você está atualizando. Isso evita que solicitações de atualização simultâneas na mesma instância se sobrescrevam.
  • As propriedades na sua solicitação de atualização devem ser válidas.
  • Os recursos que você solicitou devem estar disponíveis.
  • Se as propriedades em sua solicitação exigirem a reinicialização da instância, sua solicitação deverá especificar RESTART como uma ação permitida.

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

Você pode iniciar atualizações usando a CLI gcloud ou a API Compute Engine.

gcloud

  1. Use o comando instances export para exportar as propriedades da instância existente:

    gcloud compute instances export INSTANCE_NAME \
        --project PROJECT_ID \
        --zone ZONE \
        --destination=FILE_PATH
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho de saída onde você deseja salvar o arquivo de configuração da instância em sua 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 você 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • MACHINE_TYPE : o tipo de máquina da instância, por exemplo, n1-standard-2 .
  3. Use o comando instances update-from-file para executar uma atualização de teste da instância de destino. Especifique o sinalizador --most-disruptive-allowed-action=NO_EFFECT . A resposta identifica propriedades mal configuradas e indica se uma ação RESTART ou REFRESH é necessária para 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_EFFECT
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho para o arquivo de configuração da instância modificado em sua estação de trabalho local.
  4. Use o comando instances update-from-file para atualizar a instância de destino. Se você estiver atualizando uma propriedade que exige a reinicialização da instância, inclua o sinalizador --most-disruptive-allowed-action=RESTART . Se as propriedades não exigirem reinicialização, especifique o sinalizador --most-disruptive-allowed-action=REFRESH . Para saber quais propriedades exigem reinicialização, 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_ACTION
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho para o arquivo de configuração da instância modificado em sua estação de trabalho local.
    • ALLOWED_ACTION : define o quão perturbadora a atualização pode ser. 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 da instância.

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. Você pode monitorar o status desta operação visualizando os logs de auditoria . Se a atualização exigir uma reinicialização e seu comando permitir RESTART , a instância será reiniciada para aplicar as alterações.

DESCANSAR

  1. Use o método instances.get na 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.

    Esta solicitação retorna uma definição de recurso de instância .

  2. Na resposta, modifique as propriedades do recurso da instância. Para saber quais 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 . Você 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • MACHINE_TYPE : o tipo de máquina da instância, por exemplo, n1-standard-2 .
  3. Use o método instances.update na 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 mal configuradas e indica se uma ação RESTART ou REFRESH é necessária para 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.
  4. Use o método instances.update na API Compute Engine para atualizar a instância de destino. Se você estiver atualizando uma propriedade que requer reinicialização da instância, inclua o parâmetro de consulta mostDisruptiveAllowedAction=RESTART para indicar que a instância pode ser reiniciada durante a atualização. Se as propriedades não exigirem reinicialização, especifique o parâmetro de consulta mostDisruptiveAllowedAction=REFRESH . Para saber quais propriedades exigem reinicialização, consulte a lista de propriedades atualizáveis ​​neste documento. Inclua o corpo completo do recurso de 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 o seguinte:

    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • ALLOWED_ACTION : define o quão perturbadora a atualização pode ser. 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 da instância.

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. Você pode monitorar o status desta operação visualizando os logs de auditoria . Se a atualização exigir uma reinicialização e seu comando permitir RESTART , a instância será reiniciada para aplicar as alterações.

O que vem a seguir

,

Você pode usar uma única solicitação 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 update trata da 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 com êxito. 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 sua instância. Isso protege a instância contra atualizações parciais e evita que a instância seja interrompida e incapaz de acessar recursos para inicializá-la novamente.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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

    1. 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.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        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 mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Restrições

  • As solicitações de atualização de instância por meio da CLI gcloud ou da API Compute Engine não são compatíveis com a semântica PATCH . O recurso de instância na solicitação de atualização deve incluir todas as propriedades da instância. As propriedades que estão faltando na configuração da instância em sua solicitação de atualização são consideradas excluídas da instância.
  • Você pode atualizar apenas uma lista específica de propriedades .
  • Não há suporte para a alteração de instâncias de e para locatário individual.
  • Você pode alterar uma instância de uma reserva para outra, mas não pode anexar ou desanexar uma instância a uma reserva usando o processo de atualização.
  • Se a instância tiver discos SSD locais anexados, você não poderá atualizar propriedades que exijam a reinicialização da instância enquanto estiver em execução. Você pode excluir e recriar a instância ou interrompê-la , atualizar as propriedades e reiniciá-la.
  • Se uma instância usar recursos disponíveis apenas na API beta do Compute Engine, você deverá usar a versão correta do método instances.update para atualizar essas propriedades. Por exemplo, se você criar uma instância usando a API beta do Compute Engine e configurar a instância com um recurso que somente a API beta reconhece, você também deverá usar a versão beta do método instances.update para atualizar esses recursos. A versão v1 do método instances.update não reconhece os recursos beta que sua instância usa, portanto, exclui esses recursos beta da configuração da instância durante o processo de atualização. Esse comportamento também se aplica aos recursos da API alfa.

Permissões

Você deve ter a permissão compute.instances.update para atualizar instâncias. Essa permissão está incluída em diversas funções existentes de gerenciamento de identidade e acesso (IAM) . Você também deve ter permissão para usar os recursos que deseja modificar na instância. Por exemplo, para adicionar um disco a uma instância você deve ter as seguintes permissões:

  • A permissão compute.instances.update na instância que você deseja atualizar.
  • Permissão compute.disks.use para um disco existente ou compute.disks.create em um projeto onde você deseja criar um novo disco.

Melhores práticas

Para garantir que a interface de atualização de instância funcione de forma mais eficaz para você, use as seguintes práticas recomendadas:

  • Se possível, use consistentemente a mesma versão da API Compute Engine para criar, definir e atualizar instâncias. Isso garante que você possa atualizar e modificar quaisquer recursos de instância se eles estiverem disponíveis apenas em uma versão da API.
  • Embora você possa usar o método instances.update para atualizar instâncias em um grupo de instâncias gerenciadas (MIG) , na maioria das situações é melhor alterar o modelo de instância do grupo e distribuir essa atualização para o MIG .

Propriedades que você pode atualizar

Você pode alterar apenas um conjunto específico de propriedades de instância por meio do método update. As atualizações em algumas propriedades exigem a reinicialização da instância. Para evitar reinicializações acidentais em suas instâncias, sua solicitação deve definir quais ações podem ser executadas em suas instâncias. Sua solicitação pode especificar uma das seguintes ações:

  • NO_EFFECT : a solicitação de atualização verifica se a solicitação é válida e se os recursos estão disponíveis, mas não executa a atualização. Use esta ação para testar comandos sem iniciar nenhuma atualização real.
  • REFRESH : a solicitação de atualização será executada somente se as propriedades da instância modificadas não exigirem a reinicialização da instância. A solicitação retornará um erro INFEASIBLE se a solicitação for válida, mas for necessária uma reinicialização.
  • RESTART : se a atualização exigir que a instância seja reiniciada, o sistema reiniciará sua instância.

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

  • disks : discos de inicialização, incluindo todos os discos ( disks.deviceName )
  • displayDevice
  • enableNestedVirtualization
  • guestAccelerators
  • machineType
  • minCpuPlatform
  • networkPerformanceConfig
  • performanceMonitoringUnit
  • reservationAffinity : você só pode atualizar como a instância consome reservas ( reservationAffinity.consumeReservationType ) da seguinte maneira:
    • Desde consumir qualquer reserva correspondente ( ANY_RESERVATION ) até não consumir reservas ( NO_RESERVATION )
    • Desde não consumir reservas ( NO_RESERVATION ) até consumir quaisquer reservas correspondentes ( ANY_RESERVATION )
  • resourcePolicies
  • scheduling
  • serviceAccounts
  • shieldedInstanceConfig
  • threadsPerCore
  • visibleCoreCount

As propriedades a seguir requerem apenas uma atualização ( REFRESH ) para serem atualizadas:

  • canIpForward
  • deletionProtection
  • description
  • disks : propriedades de disco que não são de inicialização, excluindo deviceName
  • labels
  • metadata
  • nodeAffinities
  • tags

Atualizar propriedades da instância

Atualize suas instâncias usando as seguintes etapas:

  1. Exporte as propriedades de configuração da instância existente.
  2. Modifique as propriedades da configuração da instância.
  3. Execute uma solicitação de teste especificando NO_EFFECT como a ação mais perturbadora. 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 de instância e especifique a ação mais disruptiva aceitável para a atualização de sua instância.

O sistema inicia o processo de atualização somente se sua solicitação atender aos seguintes requisitos:

  • A propriedade fingerprint da instância na sua solicitação deve corresponder à fingerprint da instância que você está atualizando. Isso evita que solicitações de atualização simultâneas na mesma instância se sobrescrevam.
  • As propriedades na sua solicitação de atualização devem ser válidas.
  • Os recursos que você solicitou devem estar disponíveis.
  • Se as propriedades em sua solicitação exigirem a reinicialização da instância, sua solicitação deverá especificar RESTART como uma ação permitida.

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

Você pode iniciar atualizações usando a CLI gcloud ou a API Compute Engine.

gcloud

  1. Use o comando instances export para exportar as propriedades da instância existente:

    gcloud compute instances export INSTANCE_NAME \
        --project PROJECT_ID \
        --zone ZONE \
        --destination=FILE_PATH
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho de saída onde você deseja salvar o arquivo de configuração da instância em sua 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 você 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • MACHINE_TYPE : o tipo de máquina da instância, por exemplo, n1-standard-2 .
  3. Use o comando instances update-from-file para executar uma atualização de teste da instância de destino. Especifique o sinalizador --most-disruptive-allowed-action=NO_EFFECT . A resposta identifica propriedades mal configuradas e indica se uma ação RESTART ou REFRESH é necessária para 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_EFFECT
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho para o arquivo de configuração da instância modificado em sua estação de trabalho local.
  4. Use o comando instances update-from-file para atualizar a instância de destino. Se você estiver atualizando uma propriedade que exige a reinicialização da instância, inclua o sinalizador --most-disruptive-allowed-action=RESTART . Se as propriedades não exigirem reinicialização, especifique o sinalizador --most-disruptive-allowed-action=REFRESH . Para saber quais propriedades exigem reinicialização, 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_ACTION
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • FILE_PATH : o caminho para o arquivo de configuração da instância modificado em sua estação de trabalho local.
    • ALLOWED_ACTION : define o quão perturbadora a atualização pode ser. 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 da instância.

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. Você pode monitorar o status desta operação visualizando os logs de auditoria . Se a atualização exigir uma reinicialização e seu comando permitir RESTART , a instância será reiniciada para aplicar as alterações.

DESCANSAR

  1. Use o método instances.get na 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.

    Esta solicitação retorna uma definição de recurso de instância .

  2. Na resposta, modifique as propriedades do recurso da instância. Para saber quais 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 . Você 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • MACHINE_TYPE : o tipo de máquina da instância, por exemplo, n1-standard-2 .
  3. Use o método instances.update na 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 mal configuradas e indica se uma ação RESTART ou REFRESH é necessária para 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 esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.
  4. Use o método instances.update na API Compute Engine para atualizar a instância de destino. Se você estiver atualizando uma propriedade que requer reinicialização da instância, inclua o parâmetro de consulta mostDisruptiveAllowedAction=RESTART para indicar que a instância pode ser reiniciada durante a atualização. Se as propriedades não exigirem reinicialização, especifique o parâmetro de consulta mostDisruptiveAllowedAction=REFRESH . Para saber quais propriedades exigem reinicialização, consulte a lista de propriedades atualizáveis ​​neste documento. Inclua o corpo completo do recurso de 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 o seguinte:

    • PROJECT_ID : o ID do projeto para esta solicitação.
    • ZONE : a zona para esta instância.
    • INSTANCE_NAME : o nome da instância que você deseja exportar.
    • ALLOWED_ACTION : define o quão perturbadora a atualização pode ser. 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 da instância.

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. Você pode monitorar o status desta operação visualizando os logs de auditoria . Se a atualização exigir uma reinicialização e seu comando permitir RESTART , a instância será reiniciada para aplicar as alterações.

O que vem a seguir