Como criar grupos de instâncias não gerenciadas

Esta página descreve como criar um grupo de instâncias não gerenciadas. Para saber mais sobre grupos de instâncias, leia a Visão geral de grupos de instâncias.

Os grupos de instâncias não gerenciadas são conjuntos de instâncias que não são necessariamente idênticas e não compartilham um modelo de instância comum. Existe a possibilidade de usar grupos de instâncias não gerenciadas para organizar as configurações preexistentes de tarefas de balanceamento de carga. Mas a melhor alternativa é sempre usar grupos de instâncias gerenciadas, a menos que os aplicativos necessitem do agrupamento de instâncias que não sejam idênticas.

Antes de começar

Criação de 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 GCP.

    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 gcloud, use o comando instance-groups unmanaged create:

gcloud compute instance-groups unmanaged create [INSTANCE_GROUP]

API

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

POST https://www.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 existentes.

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 GCP.

    Acessar a página "Grupos de instâncias"

  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 da VM, selecione uma ou mais instâncias atuais para adicionar ao grupo. Só é possível selecionar instâncias na mesma zona do 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 que está contido em gcloud instance-groups unmanaged:

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

API

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

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

{
 "instances": [
  {
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://www.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 GCP, acesse a página "Grupos de instâncias".

Acessar a página "Grupos de instâncias"

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

gcloud

Confirme se o grupo de instâncias não gerenciadas foi criado com êxito 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 dentro de um projeto. Crie uma solicitação GET para o serviço instanceGroups:

GET https://www.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 de instâncias não gerenciadas específico:

GET https://www.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 GCP.

    Acessar a página "Grupos de instâncias"

  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 de um grupo de instâncias não gerenciadas, use o subcomando list-instances, contido no grupo de comandos instances de gcloud compute instance-groups unmanaged:

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

API

Crie uma solicitação ao serviço instanceGroups com o nome do grupo de instâncias não gerenciadas a partir do qual você quer listar instâncias. Como opção, você pode incluir filtros no corpo da solicitação.

POST https://www.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 descarga da conexão ativada, pode levar até 60 segundos para que a instância de VM seja removida ou excluída após essa descarga.

Console

  1. Acesse a página "Grupos de instâncias" no console do GCP.

    Acessar a página "Grupos de instâncias"

  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 são removidas do 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, contido em 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 do qual você quer remover instâncias. Especifique os URLs para uma ou mais instâncias que você quer remover do grupo.

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

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

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

Um serviço de back-end é necessário para criar um balanceador de carga HTTP(S) interno ou SSL. Um serviço de back-end contém back-ends individuais, e cada um deles contém um grupo de instâncias gerenciadas ou não gerenciadas. As instâncias contidas no grupo respondem ao tráfego vindo do balanceador de carga. O serviço de back-end, por sua vez, tem as informações de quais instâncias podem ser usadas, a capacidade delas para processar o tráfego e a quantidade de tráfego que elas estão processando no momento. Além disso, a verificação da integridade é monitorada no serviço de back-end, que não envia novas conexões para instâncias não íntegras.

Para ver instruções sobre como adicionar um grupo de instâncias a um serviço de back-end, leia Adicionar grupos de instâncias a um serviço de back-end.

Atribuição de portas nomeadas a grupos de instâncias não gerenciadas

Portas nomeadas são pares de valores-chave que representam um nome de serviço e o número da porta em que o serviço é executado. As portas nomeadas são usadas pelos serviços de balanceamento de carga para direcionar o tráfego para portas específicas em instâncias individuais. Por exemplo, se você definir uma porta nomeada como http:80 e depois configurar o serviço de back-end para enviar tráfego para uma porta chamada http, o balanceamento de carga encaminhará o tráfego para a 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. As portas nomeadas não controlam os recursos da rede nem o firewall no Compute Engine.

Atribua diversas portas para cada nome de serviço e diversos nomes de serviço para cada porta. No entanto, lembre-se de que um determinado serviço de back-end só encaminha o tráfego para uma porta nomeada de cada vez.

Console

  1. Acesse a página "Grupos de instâncias" no console do GCP.

    Acessar a página "Grupos de instâncias"

  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 e os números da porta que você quer associar a esse nome. Clique em Adicionar item novamente para adicionar outras 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]

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 para 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 80. 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 para 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 de instâncias não gerenciadas específico. Para receber o valor atual de fingerprint do grupo de instâncias não gerenciadas, solicite informações sobre um grupo específico. Inclua fingerprint e um ou mais pares de valores namedPorts no corpo da solicitação:

POST https://www.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://www.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 esse nome de serviço. Por exemplo, você pode atribuir as portas 10, 20 e 80 a name1. Atribua também a porta 8080 a name2.

POST https://www.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://www.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 dos grupos de instâncias gerenciadas, excluir um grupo de instâncias não gerenciadas não exclui as instâncias do grupo. A exclusão de um grupo de instâncias não gerenciadas simplesmente dissolve o agrupamento lógico de instâncias.

Para excluir um grupo de instâncias não gerenciadas, use a ferramenta gcloud compute ou a API.

Console

  1. Acesse a página "Grupos de instâncias" no console do GCP.

    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://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Próximas etapas

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

Enviar comentários sobre…

Documentação do Compute Engine