Este documento descreve como melhorar a confiabilidade das instâncias de máquina virtual (VM) criando e aplicando políticas de posicionamento distribuído a elas. Para saber mais sobre políticas de posicionamento, incluindo restrições e preços, consulte Visão geral das políticas de posicionamento.
Uma política de posicionamento distribuído especifica que as instâncias precisam ser distribuídas em diferentes domínios de disponibilidade. Essa distribuição ajuda a mitigar interrupções específicas do local, como erros de hardware, e é útil ao executar cargas de trabalho distribuídas, replicadas e em grande escala, como o Hadoop Distributed File System (HDFS), Cassandra ou Kafka.
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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 receber as permissões necessárias para criar e aplicar uma política de posicionamento distribuído às instâncias, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para criar e aplicar uma política de posicionamento expandida às instâncias. 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 expandida às instâncias:
-
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.- Usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Utilizar um snapshot para criar a VM:
compute.snapshots.useReadOnlyno snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância - Atribuir uma rede legada à VM:
compute.networks.useno projeto - Especificar um endereço IP estático para a VM:
compute.addresses.useno projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIpno projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida - Definir os metadados da instância da VM:
compute.instances.setMetadatano projeto - Definir tags para a VM:
compute.instances.setTagsna VM - Definir rótulos para a VM:
compute.instances.setLabelsna VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM - Criar um disco para a VM:
compute.disks.createno projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.useno disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnlyno disco
-
Para criar um modelo de instância:
compute.instanceTemplates.createno projeto -
Para criar um grupo gerenciado de instâncias (MIG):
compute.instanceGroupManagers.createno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar uma política de canais de distribuição
A menos que você queira testar a aplicação da política de posicionamento distribuído às suas instâncias, Google Cloud recomenda criar políticas de posicionamento distribuído com dois ou mais domínios de disponibilidade. Isso reduz o risco de todas as instâncias serem afetadas por um único erro de hardware. Para mais informações, consulte Sobre as políticas de posicionamento distribuído.
Para criar uma política de posicionamento distribuído, selecione uma das seguintes opções:
gcloud
Para criar uma política de posicionamento expandida, use o comando
gcloud compute resource-policies create group-placementcom a sinalização--availability-domain-count.gcloud compute resource-policies create group-placement POLICY_NAME \ --availability-domain-count=DOMAIN_COUNT \ --region=REGIONSubstitua:
POLICY_NAME: o nome da política de posicionamento distribuído.DOMAIN_COUNT: o número distinto de domínios de disponibilidade em que as instâncias são colocadas. O valor precisa estar entre1e8.REGION: a região em que a política de posicionamento será criada.
REST
Para criar uma política de posicionamento expandida, faça uma solicitação
POSTpara o métodoresourcePolicies.insert. No corpo da solicitação, inclua o campoavailabilityDomainCount.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento será criada.REGION: a região em que a política de posicionamento será criada.POLICY_NAME: o nome da política de posicionamento distribuído.DOMAIN_COUNT: o número distinto de domínios de disponibilidade em que as instâncias são colocadas. O valor precisa estar entre1e8.
Aplicar uma política de canais de distribuição
É possível aplicar uma política de posicionamento expandida a uma VM ou MIG ou ao criar instâncias, modelos de instâncias ou MIGs.
Para aplicar uma política de posicionamento espalhado a um recurso do Compute Engine, selecione um dos seguintes métodos:
- Aplique a política a uma VM atual.
- Aplique a política ao criar uma VM.
- Aplique a política ao criar várias instâncias.
- 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 distribuída a uma VM, é possível verificar o domínio de disponibilidade em que a VM está localizada conferindo os detalhes da VM e o valor do campo
availabilityDomain.Aplicar a política a uma VM
Antes de aplicar uma política de posicionamento distribuído a uma VM, considere o seguinte:
Se a política de posicionamento distribuído especificar vários domínios de disponibilidade, é possível aplicar a política a uma VM sem interromper a VM. No entanto, talvez a VM precise ser realocada para um domínio de disponibilidade diferente. Durante esse processo, o Compute Engine interrompe ou migra em tempo real a VM com base na política de manutenção do host.
A VM e a política de posicionamento de propagação precisam estar na mesma região. Por exemplo, se a política de posicionamento estiver na região
us-central1, a VM precisará estar em uma zona emus-central1. Se você precisar migrar uma VM para outra região, consulte Mova uma VM entre zonas ou regiões.
Se você quiser especificar o domínio de disponibilidade em que vai colocar a VM, aplique a política de posicionamento à VM atualizando as propriedades dela. Ao atualizar as propriedades da VM, inclua os campos
resourcePoliciesescheduling.availabilityDomain.Para aplicar uma política de posicionamento distribuída a uma VM, selecione uma das seguintes opções:
gcloud
Para aplicar uma política de posicionamento distribuído a uma VM atual, use o comando
gcloud compute instances add-resource-policies.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua:
VM_NAME: o nome de uma VM existente.POLICY_NAME: o nome de uma política de posicionamento expandida.ZONE: a zona em que a VM está localizada.
REST
Para aplicar uma política de posicionamento distribuído a uma VM, faça uma solicitação
POSTao 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:
PROJECT_ID: o ID do projeto em que a política de posicionamento distribuído e a VM estão localizadas.ZONE: a zona em que a VM está localizada.VM_NAME: o nome de uma VM existente.REGION: a região em que a política de posicionamento distribuído está localizada.POLICY_NAME: o nome de uma política de posicionamento expandida.
Aplicar a política ao criar uma VM
Só é possível criar uma VM que especifique uma política de posicionamento distribuído na mesma região da política de posicionamento.
Para criar uma VM que especifique uma política de posicionamento distribuído, selecione uma das seguintes opções:
gcloud
Para criar uma VM que especifique uma política de posicionamento expandida, use o comando
gcloud compute instances createcom a sinalização--resource-policies.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua:
VM_NAME: o nome da VM a ser criada.MACHINE_TYPE: o tipo de máquina da VM.POLICY_NAME: o nome de uma política de posicionamento expandida.ZONE: a zona em que a instância de VM será criada.
Opcionalmente, para especificar o domínio de disponibilidade em que a VM será criada, inclua a flag
--availability-domain.gcloud compute instances create VM_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade onde colocar a VM. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento distribuído. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.REST
Para criar uma VM que especifique uma política de posicionamento distribuído, faça uma solicitação
POSTao métodoinstances.insert. No corpo da solicitação, inclua o camporesourcePolicies.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" ] }Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento distribuído está localizada.ZONE: a zona em que a VM será criada e o tipo de máquina está localizado. Só é possível especificar uma zona dentro da região da política de posicionamento distribuído.VM_NAME: o nome da VM a ser criada.MACHINE_TYPE: o tipo de máquina da VM.IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo,debian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Ela especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
REGION: a região em que a política de posicionamento distribuído está localizada.POLICY_NAME: o nome de uma política de posicionamento expandida.
Opcionalmente, para especificar o domínio de disponibilidade em que a VM será criada, inclua a flag
availabilityDomainno corpo da solicitação.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": { "availabilityDomain": DOMAIN_NUMBER } }Substitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade onde colocar a VM. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento distribuído. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.Para 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 várias instâncias
Antes de criar instâncias em massa que especificam uma política de posicionamento distribuído, verifique o seguinte:
Só é possível criar instâncias em massa que especificam uma política de posicionamento distribuído na mesma região da política de posicionamento.
Ao criar instâncias em massa com uma política de posicionamento distribuída, é possível especificar o domínio de disponibilidade em que as instâncias serão criadas. Evite criar todas as suas instâncias em um só domínio. Caso contrário, você não reduz o risco de um único erro de hardware que afeta todas as instâncias.
Para criar instâncias em massa que especifiquem uma política de posicionamento distribuído, selecione uma das seguintes opções:
gcloud
Para criar instâncias em massa que especifiquem uma política de posicionamento distribuído, use o comando
gcloud compute instances bulk createcom a flag--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 \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua:
COUNT: o número de instâncias a serem criadas.MACHINE_TYPE: o tipo de máquina das instâncias.NAME_PATTERN: o padrão de nome das instâncias. Para substituir uma sequência de números no nome de uma VM, 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 expandida.ZONE: a zona em que as instâncias serão criadas em massa.
Opcionalmente, para especificar o domínio de disponibilidade em que as instâncias serão criadas em massa, inclua a flag
--availability-domain.gcloud compute instances bulk create \ --availability-domain=DOMAIN_NUMBER \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONESubstitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade onde colocar a VM. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento distribuído. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.REST
Para criar instâncias em massa que especifiquem uma política de posicionamento distribuído, crie um
POSTpara o métodoinstances.bulkInsert. No corpo da solicitação, inclua o camporesourcePolicies.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": [ "POLICY_NAME" ] } }Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento distribuído está localizada.ZONE: a zona em que as instâncias serão criadas em massa.COUNT: o número de instâncias que serão criadas.NAME_PATTERN: o padrão de nome das instâncias. Para substituir uma sequência de números no nome de uma VM, 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: o tipo de máquina das instâncias.IMAGE_PROJECT: o projeto de imagem que contém a imagem, comodebian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Ela especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
POLICY_NAME: o nome de uma política de posicionamento expandida.
Opcionalmente, para especificar o domínio de disponibilidade em que as instâncias serão criadas em massa, inclua a flag
availabilityDomainno corpo da solicitação.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": [ "POLICY_NAME" ], "scheduling": { "availabilityDomain": DOMAIN_NUMBER } } }Substitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade onde colocar a VM. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento distribuído. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.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 um modelo de instância
Antes de criar um modelo de instância que especifique uma política de posicionamento distribuído, considere o seguinte:
Se você quiser criar um modelo de instância regional, o modelo e a política de posicionamento distribuído precisam estar na mesma região. Caso contrário, a criação do modelo de instância falhará.
Evite criar todas as instâncias em um único domínio de disponibilidade. Caso contrário, você não reduz o risco de um único erro de hardware que afeta todas as instâncias.
Depois de criar um modelo de instância que especifica uma política de posicionamento distribuído, é possível usar o modelo para fazer o seguinte:
Para criar um modelo de instância regional e uma política de posicionamento expandida com oito domínios de disponibilidade, use o console Google Cloud . Para criar um modelo de instância global ou regional e especificar uma política de posicionamento distribuído, use a CLI gcloud ou a API REST:
Console
No console do Google Cloud , acesse a página Modelos de instância.
Clique em Criar modelo de instância. A página Criar um modelo de instância é exibida.
No campo Região, especifique onde você quer criar a política de colocação de dispersão e o modelo de instância.
Na seção Configuração da máquina, especifique uma série e um tipo de máquina.
Na seção Política de posicionamento, na lista Política de posicionamento, selecione Dispersão.
Clique em Criar.
gcloud
Para criar um modelo de instância que especifique uma política de posicionamento distribuído, use o comando
gcloud compute instance-templates createcom a flag--resource-policies.Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento distribuído, execute o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAMESubstitua:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.MACHINE_TYPE: o tipo de máquina das instâncias criadas com o modelo de instância.POLICY_NAME: o nome de uma política de posicionamento expandida.
Opcionalmente, para especificar o domínio de disponibilidade em que as instâncias serão criadas, inclua a flag
--availability-domain.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAMESubstitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade em que você quer criar as instâncias. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.REST
Para criar um modelo de instância que especifique uma política de posicionamento distribuído, 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, especifique o campo
resourcePolicies.Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento distribuído, 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" ] } }Substitua:
PROJECT_ID: o ID do projeto em que a política de posicionamento distribuído está localizada.INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.IMAGE_PROJECT: o projeto que contém a imagem, comodebian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Ela especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para saber como usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
MACHINE_TYPE: o tipo de máquina das instâncias criadas com o modelo de instância.POLICY_NAME: o nome de uma política de posicionamento expandida.
Opcionalmente, para especificar o domínio de disponibilidade em que as instâncias serão criadas, inclua a flag
availabilityDomainno corpo da solicitação.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": { "availabilityDomain": DOMAIN_NUMBER } } }Substitua
DOMAIN_NUMBERpelo número do domínio de disponibilidade em que você quer criar as instâncias. O valor precisa estar entre1e o número de domínios especificados na política de posicionamento. Para verificar o número de domínios em uma política de posicionamento distribuído, confira os detalhes da política de posicionamento.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 especifica uma política de posicionamento expandida, é possível usar o modelo para fazer o seguinte:
.Aplicar a política ao criar um MIG
Só é possível criar instâncias que especificam uma política de posicionamento distribuído 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 distribuído, selecione uma das seguintes opções:
gcloud
Para criar um MIG usando um modelo de instância que especifica uma política de posicionamento distribuído, 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 distribuído, 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 expandida.ZONE: a zona em que o MIG será criado, precisa estar na região em que a política de posicionamento distribuído está localizada.
REST
Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento distribuído 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 distribuído, 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 distribuído 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 distribuído está localizada.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 expandida.
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 expandida 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 distribuído 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 expandida, 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 expandida e substituir as instâncias atuais do MIG por novas instâncias que especifiquem as propriedades do modelo, execute o comando abaixo:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONESubstitua:
INSTANCE_GROUP_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 expandida.ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento distribuído 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 distribuído 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 expandida 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/INSTANCE_GROUP_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }Substitua:
PROJECT_ID: o ID do projeto usado para criar um MIG atual, a política de posicionamento distribuído e o modelo de instância que especifica a política de posicionamento distribuído.ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento distribuído a um MIG localizado na mesma região da política de posicionamento.INSTANCE_GROUP_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 expandida.
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.
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 VM que especifica uma política de posicionamento:
Saiba mais sobre o processo de migração em tempo real durante eventos de manutenção.
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 2026-02-14 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 2026-02-14 UTC."],[],[]] -