Neste documento, explicamos como reduzir a latência de rede entre suas instâncias do Compute Engine criando e aplicando políticas de posicionamento compacto a elas. 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 as instâncias precisam ser colocadas fisicamente mais perto umas das outras. Isso pode ajudar a melhorar o desempenho e reduzir a latência de rede entre as instâncias quando, por exemplo, você executa cargas de trabalho de computação de alto desempenho (HPC), machine learning (ML) ou 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ó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 initAo 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 initAo 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 ter as permissões necessárias para criar e aplicar uma política de posicionamento compacto às instâncias de computação, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador de instâncias 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 atuais:
compute.instances.addResourcePoliciesno projeto -
Para criar instâncias:
compute.instances.createno projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Usar 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 de VM para a 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 grupo gerenciado de instâncias (MIG):
compute.instanceGroupManagers.createno projeto -
Para conferir os detalhes de uma instância:
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 diferente de N2 ou N2D, recomendamos especificar um valor de distância máxima.
Só é possível aplicar políticas de posicionamento compacto a instâncias A4 ou A3 Ultra implantadas usando o modelo de provisionamento vinculado à reserva. Para mais informações, consulte a Visão geral do gerenciamento de clusters na documentação do Hipercomputador de IA.
Por padrão, não é possível aplicar políticas de posicionamento compacto com um valor de distância máxima a instâncias A3 Mega, A3 High ou A3 Edge. Para solicitar acesso a esse recurso, entre em contato com o Gerente técnico de contas (TAM) ou a Equipe de vendas.
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 N2 ou N2D, 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 qualquer outra instância compatível, 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=REGIONSubstitua:
POLICY_NAME: o nome da política de posicionamento compacto.MAX_DISTANCE: a configuração da distância máxima para suas instâncias. O valor precisa estar entre1, que especifica a colocação das instâncias no mesmo rack e ter a menor latência de rede possível, e3, que especifica a colocação das instâncias em clusters adjacentes. Se você quiser aplicar a política de posicionamento compacto a uma reserva ou a uma instância A4 ou A3 Ultra, não poderá especificar um valor de1.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 N2 ou N2D, 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" } }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.POLICY_NAME: o nome da política de posicionamento compacto.
Para aplicar a política de posicionamento compacto a qualquer outra instância compatível, 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.POLICY_NAME: o nome da política de posicionamento compacto.MAX_DISTANCE: a configuração da distância máxima para suas instâncias. O valor precisa estar entre1, que especifica a colocação das instâncias no mesmo rack e ter a menor latência de rede possível, e3, que especifica a colocação das instâncias em clusters adjacentes. Se você quiser aplicar a política de posicionamento compacto a uma reserva ou a uma instância A4 ou A3 Ultra, não poderá especificar um valor de1.
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, modelos de instância, MIGs ou reservas de instâncias.
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 instâncias em massa.
- Aplique a política ao criar uma reserva
- Aplique a política ao criar um modelo de instância.
- Aplique a política a instâncias em um MIG.
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 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 precisará estar em uma zona emus-central1. Se você precisar migrar uma instância para outra região, consulte Mover uma instância entre zonas ou regiões.A instância 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, siga um ou ambos os procedimentos a seguir:
Caso contrário, a aplicação da política de posicionamento compacto à instância vai falhar. Se a instância já especificar uma política de posicionamento e você quiser substituí-la, consulte Substituir uma política de posicionamento em uma instância.
Para aplicar uma política de posicionamento compacto a uma instância, selecione uma das seguintes opções:
gcloud
Para aplicar uma política de posicionamento compacto a uma instância 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.POLICY_NAME: o nome de uma política de posicionamento compacto existente.ZONE: a zona em que a instância está localizada.
REST
Para aplicar uma política de posicionamento compacto a uma instância, 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 estão localizadas.ZONE: a zona em que a instância está localizada.INSTANCE_NAME: o nome de uma instância.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 que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar uma instância que especifique uma política de posicionamento compacto, use o comando
gcloud compute instances createcom as flags--maintenance-policye--resource-policies.gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome da instância 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. Se a política de posicionamento compacto especificada usar um valor de distância máxima de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração a quente, 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 será criada.
REST
Para criar uma instância que especifique uma política de posicionamento compacto, faça uma solicitação
POSTpara o métodoinstances.insert. No corpo da solicitação, inclua os camposonHostMaintenanceeresourcePolicies..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 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 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 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-v20240617Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY. 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 especificada usar um valor de distância máxima de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração a quente, 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, consulte Criar e iniciar uma instância.
Aplicar a política ao criar instâncias em massa
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 em massa que especifiquem uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar instâncias em massa que especifiquem uma política de posicionamento compacto, use o comando
gcloud compute instances bulk createcom as flags--maintenance-policye--resource-policies.Por exemplo, para criar instâncias 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=ZONESubstitua:
COUNT: o número de instâncias 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.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. Se a política de posicionamento compacto especificada usar um valor de distância máxima de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração a quente, só será possível especificarTERMINATE. Caso contrário, especifiqueMIGRATEouTERMINATE.NAME_PATTERN: o padrão de nome para as instâncias. 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 com nomes que começam comvm-1,vm-2e continuam até o número de instâncias especificado porCOUNT.POLICY_NAME: o nome de uma política de posicionamento compacto existente.ZONE: a zona em que as instâncias serão criadas em massa.
REST
Para criar instâncias em massa que especifiquem uma política de posicionamento compacto, faça uma solicitação
POSTpara o métodoinstances.bulkInsert. No corpo da solicitação, inclua os camposonHostMaintenanceeresourcePolicies..Por exemplo, para criar instâncias em massa em uma única zona e especificar um padrão de nome para elas, faça uma solicitação
POSTda 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 serão criadas em massa.COUNT: o número de instâncias 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 para as instâncias. 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 com nomes que começam comvm-1,vm-2e continuam até o número de instâncias 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 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-v20240617Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY. 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 em massa, consulte Criar instâncias 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 para consumir a reserva, verifique o seguinte:
As instâncias precisam especificar a mesma política de posicionamento compacto aplicada à reserva.
As instâncias precisam visar especificamente a reserva para consumi-la. Para mais informações, consulte Consumir instâncias 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:
gcloud
Para criar uma reserva de projeto único com uma política de posicionamento compacto, especificando propriedades diretamente, use o comando
gcloud compute reservations createcom flags--require-specific-reservatione--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=ZONESubstitua:
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 a serem reservadas, que não pode 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 serão reservadas. Só é possível reservar instâncias 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
POSTao métodoreservations.insert. No corpo da solicitação, inclua o camporesourcePoliciese o campospecificReservationRequireddefinido comotrue.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 serão reservadas. Só é possível reservar instâncias 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 a serem reservadas, que não pode ser maior que o número máximo permitido de instâncias 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, crie o modelo na mesma região da política de posicionamento compacto. Caso contrário, a criação do modelo de instância falhará.
Depois de criar um modelo de instância que especifica 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, selecione uma das seguintes opções:
gcloud
Para criar um modelo de instância que especifique uma política de posicionamento compacta, use o comando
gcloud compute instance-templates createcom as flags--maintenance-policye--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_NAMESubstitua:
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 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.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
POSTpara 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
onHostMaintenanceeresourcePolicies..Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento compacto, faça uma solicitação
POSTda 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 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-v20240617Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY. 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 da instância. Se a política de posicionamento compacto especificada usar um valor de distância máxima de1ou2, ou se o tipo de máquina escolhido não for compatível com a migração a quente, 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 especifica 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=ZONESubstitua:
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
POSTa 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
POSTda 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 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=ZONESubstitua:
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 atuais no MIG, faça uma solicitação
PATCHa 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 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 em um MIG, consulte Atualizar e aplicar novas configurações a instâncias em um MIG.
Verificar o local físico de uma instância
Depois de aplicar uma política de posicionamento compacto a uma instância de computação, é possível conferir o local físico dela em relação a outras instâncias. Essa comparação é limitada a instâncias localizadas no seu projeto e que especificam a mesma política de posicionamento compacto. Com a visualização do local físico de uma instância, você:
confirma se a política foi aplicada;
Identifique quais instâncias estão mais próximas umas das outras.
Para conferir o local físico de uma instância em relação a outras que especificam a mesma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para conferir o local físico de uma instância que especifica uma política de posicionamento compacto, use o comando
gcloud compute instances describecom a flag--format.gcloud compute instances describe INSTANCE_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome de uma instância atual que especifica uma política de posicionamento compacto.ZONE: a zona em que a instância está localizada.
O resultado será assim:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAAO valor do campo
PHYSICAL_HOSTé composto de três partes. Cada parte representa o cluster, o rack e o host em que a instância está localizada.Ao comparar a posição de duas instâncias que usam a mesma política de posicionamento compacto no projeto, quanto mais partes do campo
PHYSICAL_HOSTas instâncias compartilharem, mais próximas elas estarão uma da outra. Por exemplo, suponha que duas instâncias especifiquem um dos seguintes valores de amostra para o campoPHYSICAL_HOST:/CCCCCCC/xxxxxx/xxxx: as duas instâncias são colocadas no mesmo cluster, o que equivale a um valor de distância máxima de2. As instâncias colocadas no mesmo cluster têm baixa latência de rede./CCCCCCC/BBBBBB/xxxx: as duas instâncias são colocadas no mesmo rack, o que equivale a um valor de distância máxima de1. As instâncias colocadas no mesmo rack têm uma latência de rede menor do que as instâncias colocadas no mesmo cluster./CCCCCCC/BBBBBB/AAAA: as duas instâncias compartilham o mesmo host. As instâncias colocadas no mesmo host minimizam a latência de rede o máximo possível.
REST
Para conferir o local físico de uma instância que especifica uma política de posicionamento compacto, faça uma solicitação
GETpara o métodoinstances.get.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Substitua:
PROJECT_ID: o ID do projeto em que a instância está localizada.ZONE: a zona em que a instância está localizada.INSTANCE_NAME: o nome de uma instância atual que especifica uma política de posicionamento compacto.
O resultado será assim:
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }O valor do campo
physicalHosté composto de três partes. Cada parte representa o cluster, o rack e o host em que a instância está localizada.Ao comparar a posição de duas instâncias que usam a mesma política de posicionamento compacto no projeto, quanto mais partes do campo
physicalHostas instâncias compartilharem, mais próximas elas estarão uma da outra. Por exemplo, suponha que duas instâncias especifiquem um dos seguintes valores de amostra para o campophysicalHost:/CCCCCCC/xxxxxx/xxxx: as duas instâncias são colocadas no mesmo cluster, o que equivale a um valor de distância máxima de2. As instâncias colocadas no mesmo cluster têm baixa latência de rede./CCCCCCC/BBBBBB/xxxx: as duas instâncias são colocadas no mesmo rack, o que equivale a um valor de distância máxima de1. As instâncias colocadas no mesmo rack têm uma latência de rede menor do que as instâncias colocadas no mesmo cluster./CCCCCCC/BBBBBB/AAAA: as duas instâncias compartilham o mesmo host. As instâncias colocadas no mesmo host minimizam a latência de rede o máximo possível.
A seguir
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:
Exceto 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-10-18 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-18 UTC."],[],[]] -