Como criar grupos de instâncias não gerenciadas

Grupos de instâncias não gerenciadas são conjuntos de instâncias que existem em uma única zona e não compartilham um modelo de instância comum. É possível usá-los para acomodar suas configurações atuais de tarefas de balanceamento de carga. No entanto, você sempre deve criar grupos de instâncias gerenciadas a menos que seus aplicativos exijam que você agrupe instâncias diferentes.

Para saber mais sobre grupos de instâncias, leia a Visão geral de grupos de instâncias. Para criar um grupo de instâncias gerenciadas (MIG, na sigla em inglês), leia Como criar grupos de instâncias gerenciadas.

Antes de começar

Como criar um grupo de instâncias não gerenciadas

Ao contrário dos grupos de instâncias gerenciadas, os grupos de instâncias não gerenciadas são apenas conjuntos de instâncias exclusivas que não compartilham um modelo comum. Grupos não gerenciados não permitem a criação, a exclusão ou o escalonamento do número de instâncias no grupo. Você simplesmente cria um grupo e adiciona instâncias individuais ao grupo mais tarde.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias

  2. Clique em Criar um grupo de instâncias.
  3. Digite um nome para o grupo de instâncias não gerenciado.
  4. Em Local, selecione Única zona.
  5. Em Zona, selecione a zona em que você quer localizar o grupo.
  6. Em Tipo de grupo, selecione Grupo de instâncias não gerenciadas.
  7. Selecione a rede para este grupo.
  8. Em instâncias da VM, selecione as instâncias a serem adicionadas neste grupo.
  9. Clique em Criar para criar o novo grupo.

gcloud

Para criar um novo grupo de instâncias não gerenciadas com a ferramenta de linha de comando gcloud, use o comando instance-groups unmanaged create:

gcloud compute instance-groups unmanaged create [INSTANCE_GROUP]

API

Na API, crie uma solicitação POST para o serviço instanceGroups. Inclua um nome de grupo no corpo da solicitação.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

{
 "name": "[INSTANCE_GROUP]"
}

Ao ser criado, o grupo de instâncias não gerenciadas está vazio. Após criar o grupo, adicione instâncias específicas ao grupo.

Como adicionar instâncias a um grupo de instâncias não gerenciadas

Após criar um grupo de instâncias não gerenciadas, adicione a ele suas instâncias atuais.

Observe que:

  • Uma instância pertence apenas a um grupo de instâncias com cargas balanceadas. Adicione também uma instância a um único grupo de instâncias com carga balanceada e diversos grupos de instâncias sem balanceamento de carga.

  • Enquanto a carga do grupo de instâncias está sendo balanceada, todas as instâncias precisam pertencer à mesma rede ou sub-rede VPC.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias (em inglês)

  2. Na coluna Nome da lista, clique no nome do grupo a que você quer adicionar as instâncias. Uma página é aberta com as propriedades do grupo e uma lista de instâncias que já fazem parte dele.
  3. Clique em Editar grupo para modificar esse grupo de instâncias não gerenciadas.
  4. Em Instâncias de VMs, selecione uma ou mais instâncias atuais para adicionar ao grupo. Somente é possível selecionar instâncias na mesma zona que o grupo.
  5. Clique em Salvar. As instâncias selecionadas juntam-se ao grupo de instâncias não gerenciadas.

gcloud

Use o subcomando add-instances de gcloud instance-groups unmanaged:

gcloud compute instance-groups unmanaged add-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME]

API

Crie uma solicitação para o serviço instanceGroups com o nome do grupo de instâncias não gerenciadas o que você quer adicionar instâncias. Especifique os URLs para uma ou mais instâncias que você quer adicionar ao grupo.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/addInstances

{
 "instances": [
  {
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]"
  }
 ]
}

Como listar os grupos de instâncias não gerenciadas em um projeto

Recupere uma lista de grupos de instâncias não gerenciadas existentes.

Console

No Console do Cloud, acesse a página Grupos de instâncias.

Acessar a página Grupos de instâncias (em inglês)

A página listará os grupos de instâncias, se você tiver algum. Observe que essa página também lista os grupos de instâncias gerenciadas.

