Se você usar um grupo gerenciado de instâncias (MIG) regional, será possível definir o formato de distribuição de destino do MIG como uma das seguintes opções:
- EVEN (padrão): o grupo cria e exclui VMs para
atingir e manter o mesmo número de VMs nas zonas
selecionadas. Em uma distribuição
EVEN
, o número de VMs não difere mais de uma entre duas zonas. Recomendado para cargas de trabalho de exibição altamente disponível. - BALANCED: o grupo prioriza a criação de VMs em zonas onde os recursos estiverem disponíveis e distribui as VMs da maneira mais uniforme possível entre as zonas selecionadas para minimizar o impacto da falha zonal. Recomendado para cargas de trabalho em lote ou de exibição altamente disponíveis.
- ANY: o grupo escolhe as zonas para a criação de instâncias de VM que atendam ao número solicitado de VMs dentro das restrições atuais dos recursos e que maximizem a utilização de reservas da zona não utilizadas. Recomendado para cargas de trabalho em lote que não exijam alta disponibilidade.
- ANY SINGLE ZONE (visualização): o grupo cria todas as instâncias de VM em uma única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e cotas e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instância compacta para cargas de trabalho que exigem comunicação extensa entre as VMs.
Para usar VMs reservadas em um grupo gerenciado de instâncias por região, crie reservas idênticas com o mesmo nome em cada zona aplicável. Em seguida, vise essas reservas mencionando o nome delas no modelo de instância do grupo.
Para ajudar você a escolher um formato, consulte a tabela de comparação, os casos de uso e como os formatos de distribuição funcionam.
Defina um formato de distribuição de destino ao criar seu MIG regional ou atualizar o formato de destino de um MIG regional existente.
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Só é possível selecionar as zonas para seu MIG ao criar o MIG.
Se você especificar recursos no modelo de instância do MIG ou na configuração com estado que não estão disponíveis em todas as zonas selecionadas, as seguintes limitações serão aplicadas:
- Defina o
formato de distribuição de destino
como
BALANCED
,ANY
ouANY_SINGLE_ZONE
. - Garanta que todos os recursos exigidos pelo MIG, por exemplo, discos, tipos de máquinas ou GPUs, estejam disponíveis em pelo menos uma das zonas selecionadas.
- Para atualizar a configuração do MIG (por exemplo, o modelo de instância) para uma configuração que não possa ser instanciada em todas as zonas selecionadas, você precisa remover instâncias gerenciadas de todas as zonas incompatíveis antes de definir a nova configuração.
- Defina o
formato de distribuição de destino
como
Para definir o formato de distribuição de destino como
BALANCED
ouANY_SINGLE_ZONE
, desative a redistribuição proativa de instâncias.- Se você quiser fazer o escalonamento automático de um MIG regional, defina o
formato de distribuição de destino do grupo como
BALANCED
([Preview](/products/#product-launch-stages)) ouEVEN
. Se você definir o formato de distribuição de destino como
BALANCED
,ANY
ouANY_SINGLE_ZONE
, as seguintes limitações se aplicarão:- As atualizações Canary com duas versões não são compatíveis.
- No caso de uma disponibilidade limitada de recursos solicitados em toda a região, o grupo pode programar a criação da instância de VM em uma zona em que os recursos já estão indisponíveis. Tente diminuir e aumentar o tamanho do grupo para conseguir os recursos solicitados em outras zonas.
- Atualizações graduais que usam o método de substituição
SUBSTITUTE
tentarão criar as novas instâncias atualizadas na mesma zona que as máquinas desatualizadas, mesmo que a zona não tenha recursos para acomodar os requisitos da nova versão. Para mediar esse comportamento, exclua as VMs desatualizadas da zona restrita e aumente o tamanho do grupo pelo número de VMs excluídas. O grupo cria instâncias a partir do modelo mais recente nas zonas em que a capacidade está disponível. - Se você quiser atualizar o modelo de instância do grupo para um modelo que especifica recursos que não estão disponíveis em todas as zonas selecionadas, remova as instâncias gerenciadas de zonas não compatíveis antes de definir o novo modelo.
Se você definir o formato de distribuição de destino como
ANY_SINGLE_ZONE
e o grupo tiver VMs atuais em uma única zona, será possível criar VMs adicionais apenas nessa zona. Se você quiser usar uma zona diferente, primeiro reduza o escalonamento horizontal no grupo para zero VMs.Se você precisar provisionar um grupo de VMs de locatário individual, defina o formato de distribuição de destino do MIG como
EVEN
. Crie grupos de nós nas mesmas zonas que as zonas do MIG e defina as afinidades de nó do MIG no modelo de instância do MIG.- No Console do Google Cloud, acesse a página Grupos de instâncias.
- Clique em Criar grupo de instâncias para criar um novo grupo.
- Selecione uma das opções do novo grupo de instâncias gerenciadas: sem estado (padrão) ou com estado.
- Atribua um nome e, se quiser, uma descrição ao grupo de instâncias.
- Selecione um modelo de instância para o grupo ou crie um modelo novo.
- Especifique o número de VMs para este grupo. Para cargas de trabalho altamente disponíveis, lembre-se de provisionar VMs suficientes para fazer com que o aplicativo continue a funcionar se uma zona falhar.
- Em Local, selecione Várias zonas.
Escolha uma região e selecione as zonas que você quer usar.
- Se você quiser que seu MIG use todas as zonas da região, selecione todas as zonas disponíveis.
- Não é possível atualizar um MIG regional para usar zonas diferentes após a criação.
Escolha uma forma de distribuição de destino.
- Se você quiser selecionar Any ou Any single zone, clique em Modo de escalonamento automático na seção Escalonamento automático. e escolha Excluir configuração de escalonamento automático.
- Se quiser selecionar Qualquer zona única ou Equilibrada, na seção Redistribuição da instância, não selecione Permitir redistribuição de instâncias.
Continue com o restante do processo de criação do MIG.
INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.TEMPLATE
: o nome do modelo de instância a ser usado para o grupo.SIZE
: o tamanho de destino do grupo de instâncias.REGION
: a região em que você quer seu grupo.ZONES
(opcional): uma lista de zonas na região em que você quer implantar instâncias de VM. Por padrão, o Compute Engine seleciona três zonas para você.Se você quiser que seu MIG use todas as zonas da região, especifique todas as zonas disponíveis. É possível conseguir uma lista de zonas na região com o seguinte comando:
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'Não é possível atualizar um MIG regional para usar zonas diferentes após a criação.
SHAPE
: o formato de distribuição de destino. Pode ser um dos seguintes valores:even
(padrão): o grupo cria e exclui VMs para atingir e manter o mesmo número de VMs nas zonas selecionadas. Em uma distribuiçãoEVEN
, o número de VMs não difere mais de uma entre duas zonas. Recomendado para cargas de trabalho de exibição altamente disponível.balanced
: o grupo prioriza a criação de VMs em zonas onde os recursos estejam disponíveis, enquanto distribui VMs da maneira mais uniforme possível entre as zonas selecionadas para minimizar o impacto da falha zonal. Recomendado para cargas de trabalho em lote ou de exibição altamente disponíveis.any
: o grupo escolhe as zonas para a criação de instâncias de VM que atendam ao número solicitado de VMs dentro das restrições atuais dos recursos e que maximizem a utilização de reservas da zona não utilizadas. Recomendado para cargas de trabalho em lote que não exijam alta disponibilidade.any-single-zone
(visualização): o grupo cria todas as instâncias de VM em uma única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e cotas e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instância compacta para cargas de trabalho que exigem comunicação extensa entre as VMs.
PROJECT_ID
: o ID do projeto desta solicitação;REGION
: a região do grupo de instâncias.INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.TEMPLATE
: o nome do modelo de instância a ser usado para o grupo de instâncias.SIZE
: o tamanho de destino do grupo de instâncias.ZONE
: o nome de uma zona na região em que você quer implantar as instâncias de VM.- Se você quiser que seu MIG use todas as zonas da região, especifique todas as zonas disponíveis. Para receber uma lista de zonas na região,
chame o
método
regions.get
. - Não é possível atualizar um MIG regional para usar zonas diferentes após a criação.
- Se você quiser que seu MIG use todas as zonas da região, especifique todas as zonas disponíveis. Para receber uma lista de zonas na região,
chame o
método
SHAPE
: o formato de distribuição de destino. Pode ser um dos seguintes valores:EVEN
(padrão): o grupo cria e exclui VMs para atingir e manter o mesmo número de VMs nas zonas selecionadas. Em uma distribuiçãoEVEN
, o número de VMs não difere mais de uma entre duas zonas. Recomendado para cargas de trabalho de exibição altamente disponível.BALANCED
: o grupo prioriza a criação de VMs em zonas onde os recursos estejam disponíveis, enquanto distribui VMs da maneira mais uniforme possível entre as zonas selecionadas para minimizar o impacto da falha zonal. Recomendado para cargas de trabalho em lote ou de exibição altamente disponíveis.ANY
: o grupo escolhe as zonas para a criação de instâncias de VM que atendam ao número solicitado de VMs dentro das restrições atuais dos recursos e que maximizem a utilização de reservas da zona não utilizadas. Recomendado para cargas de trabalho em lote que não exijam alta disponibilidade.ANY_SINGLE_ZONE
(visualização): o grupo cria todas as instâncias de VM em uma única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e cotas e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instância compacta para cargas de trabalho que exigem comunicação extensa entre as VMs.
- Se você quiser alterar a forma de distribuição de destino para
BALANCED
, primeiro desative a redistribuição proativa. - Se você quiser alterar o formato de distribuição de destino para
EVEN
, e se a distribuição atual das instâncias for desigual, primeiro desative a redistribuição proativa. - Se você alterar o formato para
EVEN
e quiser reativar a redistribuição proativa, primeiro reequilibre o grupo manualmente. - Se você quiser alterar o formato de distribuição de destino para
EVEN
, mas seu modelo de instância especificar recursos que não são compatíveis com todas as zonas selecionadas, primeiro você precisará atualizar o modelo de instância do grupo para um que seja compatível em todas as zonas selecionadas. - No Console do Google Cloud, acesse a página Grupos de instâncias.
- Na coluna Nome da lista, clique no nome do grupo de instâncias em que você quer alterar a forma de distribuição de destino.
- Clique em Editar para modificar o grupo gerenciado de instâncias.
- Em Forma de distribuição de destino, especifique a forma desejada.
- Clique em Salvar para aplicar o novo modelo.
INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.SHAPE
: o formato de distribuição de destino. Pode ser um dos seguintes valores:even
(padrão): o grupo cria e exclui VMs para atingir e manter o mesmo número de VMs nas zonas selecionadas. Em uma distribuiçãoEVEN
, o número de VMs não difere mais de uma entre duas zonas. Recomendado para cargas de trabalho de exibição altamente disponível.balanced
: o grupo prioriza a criação de VMs em zonas onde os recursos estejam disponíveis, enquanto distribui VMs da maneira mais uniforme possível entre as zonas selecionadas para minimizar o impacto da falha zonal. Recomendado para cargas de trabalho em lote ou de exibição altamente disponíveis.any
: o grupo escolhe as zonas para a criação de instâncias de VM que atendam ao número solicitado de VMs dentro das restrições atuais dos recursos e que maximizem a utilização de reservas da zona não utilizadas. Recomendado para cargas de trabalho em lote que não exijam alta disponibilidade.any-single-zone
(visualização): o grupo cria todas as instâncias de VM em uma única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e cotas e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instância compacta para cargas de trabalho que exigem comunicação extensa entre as VMs.
PROJECT_ID
: o ID do projeto desta solicitação;REGION
: a região do grupo de instâncias.INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.SHAPE
: o formato de distribuição de destino. Pode ser um dos seguintes valores:EVEN
(padrão): o grupo cria e exclui VMs para atingir e manter o mesmo número de VMs nas zonas selecionadas. Em uma distribuiçãoEVEN
, o número de VMs não difere mais de uma entre duas zonas. Recomendado para cargas de trabalho de exibição altamente disponível.BALANCED
: o grupo prioriza a criação de VMs em zonas onde os recursos estejam disponíveis, enquanto distribui VMs da maneira mais uniforme possível entre as zonas selecionadas para minimizar o impacto da falha zonal. Recomendado para cargas de trabalho em lote ou de exibição altamente disponíveis.ANY
: o grupo escolhe as zonas para a criação de instâncias de VM que atendam ao número solicitado de VMs dentro das restrições atuais dos recursos e que maximizem a utilização de reservas da zona não utilizadas. Recomendado para cargas de trabalho em lote que não exijam alta disponibilidade.ANY_SINGLE_ZONE
(visualização): o grupo cria todas as instâncias de VM em uma única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e cotas e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instância compacta para cargas de trabalho que exigem comunicação extensa entre as VMs.
- No Console do Google Cloud, acesse a página Grupos de instâncias. A página listará os grupos de instâncias, se você tiver algum.
- Clique no nome do grupo de instâncias que você quer examinar. Uma página é aberta com as propriedades do grupo e uma lista de instâncias incluídas nele.
- Clique em Details.
- Na seção Local, procure por Formato de distribuição de destino.
PROJECT_ID
: o ID do projeto desta solicitação;REGION
: a região do grupo de instâncias;INSTANCE_GROUP_NAME
: o nome do grupo de instâncias- Saiba mais sobre Como visualizar informações sobre MIGs e as respectivas VMs.
- Saiba mais sobre como trabalhar com VMs em um MIG, incluindo como adicionar, recriar e remover VMs, além de atualizar a configuração da VM.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
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.
Limitações
Como criar um grupo com um formato de distribuição de destino
Para criar seu grupo, selecione as respectivas zonas e defina o formato de distribuição de destino. Use o console do Google Cloud, a gcloud CLI, Terraform ou a REST.
Console
gcloud
Use o comando
gcloud compute instance-groups managed create
e inclua a sinalização--target-distribution-shape
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape SHAPE
Substitua:
Por exemplo, para criar um MIG regional com uma forma de distribuição de destino balanceada, defina a flag
--target-distribution-shape
comobalanced
.gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --target-distribution-shape balanced \ --instance-redistribution-type none
Terraform
Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.
Para criar um MIG regional, use o recurso
google_compute_region_instance_group_manager
.O exemplo a seguir cria um MIG regional com o formato de distribuição de destino
BALANCED
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Chame o método
regionInstanceGroupManagers.insert
. No corpo da solicitação, inclua a propriedadedistributionPolicy
e defina o respectivo campotargetShape
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": INSTANCE_GROUP_NAME, "instanceTemplate": "global/instanceTemplates/TEMPLATE", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "SHAPE" } }
Substitua:
Como aterar a forma de distribuição de destino de um grupo existente
É possível alterar o formato de distribuição de destino de um MIG regional existente, mas com as seguintes limitações:
Console
gcloud
Use o comando
gcloud compute instance-groups managed update
e inclua a sinalização--target-distribution-shape
.gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --target-distribution-shape SHAPE
Substitua:
REST
Chame o método
regionInstanceGroupManagers.patch
. No corpo da solicitação, inclua a propriedadedistributionPolicy
e defina o respectivo campotargetShape
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "distributionPolicy": { "targetShape": "SHAPE" } }
Substitua:
Como visualizar a política de distribuição de instâncias configurada
Console
gcloud
Execute o comando
gcloud compute instance-groups managed describe
.gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \ --region REGION
O comando retorna os detalhes do grupo, incluindo o campo
distributionPolicy.targetShape
:... distributionPolicy: targetShape: BALANCED zones: - zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f ... name: my-group region: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1 ...
REST
Crie uma solicitação
GET
para o métodoregionInstanceGroupManagers.get
.GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Substitua:
A forma de distribuição de destino é retornada no campo
distributionPolicy.targetShape
. Exemplo:{ "name": "my-instance-group", "distributionPolicy": { "targetShape": "BALANCED", }, "targetSize": 50, ... }
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.
-