Neste documento, explicamos 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.
Uma política de posicionamento compacto especifica que as VMs 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 VMs quando, por exemplo, você executa cargas de trabalho de computação de alto desempenho (HPC), machine learning (ML) ou servidor de banco de dados.
É possível aplicar uma política de posicionamento compacto ao:
Criar ou atualizar uma VM
Criar uma reserva de projeto único
Criar um modelo de instância. Em seguida, o modelo de instância aplica a política de posicionamento compacto ao:
Criar uma VM
Criar ou atualizar um grupo gerenciado de instâncias (MIG)
Criar uma reserva de projeto único
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da 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 da seguinte maneira.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Para criar políticas de posicionamento:
compute.resourcePolicies.create
no projeto -
Para aplicar uma política de posicionamento a uma VM existente:
compute.instances.addResourcePolicies
no projeto. - Para ver os detalhes de uma reserva:
compute.instances.get
no projeto Para políticas de posicionamento compacto, é possível usar
max-distance
(Pré-lançamento) para controlar melhor o distância das VMs. Na tabela a seguir, descrevemos o número compatível de VMs e a política de manutenção do host para cada valormax-distance
:Valor de max-distance
Descrição Número máximo de VMs Política de manutenção de host compatível Não especificado Com base na disponibilidade, as VMs são colocadas o mais perto possível uma da outra. 150 Migrar ou encerrar 3
As VMs são colocadas em clusters adjacentes para baixa latência. 1.500 Migrar ou encerrar 2
As VMs são colocadas em racks adjacentes e têm uma latência de rede menor do que as VMs colocadas em clusters adjacentes. 150 Encerrar 1
As VMs são colocadas no mesmo rack e minimizam a latência da rede o máximo possível. 22 Encerrar Só é possível aplicar uma política de posicionamento compacto a séries de máquinas A2, A3, C2, C3, C2D, C3D, G2, H3, N2 e N2D. Se você usar
max-distance
ao criar uma política de posicionamento compacto, não será possível aplicá-la às séries de máquinas A3, G2, N2 e N2D.Não é possível aplicar políticas de posicionamento compacto a VMs que especificam nós de locatário individual.
Se você quiser criar uma política de posicionamento compacto para uma reserva, consulte os requisitos adicionais para reservas.
Recomendado: sem uma contagem fixa.
É possível aplicar uma política de posicionamento compacto que não especifique uma contagem fixa de VMs para um número não especificado de VMs. Isso torna a política de posicionamento compacto eficaz, independente do número de VMs a que você a aplica.
Com uma contagem fixa.
É possível aplicar uma política de posicionamento compacto que especifique uma contagem fixa de VMs apenas a um número exato de VMs. Isso faz com que a política de posicionamento compacto só seja eficaz se for aplicada ao número especificado de VMs.
POLICY_NAME
: o nome da política a ser criada.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 será criada. Se você quiser aplicar a política de posicionamento compacto às VMs existentes, crie a política em uma região que contenha a zona em que as VMs estão localizadas.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.MAX_DISTANCE
: a configuração da distância máxima para suas VMs. O valor precisa estar entre1
, que especifica a colocação das VMs no mesmo rack e ter a menor latência de rede possível, e3
, que especifica a colocação das VMs em clusters. Dependendo do tipo de máquina e da zona especificados nas VMs em que você aplica uma política de posicionamento compacto:Se uma zona tiver capacidade disponível, uma política de posicionamento compacto com um valor
max-distance
mais alto (como3
) talvez faça com que as VMs sejam colocadas mais perto umas das outras.Se uma zona não tiver capacidade, uma política de posicionamento compacto com um valor
max-distance
menor (como1
) aumentará a probabilidade de falha ao aplicar a política a uma ou mais das VMs.
PROJECT_ID
: o ID do projeto em que você quer criar a política de posicionamento.REGION
: a região em que você quer criar a política.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. Se você quiser aplicar a política de posicionamento compacto às VMs existentes, crie a política em uma região que contenha a zona em que as VMs estão localizadas.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.PROJECT_ID
: o ID do projeto em que você quer criar a política.REGION
: a região em que você quer criar a política.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.MAX_DISTANCE
: a configuração da distância máxima para suas VMs. O valor precisa estar entre1
, que especifica a colocação das VMs no mesmo rack e ter a menor latência de rede possível, e3
, que especifica a colocação das VMs em clusters. Dependendo do tipo de máquina e da zona especificados nas VMs em que você aplica uma política de posicionamento compacto:Se uma zona tiver capacidade disponível, uma política de posicionamento compacto com um valor
max-distance
mais alto (como3
) talvez faça com que as VMs sejam colocadas mais perto umas das outras.Se uma zona não tiver capacidade, uma política de posicionamento compacto com um valor
max-distance
menor (como1
) aumentará a probabilidade de falha ao aplicar a política a uma ou mais das VMs.
POLICY_NAME
: o nome da política a ser criada.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 será criada. Se você quiser aplicar a política de posicionamento compacto às VMs existentes, crie a política em uma região que contenha a zona em que as VMs estão localizadas.VM_COUNT
: o número exato de VMs a que você pode aplicar a política de posicionamento compacto. O valor precisa estar entre1
e150
, que é o número máximo de VMs a que uma política de posicionamento compacto pode ser aplicada.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.MAX_DISTANCE
: a configuração da distância máxima para suas VMs. O valor precisa estar entre1
, que especifica a colocação das VMs no mesmo rack e ter a menor latência de rede possível, e3
, que especifica a colocação das VMs em clusters. Dependendo do tipo de máquina e da zona especificados nas VMs em que você aplica uma política de posicionamento compacto:Se uma zona tiver capacidade disponível, uma política de posicionamento compacto com um valor
max-distance
mais alto (como3
) talvez faça com que as VMs sejam colocadas mais perto umas das outras.Se uma zona não tiver capacidade, uma política de posicionamento compacto com um valor
max-distance
menor (como1
) aumentará a probabilidade de falha ao aplicar a política a uma ou mais das VMs.
PROJECT_ID
: o ID do projeto em que você quer criar a política de posicionamento.REGION
: a região em que você quer criar a política.VM_COUNT
: o número exato de VMs a que você pode aplicar a política de posicionamento compacto. O valor precisa estar entre1
e o número máximo de VMs a que é possível aplicar a política de posicionamento com base no valorMAX_DISTANCE
especificado.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. Se você quiser aplicar a política de posicionamento compacto às VMs existentes, crie a política em uma região que contenha a zona em que as VMs estão localizadas.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.VM_COUNT
: o número exato de VMs a que você pode aplicar a política de posicionamento compacto. O valor precisa estar entre1
e150
, que é o número máximo de VMs a que uma política de posicionamento compacto pode ser aplicada.PROJECT_ID
: o ID do projeto em que você quer criar a política.REGION
: a região em que você quer criar a política.POLICY_NAME
: o nome da política de posicionamento compacto a ser criada.MAX_DISTANCE
: a configuração da distância máxima para suas VMs. O valor precisa estar entre1
, que especifica a colocação das VMs no mesmo rack e ter a menor latência de rede possível, e3
, que especifica a colocação das VMs em clusters. Dependendo do tipo de máquina e da zona especificados nas VMs em que você aplica uma política de posicionamento compacto:Se uma zona tiver capacidade disponível, uma política de posicionamento compacto com um valor
max-distance
mais alto (como3
) talvez faça com que as VMs sejam colocadas mais perto umas das outras.Se uma zona não tiver capacidade, uma política de posicionamento compacto com um valor
max-distance
menor (como1
) aumentará a probabilidade de falha ao aplicar a política a uma ou mais das VMs.
VM_COUNT
: o número exato de VMs a que você pode aplicar a política de posicionamento compacto. O valor precisa estar entre1
e o número máximo de VMs a que é possível aplicar a política de posicionamento com base no valorMAX_DISTANCE
especificado.- Aplicar a política de posicionamento compacto a uma VM existente.
- Criar uma VM que especifique uma política de posicionamento compacto.
- Criar VMs em massa que especifiquem uma política de posicionamento compacto.
- Criar um modelo de instância que especifique uma política de posicionamento compacto.
- Aplicar uma política de posicionamento compacto às VMs em um MIG.
A VM e a política de posicionamento compacto estão localizadas no mesmo projeto.
A VM está localizada na região em que a política de posicionamento compacto está.
A VM especifica uma política de manutenção do host e série de máquina compatível.
VM_NAME
: o nome de uma VM existente.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto e a VM estão localizadas.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona em que a VM está localizada.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto e a VM estão localizadas.ZONE
: a zona em que a VM está, que precisa estar dentro da região onde a política de posicionamento compacto está localizada.VM_NAME
: o nome de uma VM existente.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.VM_NAME
: o nome da VM a ser criada.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto está localizada.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona em que a VM será criada. Só é possível criar uma VM em uma zona que esteja dentro da região da política de posicionamento compacto especificada.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto está localizada.ZONE
: a zona em que a VM será criada e o tipo de máquina está localizado. Só é possível criar uma VM em uma zona que esteja dentro da região da política de posicionamento compacto especificada.VM_NAME
: o nome da VM a ser criada.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 VM. Se a política de posicionamento compacto especificada usar um valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.COUNT
: o número de VMs a serem criadas.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.NAME_PATTERN
: o padrão de nome das VMs a serem criadas. Use o caractere hash (#
) para substituí-lo por uma sequência de números. Por exemplo, especificarvm-#
cria VMs com nomesvm-1
,vm-2
e assim por diante, até o número de VMs especificado emCOUNT
.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto está localizada.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.ZONE
: a zona em que as VMs em massa serão criadas. Só é possível criar VMs em zonas que estejam dentro da região da política de posicionamento compacto que você especificar.PROJECT_ID
: o ID do projeto em que a política de posicionamento compacto está localizada.ZONE
: a zona em que as VMs em massa serão criadas e onde o tipo de máquina está localizado. Só é possível criar VMs em zonas que estejam dentro da região da política de posicionamento compacto que você especificar.COUNT
: o número de VMs a serem criadas.NAME_PATTERN
: o padrão de nome das VMs a serem criadas. Use o caractere hash (#
) para substituí-lo por uma sequência de números. Por exemplo, especificarvm-#
cria VMs com nomesvm-1
,vm-2
e assim por diante, até o número de VMs especificado emCOUNT
.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 VM. Se a política de posicionamento compacto especificada usar um valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MAINTENANCE_POLICY
: a política de manutenção do host da VM. Se a política de posicionamento compacto especificada usar um valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.PROJECT_ID
: o ID do projeto em que está localizada a política de posicionamento compacto que você quer aplicar ao modelo de instância.POLICY_NAME
: o nome de uma política de posicionamento compacto existente.PROJECT_ID
: o ID do projeto em que está localizada a política de posicionamento compacto que você quer aplicar ao modelo de instância.ZONE
: a zona em que o tipo de máquina está localizado.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.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 valormax-distance
de1
ou2
, você só poderá especificarTERMINATE
. Caso contrário, é possível especificarMIGRATE
ouTERMINATE
.Criar um MIG que especifique a mesma política de posicionamento compacto.
Aplicar a política de posicionamento compacto a um MIG existente.
MIG_NAME
: o nome do MIG que será criado.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 de posicionamento estão localizados.REGION
: a região em que o MIG será criado, que precisa corresponder à região em que a política de posicionamento compacto está localizada.SIZE
: o tamanho do MIG.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente que especifica uma política de posicionamento compacto.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 de posicionamento estão localizados.REGION
: a região em que o MIG será criado, que precisa corresponder à região em que a política de posicionamento compacto está localizada.MIG_NAME
: o nome do MIG que será criado.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente que especifica uma política de posicionamento compacto.SIZE
: o tamanho do MIG.MIG_NAME
: o nome de um MIG existente.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.REGION
: a região em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG que esteja na mesma região.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente que especifica uma política de posicionamento compacto.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.REGION
: a região em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG que esteja na mesma região.MIG_NAME
: o nome de um MIG existente.INSTANCE_TEMPLATE_NAME
: o nome de um modelo de instância existente que especifica uma política de posicionamento compacto.VM_NAME
: o nome de uma VM existente.PROJECT_ID
: o ID do projeto em que a VM está localizada.ZONE
: a zona em que a VM está localizada./CCCCCCC/xxxxxx/xxxx
: as duas VMs são colocadas no mesmo cluster, o que equivale a um valormax-distance
de2
. As VMs colocadas no mesmo cluster têm baixa latência de rede./CCCCCCC/BBBBBB/xxxx
: as duas VMs são colocadas no mesmo rack, o que equivale a um valormax-distance
de1
. As VMs colocadas no mesmo rack têm uma 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 a latência de rede o máximo possível.PROJECT_ID
: o ID do projeto em que a VM está localizada.ZONE
: a zona em que a VM está localizada.VM_NAME
: o nome de uma VM existente que especifica uma política de posicionamento./CCCCCCC/xxxxxx/xxxx
: as duas VMs são colocadas no mesmo cluster, o que equivale a um valormax-distance
de2
. As VMs colocadas no mesmo cluster têm baixa latência de rede./CCCCCCC/BBBBBB/xxxx
: as duas VMs são colocadas no mesmo rack, o que equivale a um valormax-distance
de1
. As VMs colocadas no mesmo rack têm uma 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 a latência de rede o máximo possível.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 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte 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 às VMs, peça ao seu administrador para conceder a você o papel de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) IAM na VM ou no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.Esse papel predefinido contém as permissões necessárias para criar e aplicar uma política de posicionamento compacto às VMs. Para conferir 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 VMs:
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Restrições
Além das restrições gerais das políticas de posicionamento, as políticas de posicionamento compacto também têm as seguintes restrições:
Criar uma política posicionamento compacto
Para criar uma política de posicionamento compacto, use um dos seguintes métodos:
Sem uma contagem fixa
É possível criar uma política de posicionamento compacto usando a CLI gcloud e a API Compute Engine.
gcloud
Para criar uma política de posicionamento compacto, use o comando
gcloud compute resource-policies create group-placement
com o flag--collocation=COLLOCATED
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=COLLOCATED \ --project=PROJECT_ID \ --region=REGION
Substitua:
Como opção, para melhor controle sobre a distância que separa as VMs quando há requisitos rigorosos de latência de rede, crie uma política de posicionamento compacto usando o comando
gcloud beta compute resource-policies create group-placement
com os flags--collocation=COLLOCATED
e--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=COLLOCATED \ --max-distance=MAX_DISTANCE \ --project=PROJECT_ID \ --region=REGION
Substitua:
REST
Para criar uma política de posicionamento compacto, faça uma solicitação
POST
ao métodoresourcePolicies.insert
com o campocollocation
definido comoCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Substitua:
Como opção, para melhor controle sobre a distância que as VMs são colocadas quando há requisitos rigorosos de latência de rede, crie uma política de posicionamento compacto fazendo uma solicitação
POST
aobeta.resourcePolicies.insert
com o campocollocation
definido comoCOLLOCATED
e o campomax-distance
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE" } }
Substitua:
Com uma contagem fixa
É possível criar uma política de posicionamento compacto que especifique uma contagem fixa de VMs usando a gcloud CLI e a API Compute Engine.
gcloud
Para criar uma política de posicionamento compacto que especifique uma contagem fixa de VMs, use o comando
gcloud compute resource-policies create group-placement
com as sinalizações--collocation=COLLOCATED
e--vm-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=COLLOCATED \ --project=PROJECT_ID \ --region=REGION \ --vm-count=VM_COUNT
Substitua:
Como opção, para melhor controle sobre a distância que separa as VMs quando há requisitos rigorosos de latência de rede, crie uma política de posicionamento compacto usando o comando
gcloud beta compute resource-policies create group-placement
com os flags--collocation=COLLOCATED
,--max-distance
e--vm-count
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=COLLOCATED \ --max-distance=MAX_DISTANCE \ --project=PROJECT_ID \ --region=REGION \ --vm-count=VM_COUNT
Substitua:
REST
Para criar uma política de posicionamento compacto que especifique uma contagem fixa de VMs, faça uma solicitação
POST
para o métodoresourcePolicies.insert
com ocollocation
definido comoCOLLOCATED
e o campovmCount
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "vmCount": "VM_COUNT" } }
Substitua:
Como opção, para melhor controle sobre a distância que separa as VMs quando há requisitos rigorosos de latência de rede, crie uma política de posicionamento compacto fazendo uma solicitação
POST
ao métodobeta.resourcePolicies.insert
com o campocollocation
definido comoCOLLOCATED
e os camposmax-distance
evmCount
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE", "vmCount": "VM_COUNT" } }
Substitua:
Aplicar políticas de posicionamento compacto
É possível aplicar uma política de posicionamento compacto a uma VM existente ou ao criar VMs, modelos de instância, MIGs ou reservas de VMs.
Para criar um recurso do Compute Engine que especifique uma política de posicionamento compacto, selecione um dos seguintes métodos:
Se você quiser especificar uma política de posicionamento compacto ao criar uma reserva de projeto único especificando as propriedades diretamente, consulte Criar uma reserva para um único projeto.
Depois que uma política de posicionamento compacto for aplicada a uma VM, será possível verificar o local físico de uma VM em relação a outras VMs que especificam a mesma política.
Aplicar uma política de posicionamento compacto a uma VM existente
É possível aplicar uma política de posicionamento compacto a uma VM existente usando a gcloud CLI e a API Compute Engine.
Antes de aplicar uma política de posicionamento compacto a uma VM existente, verifique o seguinte:
Caso contrário, a aplicação da política de posicionamento compacto a uma VM existente vai falhar.
gcloud
Para aplicar uma política de posicionamento compacto a uma VM existente, use o comando
gcloud compute instances add-resource-policies
com o flag--resource-policies
.gcloud compute instances add-resource-policies VM_NAME \ --project=PROJECT_ID \ --resource-policies=POLICY_NAME \ --zone=ZONE
Substitua:
REST
Para aplicar uma política de posicionamento compacto a uma VM existente, faça uma solicitação
POST
ao métodoinstances.addResourcePolicies
com o camporesourcePolicies
.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:
Criar uma VM que especifique uma política de posicionamento compacto.
É possível criar uma VM que especifique uma política de posicionamento compacto existente usando a gcloud CLI e a API Compute Engine.
gcloud
Para criar uma VM que especifique uma política de posicionamento compacto, use o comando
gcloud compute instances create
com o flag--resource-policies
.Por exemplo, para criar uma VM que especifique um tipo de máquina
c2d-standard-2
, execute o seguinte comando:gcloud compute instances create VM_NAME \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --project=PROJECT_ID \ --resource-policies=POLICY_NAME \ --zone=ZONE
Substitua:
REST
Para criar uma VM que especifique uma política de posicionamento compacto, faça uma solicitação
POST
para o métodoinstances.insert
com o camporesourcePolicies
.Por exemplo, para criar uma VM que especifique um tipo de máquina
c2d-standard-2
, faça a seguinte solicitaçãoPOST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "name": "VM_NAME", "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Substitua:
Para mais informações sobre as opções de configuração e os papéis do IAM para criar uma VM, consulte Criar e iniciar uma instância de VM.
Criar VMs em massa que especifiquem uma política de posicionamento compacto
É possível criar VMs em massa que especifiquem uma política de posicionamento compacto existente usando a gcloud CLI e a API Compute Engine.
gcloud
Para criar VMs em massa que especifiquem uma política de posicionamento compacto, use o comando
gcloud compute instances bulk create
com o flag--resource-policies
.Por exemplo, para criar VMs em massa que especifiquem um tipo de máquina
c2d-standard-2
e a mesma política de posicionamento compacto, execute o seguinte comando:gcloud compute instances bulk create \ --async \ --count=COUNT \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --project=PROJECT_ID \ --resource-policies=POLICY_NAME \ --zone=ZONE
Substitua:
REST
Para criar VMs em massa que especifiquem uma política de posicionamento compacto, crie um
POST
para o métodoinstances.bulkInsert
com o camporesourcePolicies
.Por exemplo, para criar VMs em massa que especifiquem um tipo de máquina
c2d-standard-2
e a mesma política de posicionamento compacto, faça a seguinte solicitaçãoPOST
:POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "namePattern": "NAME_PATTERN", "instanceProperties": { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Substitua:
Para mais informações sobre as opções de configuração ou os papéis do IAM para criar VMs em massa, consulte Criar VMs em massa.
Criar um modelo de instância que especifique uma política de posicionamento compacto
É possível criar um modelo de instância que especifique uma política de posicionamento compacto existente usando a gcloud CLI e a API Compute Engine.
Depois de criar um modelo de instância, use-o para fazer o seguinte:
gcloud
Para criar um modelo de instância que especifique uma política de posicionamento compacto, use o comando
gcloud compute instance-templates create
com o flag--resource-policies
.Por exemplo, para criar um modelo de instância que especifique um tipo de máquina
c2d-standard-2
e uma política de posicionamento compacto existente, execute o seguinte comando:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --project=PROJECT_ID \ --resource-policies=POLICY_NAME
Substitua:
REST
Para criar um modelo de instância que especifique uma política de posicionamento compacto, faça uma solicitação
POST
para o métodoinstanceTemplates.insert
. No corpo da solicitação, especifique o camporesourcePolicies
.Por exemplo, para criar um modelo de instância que especifique um tipo de máquina
c2d-standard-2
e uma política de posicionamento compacto existente, execute o seguinte comandoPOST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "properties": { "resourcePolicies": { "POLICY_NAME" }, "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Substitua:
Para saber mais sobre as opções de configuração para criar um modelo de instância, consulte Criar modelos de instância.
Aplicar uma política de posicionamento compacto às VMs 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:
Se você quiser aplicar uma política de posicionamento compacto a um MIG, é recomendado criar ou aplicar a política a um MIG regional com a forma de distribuição qualquer zona única. Dessa forma, sempre que um MIG regional precisar ser escalonado horizontalmente criando VMs, ele selecionará a zona em que as VMs serão criadas com base nas suas reservas, cotas e requisitos de hardware.
Criar um MIG que especifique uma política de posicionamento compacto
É possível criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto usando a gcloud CLI e a API Compute Engine.
gcloud
Para criar um MIG utilizando um modelo de instância que especifique uma política de posicionamento compacto, utilize o comando
gcloud compute instance-groups managed create
com o flag--template
.Por exemplo, para criar um MIG regional com formato de distribuição de qualquer zona única, execute o seguinte comando:
gcloud compute instance-groups managed create MIG_NAME \ --project=PROJECT_ID \ --region=REGION \ --size=SIZE \ --target-distribution-shape=any-single-zone \ --template=INSTANCE_TEMPLATE_NAME
Substitua:
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
aos métodosinstanceGroupManagers.insert
ouregionInstanceGroupManagers.insert
com o campoinstanceTemplate
definido como o nome do modelo existente.Por exemplo, para criar um MIG regional com propriedades de VM padrão e o formato de distribuição em qualquer zona única, faça a seguinte solicitação
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "targetSize": SIZE }
Substitua:
Para mais informações sobre as opções de configuração e os papéis do IAM para criar MIGs, consulte Cenários básicos para a criação de MIGs.
Aplicar uma política posicionamento compacto a um MIG existente
É possível aplicar uma política de posicionamento compacto a um MIG existente usando um modelo de instância que especifique a mesma política de posicionamento usando a gcloud CLI e a API Compute Engine.
gcloud
Para atualizar um MIG para utilizar 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
com o flag--version=template
.Por exemplo, para atualizar um MIG regional para utilizar um modelo de instância que especifique uma política de posicionamento compacto e substituir as VMs atuais 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 \ --project=PROJECT_ID \ --region=REGION \ --type=proactive \ --version=template=INSTANCE_TEMPLATE_NAME
Substitua:
REST
Para atualizar um MIG para utilizar 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 VMs existentes no MIG, faça uma solicitação
PATCH
aoinstanceGroupManagers.insert
ouregionInstanceGroupManagers.insert
com o campoinstanceTemplate
.Por exemplo, para atualizar um MIG regional para utilizar 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, faça o seguinte:
PATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
Substitua:
Para mais informações sobre as opções de configuração e os papéis do IAM para atualizar as VMs em um MIG, consulte Atualizar e aplicar novas configurações às VMs em um MIG.
Verificar o local físico de uma VM
Depois de aplicar uma política de posicionamento compacto a uma VM, será possível ver como ela afetou a localização física em relação a outras VMs que especificam a mesma política. Isso ajuda a determinar se a política de posicionamento compacto foi aplicada corretamente a uma VM e mapear quais VMs estão mais próximas umas das outras.
É possível verificar a localização física de uma VM que especifica uma política de posicionamento usando a gcloud CLI e a API Compute Engine.
gcloud
Para visualizar o local físico de uma VM que especifica uma política de posicionamento compacto, use o comando
gcloud compute instances describe
com o flag--format
.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --project=PROJECT_ID \ --zone=ZONE
Substitua:
O resultado será assim:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
O valor do campo
PHYSICAL_HOST
é composto de três partes. Cada parte representa o cluster, o rack e o host em que a VM está localizada.Ao comparar a posição de duas VMs que especificam a mesma política de posicionamento compacto, quanto mais partes no campo
PHYSICAL_HOST
as VMs compartilharem, mais próximas elas estarão uma da outra. Por exemplo, se duas VMs especificarem um dos seguintes valores de amostra para o campoPHYSICAL_HOST
:REST
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 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 VM está localizada.Ao comparar a posição de duas VMs que especificam a mesma política de posicionamento compacto, quanto mais partes no campo
physicalHost
as VMs compartilharem, mais próximas elas estarão uma da outra. Por exemplo, se duas VMs especificarem um dos seguintes valores de amostra para o campophysicalHost
: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 2024-09-24 UTC.
-