gcloud

Confirme se o grupo de instâncias não gerenciadas foi criado usando o comando list:

gcloud compute instance-groups unmanaged list [INSTANCE_GROUP]

Para ver informações sobre um grupo específico:

gcloud compute instance-groups unmanaged describe [INSTANCE_GROUP]

API

Liste todos os grupos de instâncias de um projeto. Crie uma solicitação GET para o serviço instanceGroups:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

Receba informações sobre um grupo específico. Crie uma solicitação GET para o serviço instanceGroups e inclua o nome de um grupo específico de instâncias não gerenciadas:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Como listar instâncias em um grupo de instâncias não gerenciadas

Recupere uma lista de instâncias que estão incluídas em um grupo de instâncias não gerenciadas.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias (em inglês)

  2. Na coluna Nome da lista, clique no nome do grupo de instâncias não gerenciadas em que estão as instâncias que você quer ver. Uma página é aberta com as propriedades do grupo e a lista de instâncias que estão incluídas nele.

gcloud

Para listar as instâncias em um grupo de instâncias não gerenciadas, use o subcomando list-instances do grupo de comandos instances de gcloud compute instance-groups unmanaged:

gcloud compute instance-groups unmanaged list-instances [INSTANCE_GROUP]

API

Crie uma solicitação para o serviço instanceGroups com o nome do grupo de instâncias não gerenciadas do qual você quer listar as instâncias. É possível incluir filtros no corpo da solicitação.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/listInstances

Como remover instâncias de um grupo

Separe as instâncias dos grupos sem excluí-las.

Se o grupo fizer parte de um serviço de back-end com diminuição de conexão ativada, pode levar até 60 segundos para que a instância de VM seja removida ou excluída após essa diminuição.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias (em inglês)

  2. Na coluna Nome da lista, clique no nome do grupo com as instâncias que você quer remover. Uma página é aberta com as propriedades do grupo e a lista de instâncias que estão incluídas nele.
  3. Na lista de instâncias, selecione as que você quer remover do grupo.
  4. Clique em Remover do grupo. As instâncias selecionadas deixam o grupo, mas continuam a ser executadas fora dele.

gcloud

Para remover instâncias de um grupo de instâncias não gerenciadas, use o subcomando remove de gcloud compute instance-groups unmanaged:

gcloud compute instance-groups unmanaged remove-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME],[INSTANCES ...]

API

Crie uma solicitação para o serviço instanceGroups com o nome do grupo de instâncias não gerenciadas do qual você quer remover as instâncias. Especifique os URLs para uma ou mais instâncias que você quer remover do grupo.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/removeInstances

{
 "instances": [
  {
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[ANOTHER_INSTANCE_NAME]"
  }
 ]
}

Como adicionar um grupo de instâncias não gerenciadas a um serviço de back-end

É necessário um serviço de back-end para criar um HTTP(S), um proxy SSL, um proxy TCP ou um balanceador de carga interno. Um serviço de back-end pode conter vários back-ends. Um grupo de instâncias é um tipo de back-end. As instâncias contidas no grupo respondem ao tráfego vindo do balanceador de carga. O serviço de back-end, por sua vez, sabe quais instâncias podem ser usadas, quanto tráfego elas podem processar e a quantidade de tráfego que estão processando no momento. Além disso, a verificação da integridade é monitorada pelo serviço de back-end, que não envia novas conexões para instâncias não íntegras.

Para aprender a adicionar um grupo de instâncias a um serviço de back-end, leia Como adicionar grupos de instâncias a um serviço de back-end.

Como atribuir portas nomeadas a grupos de instâncias não gerenciadas

Portas nomeadas são pares de chave-valor que representam um nome de serviço e o número da porta em que o serviço é executado. Elas são usadas pelos serviços de balanceamento de carga para direcionar o tráfego a portas específicas em instâncias individuais. Por exemplo, se você definir uma porta nomeada como http:80 e configurar o serviço de back-end para enviar o tráfego a uma porta denominada http, o balanceamento de carga encaminhará o tráfego à porta 80 das instâncias individuais que fazem parte do grupo de instâncias.

