Este documento explica 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 durante um máximo de sete dias e ajudam a adquirir recursos de elevada procura, como GPUs, a um preço com desconto. Estas funcionalidades tornam as VMs de início flexível numa solução económica para executar cargas de trabalho de curta duração, como o ajuste fino de modelos e a inferência em lote.
Para saber mais sobre as principais caraterísticas das VMs de início flexível, incluindo os requisitos e as limitações que aplica quando as cria, consulte o artigo Acerca das VMs de início flexível.
Antes de começar
-
Com base no tipo de máquina que quer usar, reveja um dos seguintes requisitos de configuração:
- Para um tipo de máquina otimizado para aceleradores (exceto A4X ou G4), consulte a vista geral da criação de uma instância com GPUs anexadas.
- Para um tipo de máquina H4D, consulte o artigo Crie uma instância que use o RDMA na nuvem.
-
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:
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se 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 init
Se 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.
Funções necessárias
Para receber as autorizações de que precisa para criar VMs de início flexível, peça ao seu administrador para lhe conceder a função IAM Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém as autorizações necessárias para criar VMs de início flexível. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar VMs de início flexível:
-
compute.instances.create
no projeto -
Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem -
Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo -
Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância -
Para especificar uma sub-rede para a sua VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida -
Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida -
Para atribuir uma rede antiga à VM:
compute.networks.use
no projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIp
no projeto -
Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto -
Para definir etiquetas para a VM:
compute.instances.setTags
na VM -
Para definir etiquetas para a VM:
compute.instances.setLabels
na VM -
Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM -
Para criar um novo disco para a VM:
compute.disks.create
no projeto -
Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.use
no disco -
Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnly
no disco
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Crie 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 bandeira de
--request-valid-for-duration
A bandeira de
--provisioning-model=FLEX_START
A bandeira de
--instance-termination-action
A bandeira de
--max-run-duration
A bandeira de
--maintenance-policy=TERMINATE
A bandeira de
--reservation-affinity=none
Para criar uma VM de início flexível, 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 o seguinte:
VM_NAME
: o nome da nova VM.MACHINE_TYPE
: o tipo de máquina a usar para a VM de início flexível. Se especificar um tipo de máquina G2 ou N1, considere o seguinte:Para os tipos de máquinas G2, pode especificar opcionalmente uma NVIDIA RTX Virtual Workstations (vWS) para usar em cargas de trabalho com utilização intensiva de gráficos. Para o fazer, inclua a flag
--accelerator
no comando da seguinte forma:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Substitua
VWS_ACCELERATOR_COUNT
pelo número de NVIDIA RTX vWS que a sua carga de trabalho requer.Para os tipos de máquinas N1, tem de especificar o número e o tipo de GPUs a anexar à sua VM. Caso contrário, a criação da VM falha. Para anexar GPUs a uma VM N1, inclua a flag
--accelerator
no comando da seguinte forma:--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
Substitua o seguinte:
NUMBER_OF_ACCELERATORS
: o número de GPUs a anexar à sua VM N1.ACCELERATOR_TYPE
: a modelo de GPU suportado para VMs N1.
ZONE
: a zona onde quer criar a VM. Para verificar se o tipo de máquina especificado está disponível na zona onde quer criar a VM, consulte o artigo Regiões e zonas disponíveis.VALID_FOR_DURATION
: o tempo máximo de espera para o aprovisionamento dos recursos pedidos, formatado como um número seguido de 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 especifique uma das seguintes durações para ajudar a aumentar as probabilidades de o pedido de criação de VM ser bem-sucedido:Se a sua carga de trabalho exigir que crie a VM numa zona específica, especifique uma duração entre 90 segundos (
90s
) e duas horas (2h
). As durações mais longas aumentam as suas hipóteses de obter recursos.Se a VM puder ser executada em qualquer zona na região, especifique uma duração de zero segundos (
0s
). Este valor especifica que o Compute Engine só atribui recursos se estiverem imediatamente disponíveis. Se o pedido de criação falhar porque os recursos não estão disponíveis, tente novamente o pedido numa zona diferente.
TERMINATION_ACTION
: se deve parar ou eliminar a VM no final da respetiva duração de execução. Especifique um dos seguintes valores:Para parar a VM:
STOP
Para eliminar a VM:
DELETE
RUN_DURATION
: o tempo máximo de execução da VM antes de o Compute Engine a eliminar, formatado como um número seguido de uma unidade (s
,m
,h
oud
). O valor tem de estar entre 10 minutos e sete dias.
REST
Para criar uma VM de início flexível, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, inclua os seguintes campos:O campo
params.requestValidForDuration
.O campo
scheduling.provisioningModel
está definido comoFLEX_START
.O campo
scheduling.instanceTerminationAction
.O campo
scheduling.maxRunDuration
.O campo
scheduling.onHostMaintenance
está definido comoTERMINATE
.O
reservationAffinity.consumeReservationType
está definido comoNO_RESERVATION
.
Para criar uma VM de início flexível, faça um pedido
POST
da seguinte forma: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 o seguinte:
PROJECT_ID
: o ID do projeto no qual criar a VM.ZONE
: a zona onde quer criar a VM. Para verificar se um tipo de máquina está disponível na zona onde quer criar a VM, consulte o artigo Regiões e zonas disponíveis.VM_NAME
: o nome da nova VM.MACHINE_TYPE
: o tipo de máquina a usar para a VM de início flexível. Se especificar um tipo de máquina G2 ou N1, considere o seguinte:Para os tipos de máquinas G2, pode especificar opcionalmente uma NVIDIA RTX Virtual Workstations (vWS) para usar em cargas de trabalho com utilização intensiva de gráficos. Para tal, inclua o campo
guestAccelerators
no corpo do pedido da seguinte forma:"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
Substitua
VWS_ACCELERATOR_COUNT
pelo número de NVIDIA RTX vWS que a sua carga de trabalho requer.Para os tipos de máquinas N1, tem de especificar o número e o tipo de GPUs a anexar à sua VM. Caso contrário, a criação da VM falha. Para anexar GPUs a uma VM N1, inclua o campo
guestAccelerators
no corpo do pedido da seguinte forma:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
Substitua o seguinte:
NUMBER_OF_ACCELERATORS
: o número de GPUs a anexar à sua VM N1.ACCELERATOR_TYPE
: a modelo de GPU suportado 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 imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de estar formatada como
family/IMAGE_FAMILY
. Este valor especifica a utilização da imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-12
, é usada a versão mais recente na família de imagens do Debian 12. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
VALID_FOR_DURATION
: o tempo máximo em segundos para aguardar o aprovisionamento da VM. Com base nos requisitos zonais para a sua carga de trabalho, recomendamos que especifique uma das seguintes durações para ajudar a aumentar as probabilidades de o seu pedido de criação de VM ser bem-sucedido:Se a sua carga de trabalho exigir que crie a VM numa zona específica, especifique uma duração entre 90 segundos (
90
) e duas horas (7200
). As durações mais longas aumentam as suas hipóteses de obter recursos.Se a VM puder ser executada em qualquer zona na região, especifique uma duração de zero segundos (
0
). Este valor especifica que o Compute Engine só atribui recursos se estiverem imediatamente disponíveis. Se o pedido de criação falhar porque os recursos não estão disponíveis, tente novamente o pedido numa zona diferente.
TERMINATION_ACTION
: se deve parar ou eliminar a VM no final da respetiva duração de execução. Especifique um dos seguintes valores:Para parar a VM:
STOP
Para eliminar a VM:
DELETE
RUN_DURATION
: o tempo máximo em segundos que a VM é executada antes de o Compute Engine a eliminar. Este valor tem de estar entre 600 segundos (10 minutos) e 604 800 segundos (sete dias).
O que se segue?
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Compute Engine em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimente o Compute Engine gratuitamenteExceto 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.
-