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:
- Configurar um balanceador de carga de rede de passagem interna com back-ends de NEG por zona
- Configurar um balanceador de carga de rede de passagem externa com back-ends de NEG por zona
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:
- Balanceador de carga de aplicativo externo
- Balanceador de carga de aplicativo interno
- Balanceador de carga de rede de proxy externo
- Balanceador de carga de rede de proxy interno
- Exemplo de ponta a ponta: configurar um balanceador de carga de rede de proxy interno regional com back-ends NEG zonais.
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:
- Balanceamento de carga nativo do contêiner por meio da Entrada
- Balanceamento de carga nativo do contêiner por meio de NEGs zonais independentes
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:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - Clique em Criar grupo de endpoints de rede.
- Em Tipo de grupo de endpoints de rede, selecione Tipo de endpoint de rede: zonal.
- Digite o Nome do grupo de endpoints de rede.
- Em Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede (Internet).
- Selecione o Tipo de endpoints dependendo do tipo de balanceador de carga que você está usando.
- Selecione a rede .
- Selecione a sub-rede.
- Selecione a Zona.
- Para redes negativas zonais com apenas endpoints
GCE_VM_IP_PORT
, insira uma Porta padrão. - 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 chamadadefault
.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 parteport
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:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - 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.
- Na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede. Você verá a página Adicionar endpoint de rede.
- 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.
- Para negativos zonais com apenas endpoints
GCE_VM_IP_PORT
, execute as seguintes etapas:- Digite o Endereço IP ou o intervalo do novo endpoint da rede.
- Selecione o Tipo de porta.
- Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
- Se você selecionar Personalizado, insira o Número da porta do endpoint que será usado.
- Para adicionar mais endpoints, clique em Adicionar endpoint da rede e repita as etapas 5 e 6.
- 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 NEGZONE
: 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 endpointsGCE_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:
- Acesse a página "Balanceamento de carga" no Console do Google Cloud.
Acessar a página "Balanceamento de carga" - Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
- Na página Detalhes do balanceador de carga, clique em Editar .
- Na página Editar balanceador de carga, clique em Configuração de back-end.
- Na página Configuração de back-end, clique em Editar .
- Clique em +Adicionar back-end.
- Selecione um Grupo de endpoints de rede zonal e clique em Concluído.
- 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
- Acesse a página Balanceamento de carga no Console do Google Cloud.
Acessar a página "Balanceamento de carga" - Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
- Na página Detalhes do balanceador de carga, clique em Editar .
- Na página Editar balanceador de carga, clique em Configuração de back-end.
- Na página Configuração de back-end, clique em Editar no serviço de back-end do qual você está removendo o NEG.
- Na seção Back-end, localize o NEG que será removido e clique no ícone de lixeira dele.
- 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:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - 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.
- 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:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - 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 redeZONE
: 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:
- Acesse a página "Balanceamento de carga" no Console do Google Cloud.
Acessar a página "Balanceamento de carga" - Clique no nome do balanceador de carga em que está o serviço de back-end a ser editado.
- Na página Detalhes do balanceador de carga, clique em Editar .
- Na página Editar balanceador de carga, clique em Configuração de back-end.
- Na página Configuração de back-end, clique em Editar no serviço de back-end do qual você está removendo o NEG.
- Na seção Back-end, localize o NEG que será removido e clique no ícone de lixeira dele.
- Clique em Atualizar.
Para excluir um grupo de endpoints de rede:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - Localize o grupo de endpoints de rede a ser excluído.
- 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:
- Acesse a página "Grupos de endpoints da rede" no Google Cloud Console.
Acessar a página "Grupos de endpoints de rede" - 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.
- 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.