Como configurar NEGs por zona

Este documento contém instruções para configurar grupos de endpoints de rede (NEGs, na sigla em inglês) zonais. Antes de configurá-los, leia a Visão geral dos grupos de endpoints de rede.

NEGs zonais com endpoints GCE_VM_IP

Eles podem ser usados como back-ends para serviços de back-end em balanceadores de carga de rede de passagem interna e em balanceadores de carga de rede de passagem externa. Para detalhes, consulte Visão geral de NEGs zonais: balanceamento de carga.

Para exemplos completos, consulte o seguinte:

NEGs zonais com endpoints GCE_VM_IP_PORT

Eles podem ser usados como back-ends para serviços de back-end nos seguintes tipos de balanceadores de carga:

O principal caso de uso de NEGs zonais GCE_VM_IP_PORT é o balanceamento de carga nativo do contêiner para distribuir o tráfego entre microsserviços executados em contêineres nas VMs. O balanceamento de carga nativo do contêiner permite que os balanceadores de carga segmentem pods diretamente e tomem a decisão de distribuição de carga no nível do pod, e não no nível da VM.

Há duas maneiras de configurar o balanceamento de carga nativo do contêiner: pelos NEGs gerenciados pela Entrada do GKE ou pelos NEGs independentes.

Para instruções, consulte:

Como configurar NEGs zonais

O restante desta página descreve como configurar NEGs zonais antes ou depois de criar um balanceador de carga. Algumas dessas ações não se aplicam aos NEGs zonais criados e gerenciados pela Entrada.

Criar um grupo de endpoints de rede zonais

Console

Para criar um grupo de endpoints de rede zonal:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Clique em Criar grupo de endpoints de rede.
  3. Em Tipo de grupo de endpoints de rede, selecione Tipo de endpoint de rede: zonal.
  4. Digite o Nome do grupo de endpoints de rede.
  5. Em Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede (Internet).
  6. Selecione o Tipo de endpoints dependendo do tipo de balanceador de carga que você está usando.
  7. Selecione a rede .
  8. Selecione a sub-rede.
  9. Selecione a Zona.
  10. Para redes negativas zonais com apenas endpoints GCE_VM_IP_PORT, insira uma Porta padrão.
  11. Clique em Criar.

gcloud

Criar um NEG zonal GCE_VM_IP_PORT

gcloud compute network-endpoint-groups create NEG_NAME \
    --zone=ZONE \
    --network=NETWORK
    [--subnet=SUBNET]
    [--default-port=DEFAULT_PORT]

Nesse comando, as sinalizações são definidas da seguinte maneira:

  • NEG_NAME é o nome do novo grupo de endpoints da rede. É preciso que o nome seja exclusivo no namespace.
  • ZONE é o nome da zona em que o NEG foi criado;
  • NETWORK é o nome da rede em que o NEG foi criado; Se omitida, o Google Cloud usará uma rede chamada default.
  • SUBNET é o nome da sub-rede a que os endpoints de rede pertencem. Essa flag é opcional se for uma rede VPC de modo automático. Se omitida, o NEG ficará na sub-rede criada automaticamente da região da zona selecionada. A flag é necessária se for uma rede de modo personalizado ou se você precisar especificar uma sub-rede criada manualmente.
  • DEFAULT_PORT é a porta padrão associada ao NEG. Essa sinalização é opcional. Se omitida, será preciso especificar todos os endpoints por porta IP. Se incluída, a parte port pode ser omitida da especificação do endpoint, e a porta padrão é utilizada.

Criar um NEG zonal GCE_VM_IP

Para criar um grupo de endpoints de rede zonal GCE_VM_IP, é preciso especificar o network-endpoint-type como mostrado aqui: gcloud compute network-endpoint-groups create

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=gce-vm-ip \
    --zone=ZONE \
    --network=NETWORK
    --subnet=SUBNET

Nesse comando, as sinalizações são definidas da seguinte maneira:

  • NEG_NAME é o nome do novo grupo de endpoints da rede. É preciso que o nome seja exclusivo no namespace.
  • ZONE é o nome da zona em que o NEG foi criado;
  • NETWORK é o nome da rede em que o NEG foi criado;
  • SUBNET é o nome da sub-rede a que os endpoints de rede pertencem.

Como adicionar endpoints a um grupo de endpoints de rede

Console