As portas nomeadas são metadados simples usados pelo balanceamento de carga. Elas não controlam recursos de rede ou firewall no Compute Engine.

É possível atribuir várias portas para cada nome de serviço e vários nomes de serviço para cada porta. No entanto, tenha em mente que um determinado serviço de back-end só pode encaminhar tráfego para uma porta nomeada de cada vez.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias (em inglês)

  2. Na coluna Nome da lista, clique no nome do grupo de instâncias em que você quer especificar portas nomeadas. Uma página com as propriedades do grupo de instâncias é aberta.
  3. Clique em Editar grupo para modificar esse grupo de instâncias não gerenciadas.
  4. Clique em Especificar mapeamento de nomes de porta para expandir as opções de portas nomeadas.
  5. Clique em Adicionar item e digite o nome da porta e os números que você quer associar a esse nome. Clique em Adicionar item novamente para adicionar mais entradas, se necessário.
  6. Clique em Salvar para salvar as alterações e aplicar as portas nomeadas às instâncias no grupo de instâncias não gerenciadas.

gcloud

Defina uma ou mais portas nomeadas usando o comando set-named-ports:

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports [PORT_NAME]:[PORT],[PORT_NAME]:[PORT]

Por exemplo:

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:80,name2:8080

Para atribuir várias portas a cada nome de serviço ou vários nomes a cada serviço, crie mais de uma entrada para cada nome ou porta. Por exemplo, atribua name1 às portas 10, 20 e 80. Em seguida, atribua name2 e name3 à porta 8080. Por fim, atribua a porta 9000 a name4.

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:10,name1:20,name1:80,\
                name2:8080,name3:8080,\
                name4:9000

Verifique as atribuições de portas nomeadas de um grupo de instâncias não gerenciadas usando o comando get-named-ports:

gcloud compute instance-groups unmanaged get-named-ports [INSTANCE_GROUP]
NAME  PORT
name1 10
name1 20
name1 80
name2 8080
name3 8080
name4 9000

API

Crie uma solicitação para o serviço instanceGroups e inclua o nome de um grupo específico de instâncias não gerenciadas. Para saber o valor fingerprint atual do grupo de instâncias não gerenciadas, acesse as informações sobre um grupo específico. Inclua o fingerprint e um ou mais pares de valores namedPorts no corpo da solicitação:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  },
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  }
 ]
}

Exemplo:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 80
  },
  {
   "name": "name2",
   "port": 8080
  }
 ]
}

Para atribuir várias portas a cada nome de serviço, crie várias entradas para esses nomes. Por exemplo, atribua as portas 10, 20 e 80 a name1. Atribua também a porta 8080 a name2.

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 10
  },
  {
   "name": "name1",
   "port": 20
  }
  {
   "name": "name1",
   "port": 80
  }
  {
   "name": "name2",
   "port": 8080
  }
  {
   "name": "name3",
   "port": 80
  }
  {
   "name": "name4",
   "port": 8080
  }
 ]
}

Para listar as portas nomeadas que já estão atribuídas a um grupo de instâncias não gerenciadas, crie uma solicitação GET que aponte para o grupo:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Como excluir um grupo de instâncias não gerenciadas

Ao contrário de um grupo de instâncias gerenciadas, a exclusão de um grupo de instâncias não gerenciadas não remove as instâncias dele. Ela apenas dissolve o agrupamento lógico das instâncias.

Exclua um grupo de instâncias não gerenciadas usando a ferramenta de linha de comando gcloud ou a API.

Console

  1. Acesse a página Grupos de instâncias no Console do Cloud.

    Acessar a página Grupos de instâncias

  2. Selecione um ou mais grupos na lista que você quer excluir.
  3. Clique em Excluir para excluir o grupo. As instâncias do grupo não serão excluídas.

gcloud

Para excluir um grupo de instâncias não gerenciadas, use o comando delete:

gcloud compute instance-groups unmanaged delete [INSTANCE_GROUP]

API

Crie uma solicitação DELETE para o serviço instanceGroups e inclua o nome de um grupo específico de instâncias não gerenciadas que você quer excluir:

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine