Este documento descreve como reduzir a latência de rede entre suas instâncias de máquina virtual (VM) criando e aplicando políticas de posicionamento compacto a elas. Para saber mais sobre políticas de posicionamento, incluindo séries de máquinas suportadas, restrições e preços, consulte Visão geral das políticas de posicionamento .
Uma política de posicionamento compacto especifica que suas VMs devem ser colocadas fisicamente mais próximas umas das outras. Isso pode ajudar a melhorar o desempenho e reduzir a latência da rede entre suas VMs quando, por exemplo, você executa cargas de trabalho de computação de alto desempenho (HPC), aprendizado de máquina (ML) ou servidor de banco de dados.
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Administrador de instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) - Para criar uma reserva: Compute Admin (
roles/compute.admin
) - Para criar políticas de posicionamento:
compute.resourcePolicies.create
no projeto - Para aplicar uma política de posicionamento a VMs existentes:
compute.instances.addResourcePolicies
no projeto - Para criar VMs:
-
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 atribuir uma rede legada à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir metadados de instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir tags para a VM:
compute.instances.setTags
na VM - Para definir rótulos 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 somente leitura ou leitura-gravação:
compute.disks.use
no disco - Para anexar um disco existente no modo somente leitura:
compute.disks.useReadOnly
no disco
-
- Para criar uma reserva:
compute.reservations.create
no projeto - Para criar um modelo de instância:
compute.instanceTemplates.create
no projeto - Para criar um grupo gerenciado de instâncias (MIG):
compute.instanceGroupManagers.create
no projeto - Para visualizar os detalhes de uma VM:
compute.instances.get
no projeto Se você quiser aplicar uma política de posicionamento compacto a uma VM diferente de N2 ou N2D, recomendamos especificar um valor de distância máximo .
Você só pode aplicar políticas de posicionamento compacto a VMs A4 ou A3 Ultra implantadas usando os recursos fornecidos pelo Cluster Director. Para obter mais informações, consulte Cluster Director na documentação do AI Hypercomputer.
Por padrão, não é possível aplicar políticas de posicionamento compacto com um valor de distância máxima a VMs A3 Mega, A3 High ou A3 Edge. Para solicitar acesso a esse recurso, entre em contato com o gerente técnico de contas (TAM) designado ou com a equipe de vendas .
Para aplicar a política de posicionamento compacto a VMs N2 ou N2D, crie a política usando o comando
gcloud compute resource-policies create group-placement
com a sinalização--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Substitua o seguinte:
POLICY_NAME
: o nome da política de posicionamento compacto.REGION
: a região na qual criar a política de posicionamento.
Para aplicar a política de posicionamento compacto a quaisquer outras VMs compatíveis, crie a política usando o comando
gcloud beta compute resource-policies create group-placement
com os sinalizadores--collocation=collocated
e--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Substitua o seguinte:
POLICY_NAME
: o nome da política de posicionamento compacto.MAX_DISTANCE
: a configuração de distância máxima para suas VMs. O valor deve estar entre1
, que especifica colocar suas VMs no mesmo rack para obter a menor latência de rede possível, e3
, que especifica colocar suas VMs em clusters adjacentes. Se quiser aplicar a política de posicionamento compacto a uma reserva ou a uma VM A4 ou A3 Ultra, não será possível especificar um valor de1
.REGION
: a região na qual criar a política de posicionamento.
Para aplicar a política de posicionamento compacto a VMs N2 ou N2D, crie a política fazendo uma solicitação
POST
para o métodoresourcePolicies.insert
. No corpo da solicitação, inclua o campocollocation
e defina-o comoCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde você deseja criar a política de veiculação.REGION
: a região na qual criar a política de posicionamento.POLICY_NAME
: o nome da política de posicionamento compacto.
Para aplicar a política de posicionamento compacto a quaisquer outras VMs suportadas, crie a política fazendo uma solicitação
POST
para o métodobeta.resourcePolicies.insert
. No corpo da solicitação, inclua o seguinte:O campo
collocation
definido 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 o seguinte:
PROJECT_ID
: o ID do projeto onde você deseja criar a política de veiculação.REGION
: a região na qual criar a política de posicionamento.POLICY_NAME
: o nome da política de posicionamento compacto.MAX_DISTANCE
: a configuração de distância máxima para suas VMs. O valor deve estar entre1
, que especifica colocar suas VMs no mesmo rack para obter a menor latência de rede possível, e3
, que especifica colocar suas VMs em clusters adjacentes. Se quiser aplicar a política de posicionamento compacto a uma reserva ou a uma VM A4 ou A3 Ultra, não será possível especificar um valor de1
.
- Aplique a política a uma VM existente .
- Aplique a política ao criar uma VM .
- Aplique a política ao criar VMs 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 às VMs em um MIG .
A VM e a política de posicionamento compacto devem estar localizadas na mesma região. Por exemplo, se a política de posicionamento estiver localizada na região
us-central1
, a VM deverá estar localizada em uma zona emus-central1
. Se precisar migrar uma VM para outra região, consulte Mover uma VM entre zonas ou regiões .A VM deve usar uma série de máquinas suportadas e uma política de manutenção de host . Se você precisar fazer alterações na VM, siga um ou ambos os procedimentos a seguir:
Para aplicar uma política de posicionamento compacto a uma VM existente, use o comando
gcloud compute instances add-resource-policies
.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Substitua o seguinte:
VM_NAME
: o nome de uma VM existente.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona onde a VM está localizada.
Para aplicar uma política de posicionamento compacto a uma VM existente, faça uma solicitação
POST
para o métodoinstances.addResourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde a política de posicionamento compacto e a VM estão localizadas.ZONE
: a zona onde a VM está localizada.VM_NAME
: o nome de uma VM existente.REGION
: a região onde está localizada a política de colocação compacta.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.
VM_NAME
: o nome da VM a ser criada.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona na qual criar a VM.PROJECT_ID
: o ID do projeto onde a política de posicionamento compacto está localizada.ZONE
: a zona onde criar a VM e onde o tipo de máquina está localizado. Você só pode especificar uma zona dentro da região da política de posicionamento compacto.VM_NAME
: o nome da VM a ser criada.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.IMAGE_PROJECT
: o projeto de imagem que contém a imagem — por exemplo,debian-cloud
. Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .IMAGE
: especifique um dos seguintes:Uma versão específica da imagem do sistema operacional — por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens , que deve ser formatada como
family/ IMAGE_FAMILY
. Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente da família de imagens Debian 12 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
REGION
: a região onde está localizada a política de colocação compacta.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.COUNT
: o número de VMs a serem criadas, que não pode ser maior que o número máximo suportado de VMs da política de posicionamento compacto especificada.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.NAME_PATTERN
: o padrão de nome para as VMs. Para substituir uma sequência de números em um nome de VM, use uma sequência de caracteres hash (#
). Por exemplo, usarvm-#
para o padrão de nome gera VMs com nomes começando comvm-1
,vm-2
e continuando até o número de VMs especificado porCOUNT
.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona na qual criar as VMs em massa.PROJECT_ID
: o ID do projeto onde a política de posicionamento compacto está localizada.ZONE
: a zona na qual criar as VMs em massa.COUNT
: o número de VMs a serem criadas, que não pode ser maior que o número máximo suportado de VMs da política de posicionamento compacto especificada.NAME_PATTERN
: o padrão de nome para as VMs. Para substituir uma sequência de números em um nome de VM, use uma sequência de caracteres hash (#
). Por exemplo, usarvm-#
para o padrão de nome gera VMs com nomes começando comvm-1
,vm-2
e continuando até o número de VMs especificado porCOUNT
.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.IMAGE_PROJECT
: o projeto de imagem que contém a imagem — por exemplo,debian-cloud
. Para obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .IMAGE
: especifique um dos seguintes:Uma versão específica da imagem do sistema operacional — por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens , que deve ser formatada como
family/ IMAGE_FAMILY
. Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente da família de imagens Debian 12 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
REGION
: a região onde está localizada a política de colocação compacta.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.As VMs devem especificar a mesma política de posicionamento compacto aplicada à reserva.
As VMs devem direcionar especificamente a reserva para consumi-la. Para obter mais informações, consulte Consumir VMs de uma reserva específica .
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 e, em seguida, crie uma reserva de projeto único especificando o modelo de instância recém-criado .
RESERVATION_NAME
: o nome da reserva.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.NUMBER_OF_VMS
: o número de VMs a serem reservadas, que não pode ser maior que o número máximo suportado de VMs da política de posicionamento compacto especificada.ZONE
: a zona na qual reservar VMs. Você só pode reservar VMs em uma zona dentro da região da política de posicionamento compacto especificada.PROJECT_ID
: o ID do projeto onde a política de posicionamento compacto está localizada.ZONE
: a zona na qual reservar VMs. Você só pode reservar VMs em uma zona dentro da região da política de posicionamento compacto especificada.RESERVATION_NAME
: o nome da reserva.REGION
: a região onde está localizada a política de colocação compacta.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.NUMBER_OF_VMS
: o número de VMs a serem reservadas, que não pode ser maior que o número máximo suportado de VMs da política de posicionamento compacto especificada.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: um tipo de máquina compatível para políticas de posicionamento compacto.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.Para criar um modelo de instância global: método
instanceTemplates.insert
.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert
.PROJECT_ID
: o ID do projeto onde 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 obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .IMAGE
: especifique um dos seguintes:Uma versão específica da imagem do sistema operacional — por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens , que deve ser formatada como
family/ IMAGE_FAMILY
. Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente da família de imagens Debian 12 será usada. Para obter 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 para 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 VM. Se a política de posicionamento compacto especificada usar um valor de distância máximo de1
ou2
ou se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você poderá especificar apenasTERMINATE
. Caso contrário, você poderá especificarMIGRATE
ouTERMINATE
.INSTANCE_GROUP_NAME
: o nome do MIG a ser criado.SIZE
: o tamanho do MIG.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância global existente que especifica uma política de posicionamento compacto.ZONE
: a zona na qual será criado o MIG, que deve estar dentro da região onde está localizada a política de colocação compacta.Para criar um MIG zonal: método
instanceGroupManagers.insert
.Para criar um MIG regional: método
regionInstanceGroupManagers.insert
.PROJECT_ID
: o ID do projeto onde 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 na qual será criado o MIG, que deve estar dentro da região onde está localizada a política de colocação compacta.INSTANCE_GROUP_NAME
: o nome do MIG a ser criado.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância global existente que especifica uma política de posicionamento compacto.SIZE
: o tamanho do MIG.MIG_NAME
: o nome de um MIG existente.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância global existente que especifica uma política de posicionamento compacto.ZONE
: a zona onde o MIG está localizado. Você só pode aplicar a política de posicionamento compacto a um MIG localizado na mesma região que a política de posicionamento.Para atualizar um MIG zonal: método
instanceGroupManagers.insert
.Para atualizar um MIG regional: método
regionInstanceGroupManagers.insert
.PROJECT_ID
: o ID do projeto onde 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 onde o MIG está localizado. Você só pode aplicar a política de posicionamento compacto a um MIG localizado na mesma região que a política de posicionamento.MIG_NAME
: o nome de um MIG existente.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância global existente que especifica uma política de posicionamento compacto.Confirme se a política foi aplicada com sucesso.
Identifique quais VMs estão mais próximas umas das outras.
VM_NAME
: o nome de uma VM existente que especifica uma política de posicionamento compacto.ZONE
: a zona onde a VM está localizada./CCCCCCC/ xxxxxx/xxxx
: as duas VMs são colocadas no mesmo cluster, o que equivale a um valor de distância máximo de2
. VMs colocadas no mesmo cluster apresentam baixa latência de rede./CCCCCCC/BBBBBB/ xxxx
: as duas VMs são colocadas no mesmo rack, o que equivale a um valor de distância máximo de1
. As VMs colocadas no mesmo rack apresentam latência de rede menor do que as VMs colocadas no mesmo cluster./CCCCCCC/BBBBBB/AAAA
: as duas VMs compartilham o mesmo host. As VMs colocadas no mesmo host minimizam ao máximo a latência da rede.PROJECT_ID
: o ID do projeto onde a VM está localizada.ZONE
: a zona onde a VM está localizada.VM_NAME
: o nome de uma VM existente que especifica uma política de posicionamento compacto./CCCCCCC/ xxxxxx/xxxx
: as duas VMs são colocadas no mesmo cluster, o que equivale a um valor de distância máximo de2
. VMs colocadas no mesmo cluster apresentam baixa latência de rede./CCCCCCC/BBBBBB/ xxxx
: as duas VMs são colocadas no mesmo rack, o que equivale a um valor de distância máximo de1
. As VMs colocadas no mesmo rack apresentam latência de rede menor do que as VMs colocadas no mesmo cluster./CCCCCCC/BBBBBB/AAAA
: as duas VMs compartilham o mesmo host. As VMs colocadas no mesmo host minimizam ao máximo a latência da rede.Saiba como visualizar as políticas de posicionamento .
Saiba como substituir, remover ou excluir políticas de canais .
Saiba como fazer o seguinte com uma VM que especifica uma política de posicionamento:
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções obrigatórias
Para obter as permissões necessárias para criar e aplicar uma política de posicionamento compacto às VMs, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Estas funções predefinidas contêm as permissões necessárias para criar e aplicar uma política de posicionamento compacto às VMs. Para ver 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 e aplicar uma política de posicionamento compacto a VMs:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Crie uma política de posicionamento compacta
Antes de criar uma política de posicionamento compacta, considere o seguinte:
Para criar uma política de posicionamento compacta, selecione uma das seguintes opções:
gcloud
DESCANSAR
Aplicar uma política de posicionamento compacto
Você pode aplicar uma política de posicionamento compacto a uma VM ou MIG existente ou ao criar VMs, modelos de instância, MIGs ou reservas de VMs.
Para aplicar uma política de posicionamento compacto a um recurso do Compute Engine, selecione um dos seguintes métodos:
Depois de aplicar uma política de posicionamento compacto a uma VM, você poderá verificar o local físico da VM em relação a outras VMs que especifiquem a mesma política de posicionamento.
Aplicar a política a uma VM existente
Antes de aplicar uma política de posicionamento compacto a uma VM existente, certifique-se do seguinte:
Caso contrário, a aplicação da política de posicionamento compacto à VM falhará. Se a VM já especifica uma política de posicionamento e você deseja substituí-la, consulte Substituir uma política de posicionamento em uma VM .
Para aplicar uma política de posicionamento compacto a uma VM existente, selecione uma das seguintes opções:
gcloud
DESCANSAR
Aplicar a política ao criar uma VM
Só é possível criar uma VM que especifique uma política de posicionamento compacta na mesma região que a política de posicionamento.
Para criar uma VM que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar uma VM que especifique uma política de posicionamento compacta, use o comando
gcloud compute instances create
com os sinalizadores--maintenance-policy
e--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Substitua o seguinte:
DESCANSAR
Para criar uma VM que especifique uma política de posicionamento compacta, faça uma solicitação
POST
para o métodoinstances.insert
. No corpo da solicitação, inclua os camposonHostMaintenance
eresourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_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 o seguinte:
Para obter mais informações sobre as opções de configuração para criar uma VM, consulte Criar e iniciar uma instância de VM .
Aplicar a política ao criar VMs em massa
Só é possível criar VMs em massa com uma política de posicionamento compacta na mesma região que a política de posicionamento.
Para criar VMs em massa que especifiquem uma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para criar VMs em massa que especifiquem uma política de posicionamento compacta, use o
gcloud compute instances bulk create
com os sinalizadores--maintenance-policy
e--resource-policies
.Por exemplo, para criar VMs em massa em uma única zona e especificar um padrão de nome para as VMs, 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 o seguinte:
DESCANSAR
Para criar VMs em massa que especifiquem uma política de posicionamento compacto, faça uma solicitação
POST
para o métodoinstances.bulkInsert
. No corpo da solicitação, inclua os camposonHostMaintenance
eresourcePolicies
.Por exemplo, para criar VMs em massa em uma única zona e especificar um padrão de nome para as VMs, 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 o seguinte:
Para obter mais informações sobre as opções de configuração para criar VMs em massa, consulte Criar VMs em massa .
Aplicar a política ao criar uma reserva
Se quiser criar uma reserva sob demanda de projeto único que especifique uma política de veiculação compacta, você deverá criar uma reserva direcionada especificamente . Ao criar VMs para consumir a reserva, certifique-se do seguinte:
Para criar uma reserva de projeto único com uma política de posicionamento compacta, selecione um dos seguintes métodos:
Para criar uma reserva de projeto único com uma política de posicionamento compacta especificando propriedades diretamente, selecione uma das seguintes opções:
gcloud
Para criar uma reserva de projeto único com uma política de posicionamento compacta especificando propriedades diretamente, use o
gcloud compute reservations create
com os--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_VMS \ --zone=ZONE
Substitua o seguinte:
DESCANSAR
Para criar uma reserva de projeto único com uma política de posicionamento compacta especificando propriedades diretamente, faça uma solicitação
POST
para o métodoreservations.insert
. No corpo da solicitação, inclua o camporesourcePolicies
e o campospecificReservationRequired
definido 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_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Substitua o seguinte:
Para obter mais informações sobre as opções de configuração para criar reservas de projeto único, consulte Criar uma reserva para um único projeto .
Aplicar a política ao criar um modelo de instância
Se desejar criar um modelo de instância regional, você deverá criar o modelo na mesma região que a 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 especifique uma política de posicionamento compacto, você poderá 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
gcloud compute instance-templates create
com os sinalizadores--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 o seguinte:
DESCANSAR
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:No corpo da solicitação, inclua os campos
onHostMaintenance
eresourcePolicies
.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 o seguinte:
Para obter mais informações sobre as opções de configuração para criar um modelo de instância, consulte Criar modelos de instância .
Aplicar a política às VMs em um MIG
Depois de criar um modelo de instância que especifique uma política de posicionamento compacto, você poderá usar o modelo para fazer o seguinte:
Aplicar a política ao criar um MIG
Você só poderá criar VMs que especifiquem uma política de posicionamento compacta se as VMs estiverem localizadas na mesma região que a 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 compacta, use o comando
gcloud compute instance-groups managed create
.Por exemplo, para criar um MIG zonal usando um modelo de instância global que especifica 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 o seguinte:
DESCANSAR
Para criar um MIG usando 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: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 o seguinte:
Para obter mais informações sobre as opções de configuração para criar MIGs, consulte Cenários básicos para criação de MIGs .
Aplicar a política a um MIG existente
Você só poderá aplicar uma política de posicionamento compacto a um MIG existente se o MIG estiver localizado na mesma região que a política de posicionamento ou, para MIGs zonais, em uma zona dentro da mesma região que a política de posicionamento.
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 compacta, 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 VMs existentes do MIG por novas VMs 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 o seguinte:
DESCANSAR
Para atualizar um MIG para usar um modelo de instância que especifique uma política de posicionamento compacta e aplicar automaticamente as propriedades do modelo e da política de posicionamento às VMs existentes no MIG, faça uma solicitação
PATCH
para um dos seguintes métodos: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 VMs existentes do MIG por novas VMs 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 o seguinte:
Para obter mais informações sobre as opções de configuração para atualizar as VMs em um MIG, consulte Atualizar e aplicar novas configurações às VMs em um MIG .
Verifique a localização física de uma VM
Depois de aplicar uma política de posicionamento compacto a uma VM, você poderá visualizar a localização física da VM em relação a outras VMs. Esta comparação é limitada a VMs localizadas no seu projeto e que especificam a mesma política de posicionamento compacto. Visualizar a localização física de uma VM ajuda você a fazer o seguinte:
Para visualizar a localização física de uma VM em relação a outras VMs que especificam a mesma política de posicionamento compacto, selecione uma das seguintes opções:
gcloud
Para visualizar a localização física de uma VM que especifica uma política de posicionamento compacto, use o comando
gcloud compute instances describe
com a sinalização--format
.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Substitua o seguinte:
A saída é semelhante à seguinte:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
O valor do campo
PHYSICAL_HOST
é composto por três partes. Cada uma dessas partes representa o cluster, o rack e o host onde a VM está localizada.Ao comparar a posição de duas VMs que usam a mesma política de posicionamento compacto em seu projeto, quanto mais partes do campo
PHYSICAL_HOST
as VMs compartilharem, mais próximas elas estarão fisicamente localizadas uma da outra. Por exemplo, suponha que duas VMs especifiquem um dos seguintes valores de amostra para o campoPHYSICAL_HOST
:DESCANSAR
Para visualizar o local físico de uma VM que especifica uma política de posicionamento compacto, faça uma solicitação
GET
para o métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua o seguinte:
A saída é semelhante à seguinte:
{ ... "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 por três partes. Cada uma dessas partes representa o cluster, o rack e o host onde a VM está localizada.Ao comparar a posição de duas VMs que usam a mesma política de posicionamento compacto em seu projeto, quanto mais partes do campo
physicalHost
as VMs compartilharem, mais próximas elas estarão fisicamente localizadas uma da outra. Por exemplo, suponha que duas VMs especifiquem um dos seguintes valores de amostra para ophysicalHost
:O que vem a seguir?
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-04-21 UTC.
-