Para adicionar endpoints a um grupo de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Clique no Nome do grupo de endpoints da rede em que você quer adicionar endpoints. Você verá a página Detalhes do grupo de endpoints de rede.
  3. Na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede. Você verá a página Adicionar endpoint de rede.
  4. Selecione uma Instância de VM para adicionar seus endereços IP internos como endpoints da rede e clique em Adicionar. Você verá a Interface de rede, a zona, a sub-rede e o endereço IP interno da interface da VM atribuída ao endpoint.
  5. Para negativos zonais com apenas endpoints GCE_VM_IP_PORT, execute as seguintes etapas:
    1. Digite o Endereço IP ou o intervalo do novo endpoint da rede.
    2. Selecione o Tipo de porta.
    3. Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
    4. Se você selecionar Personalizado, insira o Número da porta do endpoint que será usado.
  6. Para adicionar mais endpoints, clique em Adicionar endpoint da rede e repita as etapas 5 e 6.
  7. Depois de adicionar todos os endpoints necessários, clique em Adicionar.

gcloud

Para adicionar endpoints a um grupo de endpoints de rede:

gcloud compute network-endpoint-groups update NEG_NAME \
    --zone=ZONE \
    --add-endpoint 'instance=INSTANCE_NAME,[ip=IP_ADDRESS],[port=PORT]' \
    [--add-endpoint ...]

Substitua:

  • NEG_NAME: o nome do NEG
  • ZONE: o nome da zona em que o NEG está localizado.
  • INSTANCE_NAME: o nome da VM a que o endereço IP pertence.
  • IP_ADDRESS: um endereço IP opcional para o endpoint de rede que está sendo adicionado. Se você omitir o endereço IP, o Google Cloud selecionará o endereço IP interno principal da instância de VM que corresponde à sub-rede do NEG.
  • PORT: a porta do endpoint da rede que está sendo adicionado. A porta é opcional se a porta padrão for especificada no NEG. Esse campo não é compatível com NEGs zonais com endpoints GCE_VM_IP.

Para mais detalhes, consulte Visão geral de grupos de endpoints de rede zonais.

Por exemplo, para adicionar endpoints a um NEG zonal GCE_VM_IP_PORT, faça o seguinte:

gcloud compute network-endpoint-groups update my-lb-neg \
    --zone=asia-southeast1-a \
    --add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80'

Como adicionar um NEG zonal a um serviço de back-end

Console

Para adicionar um grupo de endpoints de rede a um serviço de back-end:

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
  3. Na página Detalhes do balanceador de carga, clique em Editar .
  4. Na página Editar balanceador de carga, clique em Configuração de back-end.
  5. Na página Configuração de back-end, clique em Editar .
  6. Clique em +Adicionar back-end.
  7. Selecione um Grupo de endpoints de rede zonal e clique em Concluído.
  8. Clique em Atualizar.

gcloud

Para adicionar um NEG a um serviço de back-end:

gcloud compute backend-services add-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

Por exemplo, para adicionar um NEG zonal GCE_VM_IP_PORT a um serviço de back-end:

gcloud compute backend-services add-backend my-lb \
   --network-endpoint-group my-lb-neg \
   --network-endpoint-group-zone=asia-southeast1-a \
   --global \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=5

Como remover um NEG de um serviço de back-end

Console

  1. Acesse a página Balanceamento de carga no Console do Google Cloud.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
  3. Na página Detalhes do balanceador de carga, clique em Editar .
  4. Na página Editar balanceador de carga, clique em Configuração de back-end.
  5. Na página Configuração de back-end, clique em Editar no serviço de back-end do qual você está removendo o NEG.
  6. Na seção Back-end, localize o NEG que será removido e clique no ícone de lixeira dele.
  7. Clique em Atualizar.

gcloud

Para remover um NEG de um serviço de back-end:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
    --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
    --network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE

Exemplo:

gcloud compute backend-services remove-backend my-lb \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=asia-southeast1-a

Como remover endpoints de um grupo de endpoints de rede

Quando um endpoint de rede é removido de um NEG de balanceamento de carga, a diminuição da conexão é acionada com base nos parâmetros de diminuição especificados no serviço de back-end. Se vários serviços de back-end fizerem referência ao mesmo NEG, será aplicado o intervalo máximo de diminuição a todos os serviços de back-end.

Console

Para remover endpoints de um grupo de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Clique no Nome do grupo de endpoints da rede em que estão os endpoints a serem excluídos. Você verá a página Detalhes do grupo de endpoints de rede.
  3. Selecione os endpoints da rede a serem excluídos e clique em Remover endpoint.

gcloud

Para remover endpoints de um grupo de endpoints de rede:

gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \
[--remove-endpoint ...]

Por exemplo, para remover um endpoint de um NEG zonal GCE_VM_IP_PORT, faça o seguinte:

gcloud compute network-endpoint-groups update my-lb-neg \
     --remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
     --zone=asia-southeast1-a

Como listar grupos de endpoints de rede

Console

Veja uma lista de grupos de endpoints de rede na página "Grupos de endpoints de rede" no Console do Google Cloud.
Acessar a página "Grupos de endpoints de rede"

gcloud

Para listar grupos de endpoints de rede:

gcloud compute network-endpoint-groups list

Como descrever um grupo de endpoints de rede específico

Console

Para ver os detalhes de um grupo de endpoints de rede específico:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Clique no nome do grupo de endpoints da rede em que estão os detalhes que você quer ver.

gcloud

Para ver os detalhes de um grupo de endpoints de rede específico:

gcloud compute network-endpoint-groups describe NEG_NAME \
    --zone=ZONE

Substitua:

  • NEG_NAME: o nome do grupo de endpoints da rede
  • ZONE: o nome opcional da zona em que o NEG foi criado.

Por exemplo, com o comando gcloud a seguir, você lista informações sobre o grupo de endpoints de rede my-lb-neg.

gcloud compute network-endpoint-groups describe my-lb-neg \
    --zone=asia-southeast1-a

A saída do comando é a seguinte:

    creationTimestamp: '2018-04-09T14:51:34.381-07:00'
    id: '5260475207627726473'
    kind: compute#networkEndpointGroup
    loadBalancer:
      defaultPort: 80
      network: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/asia-southeast1-a

Como remover grupos de endpoints de rede

Um grupo de endpoints de rede não pode ser excluído se estiver conectado a um serviço de back-end. Antes de excluir um NEG, verifique se ele está separado do serviço de back-end.

A exclusão de uma VM faz com que todos os endpoints da rede na VM sejam removidos imediatamente do NEG e causa o fechamento de todas as conexões. Excluir um NEG após a exclusão de um serviço de back-end também remove todos os endpoints nesse NEG sem diminuição da conexão.

Console

Para remover um grupo de endpoints de rede de um serviço de back-end:

  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud.
    Acessar a página "Balanceamento de carga"
  2. Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
  3. Na página Detalhes do balanceador de carga, clique em Editar .
  4. Na página Editar balanceador de carga, clique em Configuração de back-end.
  5. Na página Configuração de back-end, clique em Editar no serviço de back-end do qual você está removendo o NEG.
  6. Na seção Back-end, localize o NEG que será removido e clique no ícone de lixeira dele.
  7. Clique em Atualizar.

Para excluir um grupo de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Localize o grupo de endpoints de rede a ser excluído.
  3. Clique no ícone de lixeira nessa linha.

gcloud

Para remover um grupo de endpoints de rede de um serviço de back-end:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

Para excluir um grupo de endpoints de rede:

gcloud compute network-endpoint-groups delete NEG_NAME \
    --zone=ZONE

Exemplo:

gcloud compute backend-services remove-backend my-neg-backend \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
    --zone=asia-southeast1-a

Como listar endpoints em um grupo de endpoints de rede

Console

Para visualizar uma lista de endpoints em um grupo de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
    Acessar a página "Grupos de endpoints de rede"
  2. Clique no Nome do grupo de endpoints da rede em que estão os endpoints a serem excluídos. Você verá a página Detalhes do grupo de endpoints de rede, em que estão listados os endpoints do grupo.
  3. Para filtrar os endpoints, crie pares de chave-valor no campo de texto em Endpoints de rede neste grupo.

gcloud

Para listar todos os endpoints de rede em um grupo de endpoints de rede:

gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
     --zone=ZONE

Filtragem personalizada ao listar endpoints em um grupo de endpoints de rede

É possível usar um filtro personalizado para limitar quais endpoints de um grupo de endpoints da rede são listados. A filtragem personalizada está ativada apenas para a API REST. Não é possível usar a filtragem personalizada no Console do Google Cloud ou a interface de linha de comando gcloud.

Veja detalhes na documentação do método networkEndpointGroups.listNetworkEndpoints.

Verificação de integridade de endpoints de rede

Os serviços com back-ends de NEG zonal precisam usar uma verificação de integridade em que a especificação da porta seja:

  • fixa e numerada (--port); ou
  • configurada para usar a porta de exibição do endpoint de rede (--use-serving-port).

No exemplo a seguir, você cria uma verificação de integridade HTTP que usa a porta de exibição do endpoint de rede com a sinalização --use-serving-port. A sinalização --use-serving-port é implementada com gcloud compute health-checks create, mas não com gcloud compute health-checks update.

gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME
    --use-serving-port

Não é possível usar uma verificação de integridade legada com um back-end de NEG zonal. Saiba mais em Conceitos da verificação de integridade.