Neste documento, descrevemos como reduzir a latência de rede entre suas instâncias do Compute Engine criando e aplicando políticas de posicionamento compacto. Para saber mais sobre políticas de posicionamento, incluindo as séries de máquinas, restrições e preços compatíveis, consulte Visão geral das políticas de posicionamento.
Uma política de posicionamento compacto especifica que o Compute Engine coloca fisicamente as instâncias mais próximas umas das outras. Isso pode ajudar a melhorar o desempenho e reduzir a latência de rede entre as instâncias ao executar computação de alto desempenho (HPC), machine learning (ML) ou cargas de trabalho de servidor de banco de dados.
Antes de começar
-
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ó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 Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- 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 CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud 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 e aplicar uma política de posicionamento compacto a instâncias de computação, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para criar uma reserva:
Administrador do Compute (
roles/compute.admin)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar e aplicar uma política de posicionamento compacto às instâncias de computação. 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 e aplicar uma política de posicionamento compacto às instâncias de computação:
-
Para criar políticas de posicionamento:
compute.resourcePolicies.createno projeto -
Para aplicar uma política de posicionamento a instâncias de computação atuais:
compute.instances.addResourcePoliciesno projeto -
Para criar instâncias de computação:
compute.instances.createno projeto- Usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Utilizar um snapshot para criar a VM:
compute.snapshots.useReadOnlyno snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância - Atribuir uma rede legada à VM:
compute.networks.useno projeto - Especificar um endereço IP estático para a VM:
compute.addresses.useno projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIpno projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida - Definir os metadados da instância da VM:
compute.instances.setMetadatano projeto - Definir tags para a VM:
compute.instances.setTagsna VM - Definir rótulos para a VM:
compute.instances.setLabelsna VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM - Criar um disco para a VM:
compute.disks.createno projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.useno disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnlyno disco
-
Para criar uma reserva:
compute.reservations.createno projeto -
Para criar um modelo de instância:
compute.instanceTemplates.createno projeto -
Para criar um MIG:
compute.instanceGroupManagers.createno projeto -
Para conferir os detalhes de uma instância de computação:
compute.instances.getno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar uma política de colocação de compactação
Antes de criar uma política de posicionamento compacto, considere o seguinte:
Se você quiser aplicar uma política de posicionamento compacto a uma instância de computação que não seja M3, M2, M1, N2D ou N2, faça uma das seguintes ações com base no tipo de máquina:
Para instâncias A4X Max ou A4X autônomas, você precisa especificar a criação de instâncias de computação no mesmo sub-bloco para usar um domínio NVLink, conforme descrito nesta seção.
Para outras instâncias de computação que aceitam políticas de posicionamento compacto, especifique um valor de distância máxima.
Se você quiser aplicar uma política de posicionamento compacto a uma instância A3 Mega, A3 High ou A3 Edge criada antes de 1º de outubro de 2025, entre em contato com sua equipe de conta.
Para criar uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para aplicar a política de posicionamento compacto a instâncias M3, M2, M1, N2D ou N2, crie a política usando o comando
gcloud compute resource-policies create group-placementcom a flag--collocation=collocated.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGIONSubstitua:
POLICY_NAME: o nome da política de posicionamento compacto.REGION: a região em que a política de posicionamento será criada.
Para aplicar a política de posicionamento compacto a instâncias A4X Max ou A4X autônomas, crie a política usando o comando
gcloud compute resource-policies create group-placementcom as flags--collocation=collocatede--gpu-topology=1x72.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --gpu-topology=1x72 \ --region=REGIONPara aplicar a política de posicionamento compacto a qualquer outra instância de computação com suporte, crie a política usando o comando
gcloud beta compute resource-policies create group-placementcom as flags--collocation=collocatede--max-distance.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Substitua:
POLICY_NAME: o nome da política de posicionamento compacto.MAX_DISTANCE: a configuração da distância máxima para suas instâncias de computação. O valor precisa estar entre1, que especifica a colocação das instâncias de computação no mesmo subbloco para ter a menor latência de rede possível, e3, que especifica a colocação das instâncias de computação no mesmo cluster.
REGION: a região em que a política de posicionamento será criada.
REST
Para aplicar a política de posicionamento compacto a instâncias M3, M2, M1, N2D ou N2, crie a política fazendo uma solicitação
POSTao métodoresourcePolicies.insert. No corpo da solicitação, inclua o campocollocatione defina-o comoCOLLOCATED.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }Para aplicar a política de posicionamento compacto a instâncias autônomas A4X Max ou A4X, crie a política fazendo uma solicitação
POSTao métodoresourcePolicies.insert. No corpo da solicitação, inclua o campocollocationdefinido comoCOLLOCATEDe o campogpuTopologydefinido como1x72.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "gpuTopology": "1x72" } }Para aplicar a política de posicionamento compacto a qualquer outra instância de computação com suporte, crie a política fazendo uma solicitação
POSTpara o métodobeta.resourcePolicies.insert. No corpo da solicitação, inclua o seguinte:O campo
collocationdefinido comoCOLLOCATED.O campo
maxDistance.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a política de posicionamento.REGION: a região em que a política de posicionamento será criada.MAX_DISTANCE: a configuração da distância máxima para suas instâncias de computação. O valor precisa estar entre1, que especifica a colocação das instâncias de computação no mesmo subbloco para ter a menor latência de rede possível, e3, que especifica a colocação das instâncias de computação no mesmo cluster.
Aplicar uma política de posicionamento compacto
É possível aplicar uma política de posicionamento compacto a uma instância de computação ou grupo gerenciado de instâncias (MIG) atual ou ao criar instâncias de computação, modelos de instância, MIGs ou reservas de instâncias de computação.
Para aplicar uma política de posicionamento compacto a um recurso do Compute Engine, selecione um dos seguintes métodos:
- Aplique a política a uma instância atual.
- Aplique a política ao criar uma instância.
- Aplique a política ao criar várias instâncias.
- Aplique a política ao criar uma reserva
- Aplique a política ao criar um modelo de instância.
Depois de aplicar uma política de posicionamento compacto a uma instância, é possível verificar o local físico da instância em relação a outras instâncias que especificam a mesma política de posicionamento.
Aplicar a política a uma instância atual
Antes de aplicar uma política de posicionamento compacto a uma instância de computação, verifique o seguinte:
A instância de computação e a política de posicionamento compacto precisam estar na mesma região. Por exemplo, se a política de posicionamento estiver na região
us-central1, a instância de computação precisará estar em uma zona emus-central1. Se você precisar migrar uma instância de computação para outra região, consulte Mover uma instância de computação entre zonas ou regiões.A instância de computação precisa usar uma série de máquinas e política de manutenção do host aceitas. Se você precisar fazer mudanças na instância de computação, siga um ou ambos os procedimentos a seguir:
Caso contrário, a aplicação da política de posicionamento compacto à instância de computação vai falhar. Se a instância de computação já especificar uma política de posicionamento e você quiser substituí-la, consulte Substituir uma política de posicionamento em uma instância de computação.
Para aplicar uma política de posicionamento compacto a uma instância de computação, selecione uma das seguintes opções:
gcloud
Para aplicar uma política de posicionamento compacto a uma instância de computação atual, use o comando
gcloud compute instances add-resource-policies.gcloud compute instances add-resource-policies INSTANCE_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome de uma instância de computação.POLICY_NAME: o nome de uma política de posicionamento compacto existente.ZONE: a zona em que a instância de computação está.
REST
Para aplicar uma política de posicionamento compacto a uma instância de computação, faça uma solicitação
POSTao métodoinstances.addResourcePolicies.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto e a instância de computação existem.ZONE: a zona em que a instância de computação está.INSTANCE_NAME: o nome de uma instância de computação.REGION: a região em que a política de posicionamento compacto está localizada.POLICY_NAME: o nome de uma política de posicionamento compacto existente.
Aplicar a política ao criar uma instância
Só é possível criar uma instância de computação que especifique uma política de posicionamento compacto na mesma região da política de posicionamento.
Para criar uma instância de computação que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar uma instância de computação que especifique uma política de posicionamento compacto, use
o
comando gcloud compute instances create
com as flags --maintenance-policy e --resource-policies.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--resource-policies=POLICY_NAME \
--zone=ZONE
Substitua:
INSTANCE_NAME: o nome da instância de computação a ser criada.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.MAINTENANCE_POLICY: a política de manutenção do host da instância de computação. Se a política de posicionamento compacto especificada usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.POLICY_NAME: o nome de uma política de posicionamento compacto existente.ZONE: a zona em que a instância de computação será criada.
REST
Para criar uma instância de computação que especifique uma política de posicionamento compacto, faça
uma solicitação POST para o
método instances.insert.
No corpo da solicitação, inclua os campos onHostMaintenance e resourcePolicies..
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.ZONE: a zona em que a instância de computação será criada e onde o tipo de máquina está localizado. Só é possível especificar uma zona na região da política de posicionamento compacto.INSTANCE_NAME: o nome da instância de computação a ser criada.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.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. Ela 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 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 a política de posicionamento compacto está localizada.POLICY_NAME: o nome de uma política de posicionamento compacto existente.MAINTENANCE_POLICY: a política de manutenção do host da instância de computação. Se a política de posicionamento compacto especificada usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.
Para mais informações sobre as opções de configuração para criar uma instância de computação, consulte Criar e iniciar uma instância de computação.
Aplicar a política ao criar várias instâncias
Só é possível criar instâncias de computação em massa com uma política de posicionamento compacto na mesma região da política de posicionamento.
Para criar instâncias de computação em massa que especifiquem uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar instâncias de computação em massa que especifiquem uma política de posicionamento compacto,
use o
comando gcloud compute instances bulk create
com as flags --maintenance-policy e --resource-policies.
Por exemplo, para criar instâncias de computação em massa em uma única zona e especificar um padrão de nome para elas, execute o seguinte comando:
gcloud compute instances bulk create \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--name-pattern=NAME_PATTERN \
--resource-policies=POLICY_NAME \
--zone=ZONE
Substitua:
COUNT: o número de instâncias de computação a serem criadas, que não pode ser maior que o número máximo permitido de instâncias de computação da política de posicionamento compacto especificada.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.MAINTENANCE_POLICY: a política de manutenção do host da instância de computação. Se a política de posicionamento compacto especificada usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.NAME_PATTERN: o padrão de nome das instâncias de computação. Para substituir uma sequência de números no nome de uma instância de computação, use uma sequência de caracteres hash (#). Por exemplo, usarvm-#para o padrão de nome gera instâncias com nomes que começam comvm-1,vm-2e continuam até o número de instâncias de computação especificado porCOUNT.POLICY_NAME: o nome de uma política de posicionamento compacto existente.ZONE: a zona em que as instâncias de computação serão criadas em massa.
REST
Para criar instâncias de computação em massa que especifiquem uma política de posicionamento compacto,
faça uma solicitação POST para o
método instances.bulkInsert.
No corpo da solicitação, inclua os campos onHostMaintenance e resourcePolicies..
Por exemplo, para criar instâncias de computação em massa em uma única zona e
especificar um padrão de nome para elas, faça uma solicitação POST da seguinte
maneira:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"count": "COUNT",
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
}
Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.ZONE: a zona em que as instâncias de computação serão criadas em massa.COUNT: o número de instâncias de computação a serem criadas, que não pode ser maior que o número máximo permitido de instâncias da política de posicionamento compacto especificada.NAME_PATTERN: o padrão de nome das instâncias de computação. Para substituir uma sequência de números no nome de uma instância, use uma sequência de caracteres hash (#). Por exemplo, usarvm-#para o padrão de nome gera instâncias de computação com nomes que começam comvm-1,vm-2e continuam até o número de instâncias de computação especificado porCOUNT.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.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. Ela 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 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 a política de posicionamento compacto está localizada.POLICY_NAME: o nome de uma política de posicionamento compacto existente.MAINTENANCE_POLICY: a política de manutenção do host da instância. Se a política de posicionamento compacto que você especificar usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.
Para mais informações sobre as opções de configuração para criar instâncias de computação em massa, consulte Criar instâncias de computação em massa.
Aplicar a política ao criar uma reserva
Se você quiser criar uma reserva de projeto único sob demanda que especifique uma política de posicionamento compacto, crie uma reserva especificamente segmentada. Ao criar instâncias de computação para consumir a reserva, verifique o seguinte:
As instâncias de computação precisam especificar a mesma política de posicionamento compacto aplicada à reserva.
As instâncias de computação precisam visar especificamente a reserva para consumi-la. Para mais informações, consulte Consumir instâncias de computação de uma reserva específica.
Para criar uma reserva de projeto único com uma política de posicionamento compacto, selecione um dos seguintes métodos:
Crie a reserva especificando propriedades diretamente, conforme descrito nesta seção.
Aplique a política ao criar um modelo de instância conforme descrito neste documento. Depois, crie uma reserva de projeto único Especificando o modelo de instância recém-criado.
Para criar uma reserva de projeto único com uma política de posicionamento compacto, especificando propriedades diretamente, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Reservas.
Clique em Criar reserva. A página Criar uma reserva é exibida.
No campo Nome, insira um nome para a reserva.
Nas listas Região e Zona, selecione a região e a zona em que você quer reservar recursos.
Na seção Usar com instância de VM, selecione Selecionar reserva específica.
Na seção Instâncias de VM e GPUs, faça o seguinte:
No campo Número de instâncias de VM, insira o número de VMs a serem reservadas.
Especifique uma série e um tipo de máquina que ofereçam suporte a políticas de posicionamento compacto.
Na seção Política de posicionamento em grupo, clique na lista Selecionar ou criar uma política de posicionamento em grupo e faça uma das seguintes ações:
Para criar uma política de posicionamento compacto, siga estas etapas:
Clique em Criar política de posição em grupo. O painel Criar uma política de posicionamento em grupo é exibido.
No campo Nome da política, insira um nome para a política.
Clique em Criar.
Para selecionar uma política de posicionamento compacto, escolha uma política que exista na mesma região em que você quer reservar instâncias.
Para criar a reserva, clique em Criar.
gcloud
Para criar uma reserva de projeto único com uma política de posicionamento compacto,
especificando propriedades diretamente, use o
comando gcloud compute reservations create
com flags --require-specific-reservation e --resource-policies=policy.
gcloud compute reservations create RESERVATION_NAME \
--machine-type=MACHINE_TYPE \
--require-specific-reservation \
--resource-policies=policy=POLICY_NAME \
--vm-count=NUMBER_OF_INSTANCES \
--zone=ZONE
Substitua:
RESERVATION_NAME: o nome da reserva.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.POLICY_NAME: o nome de uma política de posicionamento compacto existente.NUMBER_OF_INSTANCES: o número de instâncias de computação a serem reservadas, que não podem ser maior que o número máximo permitido de instâncias da política de posicionamento compacto especificada.ZONE: a zona em que as instâncias de computação serão reservadas. Só é possível reservar instâncias de computação em uma zona na região da política de posicionamento compacto especificada.
REST
Para criar uma reserva de projeto único com uma política de posicionamento compacto,
especificando propriedades diretamente, faça uma solicitação POST ao
método reservations.insert.
No corpo da solicitação, inclua o campo resourcePolicies e o
campo specificReservationRequired definido como true.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"resourcePolicies": {
"policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
},
"specificReservation": {
"count": "NUMBER_OF_INSTANCES",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
}
},
"specificReservationRequired": true
}
Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.ZONE: a zona em que as instâncias de computação serão reservadas. Só é possível reservar instâncias de computação em uma zona na região da política de posicionamento compacto especificada.RESERVATION_NAME: o nome da reserva.REGION: a região em que a política de posicionamento compacto está localizada.POLICY_NAME: o nome de uma política de posicionamento compacto existente.NUMBER_OF_INSTANCES: o número de instâncias de computação a serem reservadas, que não podem ser maior que o número máximo permitido de instâncias de computação da política de posicionamento compacto especificada.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.
Para mais informações sobre as opções de configuração para criar reservas de projeto único, consulte Crie uma reserva para um único projeto.
Aplicar a política ao criar um modelo de instância
Se você quiser criar um modelo de instância regional, o modelo e a política de posicionamento compacto precisam estar na mesma região. Caso contrário, a criação do modelo de instância falhará.
Depois de criar um modelo de instância que especifique uma política de posicionamento compacto, é possível usar o modelo para fazer o seguinte:
Para criar um modelo de instância que especifique uma política de posicionamento compacto, use um dos seguintes métodos:
Para criar um modelo de instância regional com uma nova política de posicionamento compacto, use o console Google Cloud . A nova política não especifica um valor de distância máxima e pode ser aplicada a até 22 instâncias.
Para criar um modelo de instância global ou regional que especifique uma política de posicionamento compacto, use a CLI gcloud ou a API REST.
Para criar o modelo de instância, selecione uma das seguintes opções:
Console
No console do Google Cloud , 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 Região, especifique a região onde você quer criar a política de posicionamento compacto e o modelo de instância.
Na seção Configuração da máquina, especifique uma série e um tipo de máquina compatíveis com políticas de posicionamento compacto.
Na seção Política de posicionamento, na lista Política de posicionamento, selecione Compacta. Quando você seleciona essa opção, o consoleGoogle Cloud gera automaticamente uma política de posicionamento compacto sem um valor de distância máxima e que aceita até 22 instâncias.
Clique em Criar.
gcloud
Para criar um modelo de instância que especifique uma política de posicionamento compacta,
use o
comando gcloud compute instance-templates create
com as flags --maintenance-policy e --resource-policies.
Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento compacto, execute o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--resource-policies=POLICY_NAME
Substitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.MAINTENANCE_POLICY: a política de manutenção do host. Se a política de posicionamento compacto especificada usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.POLICY_NAME: o nome de uma política de posicionamento compacto existente.
REST
Para criar um modelo de instância que especifique uma política de posicionamento compacto,
faça uma solicitação POST para um dos seguintes métodos:
Para criar um modelo de instância global: método
instanceTemplates.insert.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert.
No corpo da solicitação, inclua os campos onHostMaintenance e resourcePolicies..
Por exemplo, para criar um modelo de instância global que especifique uma
política de posicionamento compacto, faça uma solicitação POST da seguinte maneira:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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"
}
],
"resourcePolicies": [
"POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
}
Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.IMAGE_PROJECT: o projeto que contém a imagem, comodebian-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. Ela 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 mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.POLICY_NAME: o nome de uma política de posicionamento compacto existente.MAINTENANCE_POLICY: a política de manutenção do host. Se a política de posicionamento compacto especificada usar um valor máximo de distância de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.
Para saber mais sobre as opções de configuração para criar um modelo de instância, consulte Criar modelos de instância.
Aplicar a política a instâncias em um MIG
Depois de criar um modelo de instância que especifique uma política de posicionamento compacto, é possível usar o modelo para fazer o seguinte:
.Aplicar a política ao criar um MIG
Só é possível criar instâncias de computação que especificam uma política de posicionamento compacto se elas estiverem localizadas na mesma região da política de posicionamento.
Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto, use o
comando gcloud compute instance-groups managed create.
Por exemplo, para criar um MIG zonal usando um modelo de instância global que especifique uma política de posicionamento compacto, execute o seguinte comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--size=SIZE \
--template=INSTANCE_TEMPLATE_NAME \
--zone=ZONE
Substitua:
INSTANCE_GROUP_NAME: o nome do MIG que será criado.SIZE: o tamanho do MIG.INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.ZONE: a zona em que o MIG será criado, precisa estar na região em que a política de posicionamento compacto está localizada.
REST
Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto
faça uma solicitação POST a um dos seguintes métodos:
Para criar um MIG zonal: método
instanceGroupManagers.insert.Para criar um MIG regional: método
regionInstanceGroupManagers.insert.
Por exemplo, para criar um MIG zonal usando um modelo de instância global que
especifica uma política de posicionamento compacto, faça uma solicitação POST da seguinte maneira:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "INSTANCE_GROUP_NAME",
"targetSize": SIZE,
"versions": [
{
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}
]
}
Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento compacto e o modelo de instância que especifica a política estão localizados.ZONE: a zona em que o MIG será criado, precisa estar na região em que a política de posicionamento compacto está localizada.INSTANCE_GROUP_NAME: o nome do MIG que será criado.INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.SIZE: o tamanho do MIG.
Para mais informações sobre as opções de configuração para criar MIGs, consulte Cenários básicos para criar MIGs.
Aplicar a política a um MIG atual
Só é possível aplicar uma política de posicionamento compacto a um MIG se ele estiver localizado na mesma região da política de posicionamento ou, no caso de MIGs zonais, em uma zona na mesma região.
Para atualizar um MIG para usar um modelo de instância que especifique uma política de posicionamento compacto selecione uma das seguintes opções:
gcloud
Para atualizar um MIG para usar um modelo de instância que especifique uma política
de posicionamento compacto, use o
comando gcloud compute instance-groups managed rolling-action start-update.
Por exemplo, para atualizar um MIG zonal para usar um modelo de instância que especifique uma política de posicionamento compacto e substituir as instâncias de computação atuais do MIG por novas instâncias que especifiquem as propriedades do modelo, execute o seguinte comando:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
--version=template=INSTANCE_TEMPLATE_NAME \
--zone=ZONE
Substitua:
MIG_NAME: o nome de um MIG existente.INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG localizado na mesma região da política de posicionamento.
REST
Para atualizar um MIG para usar um modelo de instância que especifique uma política
de posicionamento compacto e aplicar automaticamente as propriedades do modelo e
da política de posicionamento às instâncias de computação atuais no MIG, faça uma
solicitação PATCH a um dos seguintes métodos:
Para atualizar um MIG zonal: método
instanceGroupManagers.insert.Para atualizar um MIG regional: Método
regionInstanceGroupManagers.insert.
Por exemplo, para atualizar um MIG zonal para usar um modelo de instância global que
especifique uma política de posicionamento compacto e substituir as instâncias de
computação atuais do MIG por novas instâncias que especifiquem as
propriedades do modelo, faça a seguinte solicitação PATCH:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}
Substitua:
PROJECT_ID: o ID do projeto em que o MIG, a política de posicionamento compacto e o modelo de instância que especifica a política de posicionamento estão localizados.ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG localizado na mesma região da política de posicionamento.MIG_NAME: o nome de um MIG existente.INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.
Para mais informações sobre as opções de configuração para atualizar as instâncias de computação em um MIG, consulte Atualizar e aplicar novas configurações a instâncias em um MIG.
A seguir
Saiba como consultar a topologia da instância de computação.
Saiba como consultar as políticas de posicionamento.
Saiba como substituir, remover ou excluir políticas de posicionamento.
Aprenda a fazer o seguinte com uma instância de computação que especifica uma política de posicionamento: