Neste documento, explicamos como criar uma instância de máquina virtual (VM) de início flexível. As VMs de início flexível são executadas por até sete dias e ajudam você a adquirir recursos de alta demanda, como GPUs, a um preço com desconto. Esses recursos tornam as VMs de início flexível uma solução econômica para executar cargas de trabalho de curta duração, como ajuste fino de modelos e inferência em lote.
Para saber mais sobre as principais características das VMs de início flexível, incluindo os requisitos e limitações aplicados ao criá-las, consulte Sobre as VMs de início flexível.
Antes de começar
-
Com base no tipo de máquina que você quer usar, revise um dos seguintes requisitos de configuração:
- Para um tipo de máquina otimizado para aceleradores (exceto A4X ou G4), consulte Visão geral da criação de uma instância com GPUs anexadas.
- Para um tipo de máquina H4D, consulte Criar uma instância que use o Cloud RDMA.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
- Set a default region and zone.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias para criar VMs de início flexível, peça ao administrador para conceder a você o papel do IAM de Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Essa função predefinida contém as permissões necessárias para criar VMs flexíveis de início. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para criar VMs Flex-start:
-
compute.instances.create
no projeto -
Usar uma imagem personalizada a fim de criar a VM:
compute.images.useReadOnly
na imagem -
Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot -
Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância -
Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida -
Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto -
Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida -
Atribuir uma rede legada à VM:
compute.networks.use
no projeto -
Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto -
Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto -
Definir tags para a VM:
compute.instances.setTags
na VM -
Definir rótulos para a VM:
compute.instances.setLabels
na VM -
Definir uma conta de serviço a ser usada pela VM:
compute.instances.setServiceAccount
na VM -
Criar um disco para a VM:
compute.disks.create
no projeto -
Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco -
Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar uma VM de início flexível
Para criar uma VM de início flexível, selecione uma das seguintes opções:
gcloud
Para criar uma VM de início flexível, use o comando
gcloud compute instances create
com as seguintes flags:A sinalização
--request-valid-for-duration
A sinalização
--provisioning-model=FLEX_START
A sinalização
--instance-termination-action
A sinalização
--max-run-duration
A sinalização
--maintenance-policy=TERMINATE
A sinalização
--reservation-affinity=none
Para criar uma VM Flex-start, execute o seguinte comando:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --request-valid-for-duration=VALID_FOR_DURATION \ --provisioning-model=FLEX_START \ --instance-termination-action=TERMINATION_ACTION \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Substitua:
VM_NAME
: o nome da nova VM.MACHINE_TYPE
: o tipo de máquina a ser usado para a VM de início flexível. Se você especificar um tipo de máquina G2 ou N1, considere o seguinte:Para tipos de máquina G2, é possível especificar uma estação de trabalho virtual NVIDIA RTX (vWS) para usar em cargas de trabalho com muitos gráficos. Para fazer isso, inclua a flag
--accelerator
no comando da seguinte maneira:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Substitua
VWS_ACCELERATOR_COUNT
pelo número de vWS NVIDIA RTX que sua carga de trabalho exige.Para tipos de máquina N1, especifique o número e o tipo de GPUs a serem anexadas à VM. Caso contrário, a criação da VM falhará. Para anexar GPUs a uma VM N1, inclua a flag
--accelerator
no comando da seguinte maneira:--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
Substitua:
NUMBER_OF_ACCELERATORS
: o número de GPUs a serem anexadas à VM N1.ACCELERATOR_TYPE
: um modelo de GPU com suporte para VMs N1.
ZONE
: a zona em que você quer criar a VM. Para verificar se o tipo de máquina especificado está disponível na zona em que você quer criar a VM, consulte Regiões e zonas disponíveis.VALID_FOR_DURATION
: o tempo máximo de espera para o provisionamento dos recursos solicitados, formatado como um número seguido por uma unidade (s
,m
,h
oud
). Por exemplo, um valor de30m
define um tempo de 30 minutos, e um valor de1h2m3s
define um tempo de uma hora, dois minutos e três segundos. Com base nos requisitos zonais da sua carga de trabalho, recomendamos que você especifique uma das seguintes durações para aumentar as chances de sucesso da solicitação de criação de VM:Se a carga de trabalho exigir que você crie a VM em uma zona específica, especifique uma duração entre 90 segundos (
90s
) e duas horas (2h
). Durações mais longas aumentam as chances de conseguir recursos.Se a VM puder ser executada em qualquer zona da região, especifique uma duração de zero segundos (
0s
). Esse valor especifica que o Compute Engine só aloca recursos se eles estiverem disponíveis imediatamente. Se a solicitação de criação falhar porque os recursos não estão disponíveis, tente de novo em uma zona diferente.
TERMINATION_ACTION
: se a VM será interrompida ou excluída ao final da duração da execução. Especifique um dos seguintes valores:Para interromper a VM:
STOP
Para excluir a VM:
DELETE
RUN_DURATION
: o tempo máximo que a VM é executada antes de ser excluída pelo Compute Engine, formatado como um número seguido por uma unidade (s
,m
,h
oud
). O valor precisa estar entre 10 minutos e sete dias.
REST
Para criar uma VM de início flexível, faça uma solicitação
POST
ao métodoinstances.insert
. No corpo da solicitação, inclua os seguintes campos:O campo
params.requestValidForDuration
.O campo
scheduling.provisioningModel
definido comoFLEX_START
.O campo
scheduling.instanceTerminationAction
.O campo
scheduling.maxRunDuration
.O campo
scheduling.onHostMaintenance
definido comoTERMINATE
.O
reservationAffinity.consumeReservationType
definido comoNO_RESERVATION
.
Para criar uma VM de início flexível, faça uma solicitação
POST
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "params": { "requestValidForDuration": { "seconds": VALID_FOR_DURATION } }, "scheduling": { "provisioningModel": "FLEX_START", "instanceTerminationAction": "TERMINATION_ACTION", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE" }, "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Substitua:
PROJECT_ID
: o ID do projeto em que a VM será criada.ZONE
: a zona em que você quer criar a VM. Para verificar se um tipo de máquina está disponível na zona em que você quer criar a VM, consulte Regiões e zonas disponíveis.VM_NAME
: o nome da nova VM.MACHINE_TYPE
: o tipo de máquina a ser usado para a VM de início flexível. Se você especificar um tipo de máquina G2 ou N1, considere o seguinte:Para tipos de máquina G2, é possível especificar uma estação de trabalho virtual NVIDIA RTX (vWS) para usar em cargas de trabalho com muitos gráficos. Para isso, inclua o campo
guestAccelerators
no corpo da solicitação da seguinte maneira:"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
Substitua
VWS_ACCELERATOR_COUNT
pelo número de vWS NVIDIA RTX que sua carga de trabalho exige.Para tipos de máquina N1, especifique o número e o tipo de GPUs a serem anexadas à VM. Caso contrário, a criação da VM falhará. Para anexar GPUs a uma VM N1, inclua o campo
guestAccelerators
no corpo da solicitação da seguinte maneira:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
Substitua:
NUMBER_OF_ACCELERATORS
: o número de GPUs a serem anexadas à VM N1.ACCELERATOR_TYPE
: um modelo de GPU com suporte para VMs N1.
IMAGE_PROJECT
: o projeto de imagem que contém a imagem, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.IMAGE
: especifique uma destas opções:Uma versão específica da imagem do SO. Por exemplo:
debian-12-bookworm-v20240617
Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY
. Esse valor especifica o uso da imagem do SO mais recente e não obsoleta. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
VALID_FOR_DURATION
: o tempo máximo em segundos para aguardar o provisionamento da VM. Com base nos requisitos zonais da sua carga de trabalho, recomendamos que você especifique uma das seguintes durações para aumentar as chances de sucesso da solicitação de criação de VM:Se a carga de trabalho exigir que você crie a VM em uma zona específica, especifique uma duração entre 90 segundos (
90
) e duas horas (7200
). Durações mais longas aumentam as chances de conseguir recursos.Se a VM puder ser executada em qualquer zona da região, especifique uma duração de zero segundos (
0
). Esse valor especifica que o Compute Engine só aloca recursos se eles estiverem disponíveis imediatamente. Se a solicitação de criação falhar porque os recursos não estão disponíveis, tente de novo em uma zona diferente.
TERMINATION_ACTION
: se a VM será interrompida ou excluída ao final da duração da execução. Especifique um dos seguintes valores:Para interromper a VM:
STOP
Para excluir a VM:
DELETE
RUN_DURATION
: o tempo máximo em segundos que a VM é executada antes de ser excluída pelo Compute Engine. Esse valor precisa estar entre 600 segundos (10 minutos) e 604.800 segundos (sete dias).
A seguir
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Compute Engine em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação gratuita do Compute EngineExceto 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-09-23 UTC.
-