Neste documento, explicamos como criar um grupo gerenciado de instâncias (MIG) que usa instâncias de máquina virtual (VM) de início flexível. As VMs de início flexível são executadas sem interrupções por até sete dias e ajudam você a obter 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 de ajuste de modelos e inferência em lote.
As etapas neste documento explicam como criar um MIG que cria VMs de início flexível individuais à medida que os recursos ficam disponíveis. Assim, o MIG pode criar inicialmente apenas uma parte das VMs solicitadas e adicionar as VMs restantes mais tarde, conforme a capacidade permitir. Se você quiser criar VMs de início flexível de uma só vez em um MIG, consulte Sobre solicitações de redimensionamento de MIG.
Para outros métodos que podem ser usados para criar MIGs, consulte Cenários básicos para criar um MIG.
Antes de começar
- Verifique se você tem cota suficiente para os recursos que quer solicitar. Para mais informações, consulte Cotas de alocação.
-
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 Cloud de Confiance by S3NS . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Cloud de Confiance para acessar serviços Cloud de Confiance by S3NS e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Funções exigidas
Para receber as permissões
necessárias para criar MIGs que usam VMs de início flexível,
peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (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.
Esse papel predefinido contém as permissões necessárias para criar MIGs que usam VMs de início flexível. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar MIGs que usam VMs de início flexível:
-
Para criar um modelo de instância:
compute.instanceTemplates.createno projeto -
Para criar um MIG:
compute.instanceGroupManagers.createno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar um MIG que use VMs de início flexível
Para criar um MIG que use VMs de início flexível, siga estas etapas:
Criar um modelo de instância configurado para criar VMs de início flexível
Crie um modelo de instância configurado para criar VMs de início flexível, conforme descrito nesta seção. Depois de criar o modelo, use-o para criar o MIG.
Para criar um modelo de instância configurado para criar VMs de início flexível, selecione uma das seguintes opções:
Console
No console do Cloud de Confiance , acesse a página Modelos de instância.
Clique em Criar modelo de instância. A página Criar um modelo de instância é exibida.
No campo Nome, insira um nome para o modelo de instância.
Na seção Local, selecione o tipo de modelo de instância que você quer criar:
Para um modelo de instância regional, selecione Regional e escolha a região em que você quer criar o modelo. Com base no tipo de máquina que você quer que as VMs de início flexível usem, especifique uma região compatível.
Para um modelo de instância global, selecione Global.
Na seção Configuração da máquina, selecione uma série de máquinas compatível para VMs de início flexível.
Na seção Modelo de provisionamento, faça o seguinte:
Na lista Modelo de provisionamento de VM, selecione Início flexível.
Para definir uma duração de execução para as VMs criadas com o modelo de instância, no campo Inserir número de horas, insira o número de horas que as VMs vão ficar em execução. O valor precisa estar entre uma hora (
1) e sete dias (168). Quando as VMs atingem o fim da duração da execução, o Compute Engine exclui cada VM individualmente em relação ao próprio horário de criação.
Opcional: para alterar o valor padrão do tipo ou da imagem do disco de inicialização, na seção Disco de inicialização, clique em Alterar. Depois, siga as instruções para alterar o disco de inicialização.
Clique em Criar.
gcloud
Para criar um modelo de instância configurado para criar
VMs de início flexível, use o
comando gcloud compute instance-templates create.
O comando a seguir cria um modelo de instância regional. Se você quiser
criar um modelo de instância global, use o mesmo comando sem a
flag --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--instance-termination-action=DELETE \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--max-run-duration=RUN_DURATION \
--provisioning-model=FLEX_START \
--reservation-affinity=none
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância a ser criado.IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo,debian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE_FAMILY: uma família de imagens, que especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificardebian-12, vai usar a versão mais recente na família de imagens do Debian 12. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.REGION: a região em que o modelo de instância será criado. Com base no tipo de máquina que você quer que as VMs Flex-start usem, especifique uma região compatível.MACHINE_TYPE: o tipo de máquina de GPU ou H4D a ser usado para as VMs de início flexível. Se você especificar um tipo de máquina N1, inclua a flag--acceleratorpara definir o número e o tipo de GPUs a serem anexadas às VMs.RUN_DURATION: a duração da execução das VMs solicitadas. Quando as VMs atingem o fim da duração da execução, o Compute Engine exclui cada VM individualmente em relação ao próprio horário de criação. Formate a duração da execução como o número de dias, horas, minutos ou segundos, seguido pord,h,mes, respectivamente. Por exemplo, especifique30mpara 30 minutos ou1d2h3m4spara um dia, duas horas, três minutos e quatro segundos. O valor precisa estar entre 10 minutos e sete dias.
REST
Para criar um modelo de instância configurado para criar
VMs de início flexível, faça uma das seguintes solicitações POST:
Para criar um modelo de instância regional: método
regionInstanceTemplates.insertPara criar um modelo de instância global: método
instanceTemplates.insert
Por exemplo, para criar um modelo de instância regional, faça uma solicitação da seguinte maneira:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Substitua:
PROJECT_ID: o ID do projeto em que o modelo de instância será criado.REGION: a região em que o modelo de instância será criado. Com base no tipo de máquina que você quer que as VMs Flex-start usem, especifique uma região compatível.INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo,debian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Esse valor especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para saber como usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
MACHINE_TYPE: o tipo de máquina com GPU a ser usado para as VMs. Se você especificar um tipo de máquina N1, inclua o campoguestAcceleratorspara definir o número e o tipo de GPUs a serem anexadas às VMs.RUN_DURATION: a duração, em segundos, em que você quer que as VMs solicitadas sejam executadas. Quando as VMs atingem o fim da duração da execução, o Compute Engine exclui cada VM individualmente em relação ao próprio horário de criação. A duração da execução precisa estar entre600, que representa 600 segundos (10 minutos), e604800, que é 604.800 segundos (sete dias).
Depois de criar o modelo de instância, você pode conferir os detalhes dele para revisar as propriedades.
Criar um MIG regional ou zonal
Crie um MIG regional ou zonal conforme descrito nesta seção. Não configure o escalonamento automático e desative os reparos. Se os recursos solicitados estiverem indisponíveis, o Compute Engine continuará tentando alocar recursos até que a solicitação seja bem-sucedida, você reduza o número de VMs no MIG ou exclua o MIG.
Para criar um MIG regional ou zonal, selecione uma das seguintes opções:
Console
No console, do Cloud de Confiance , acesse a página Grupos de instâncias.
Clique em Criar grupo de instâncias. A página Criar grupo de instâncias é exibida.
No campo Nome, insira um nome para o MIG.
Na lista Modelo de instância, selecione o modelo de instância que você criou na seção anterior.
No campo Número de instâncias, insira o número de VMs de início flexível a serem criadas no MIG. Se a carga de trabalho exigir nomes específicos de VM, insira
0para não criar nenhuma VM. Depois de criar o MIG, adicione VMs com nomes específicos a ele.Na seção Local, especifique se você quer criar um MIG zonal ou regional da seguinte maneira:
Para criar um MIG zonal, selecione Zona única. Ou, para criar um MIG regional, selecione Várias zonas.
Selecione a Região e as Zonas do MIG.
Se você estiver criando um MIG regional, faça o seguinte:
No campo Forma de distribuição de destino, selecione Qualquer zona única.
Na caixa de diálogo exibida, clique em Desativar a redistribuição de instâncias.
Para excluir a configuração de escalonamento automático, na seção Escalonamento automático, faça o seguinte:
Clique em Configurar escalonamento automático.
Na lista Modo de escalonamento automático, clique em Excluir configuração de escalonamento automático.
Na caixa de diálogo de confirmação, clique em Excluir.
Para desativar os reparos, na seção Ação em caso de falha, na lista Ação padrão em caso de falha, selecione Nenhuma ação.
Clique em Criar.
gcloud
Para criar um MIG, use o
comando gcloud compute instance-groups managed create.
Com base no tipo de MIG que você quer criar, inclua as seguintes flags no comando:
Para criar um MIG zonal, inclua a flag
--zone:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEPara criar um MIG regional, inclua as flags
--regione--target-distribution-shape:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --target-distribution-shape=SHAPE
Substitua:
INSTANCE_GROUP_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você criou na seção anterior. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPara um modelo de instância global:
INSTANCE_TEMPLATE_ID
SIZE: o número de VMs de início flexível a serem criadas no MIG. Se a carga de trabalho exigir nomes de VM específicos, especifique0para não criar nenhuma VM. Depois de criar o MIG, adicione VMs com nomes específicos a ele.ZONE: a zona em que o MIG zonal será criado. Se você usar um modelo de instância regional para criar o MIG, especifique uma zona na mesma região do modelo.REGION: a região em que o MIG regional será criado. Se você usar um modelo de instância regional para criar o MIG, especifique a mesma região do modelo.SHAPE: como o MIG distribui as VMs de início flexível nas zonas do MIG regional. Especifique um dos seguintes valores:Para criar VMs em várias zonas com base na disponibilidade:
ANYPara criar VMs em uma única zona com base na disponibilidade:
ANY_SINGLE_ZONE
Para mais informações, consulte Forma regional de distribuição de destino do MIG.
REST
Para criar um MIG, faça uma solicitação POST a um dos seguintes métodos:
Para criar um MIG zonal, faça a seguinte solicitação para o método
instanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE }Para criar um MIG regional, faça a seguinte solicitação para o método
regionInstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE, "distributionPolicy": { "targetShape": "SHAPE" } }
Substitua:
PROJECT_ID: o ID do projeto em que o MIG regional ou zonal será criado.ZONE: a zona em que o MIG zonal será criado. Se você usar um modelo de instância regional para criar o MIG, especifique uma zona na mesma região do modelo.REGION: a região em que o MIG regional será criado. Se você usar um modelo de instância regional para criar o MIG, especifique a mesma região do modelo.INSTANCE_GROUP_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você criou na seção anterior. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPara um modelo de instância global:
INSTANCE_TEMPLATE_ID
SIZE: o número de VMs de início flexível a serem criadas no MIG. Se a carga de trabalho exigir nomes de VM específicos, especifique0para não criar nenhuma VM. Depois de criar o MIG, adicione VMs com nomes específicos a ele.SHAPE: como o MIG distribui as VMs de início flexível nas zonas do MIG regional. Especifique um dos seguintes valores:Para criar VMs em várias zonas com base na disponibilidade:
ANYPara criar VMs em uma única zona com base na disponibilidade:
ANY_SINGLE_ZONE
Para mais informações, consulte Forma regional de distribuição de destino do MIG.