Como configurar grupos de endpoints de rede no balanceamento de carga

Como configurar grupos de endpoints de rede e adicionar endpoints

Neste documento, você encontra instruções para configurar grupos de endpoints de rede (NEGs) e os endpoints de rede usando a ferramenta de linha de comando gcloud. Antes de configurar os NEGs, leia Network Endpoint Groups in Load Balancing Concepts (em inglês).

Como criar grupos de endpoints de rede

Console


Para criar grupos de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da rede
  2. Clique em CRIAR GRUPO DE ENDPOINTS DA REDE.
  3. Digite o Nome do grupo de endpoints da rede.
  4. Selecione o Local da rede VPC.
  5. Selecione a Rede VPC.
  6. Selecione a Sub-rede.
  7. Selecione a Zona.
  8. Selecione o Tipo de endpoint da rede.
  9. Digite a Porta padrão do endpoint da rede.
  10. Clique em Criar.

gcloud


Para criar grupos de endpoints de rede, use o seguinte comando gcloud:

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 omitido, o GCP usará uma rede chamada default.
  • [SUBNET] é o nome da sub-rede a que pertencem todos os endpoints da rede. Essa sinalização é opcional se for uma rede de modo automático. Se ela for omitida, o NEG será criado na sub-rede criada automaticamente da região que contém a zona selecionada. A sinalização é 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 da "porta" pode ser omitida da especificação do endpoint e da porta padrão.

Exemplo:

gcloud compute network-endpoint-groups create my-lb-neg \
    --network=my-network \
    --subnet=my-subnet \
    --default-port=80  \
    --zone=asia-southeast1-a

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 Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da 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 da rede.
  3. Na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede. Você verá a página Adicionar endpoint da 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 e a sub-rede da VM.
  5. Digite o Endereço IP ou o intervalo do novo endpoint da rede.
  6. Selecione o Tipo de porta.
    1. Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
    2. Se você selecionar Personalizado, insira o Número da porta do endpoint que será usado.
  7. Para adicionar mais endpoints, clique em Adicionar endpoint da rede e repita as etapas 5 e 6.
  8. 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 ...]

No comando acima:

  • [NEG_NAME] é o nome do NEG.
  • [ZONE] é o nome da zona em que o NEG foi criado.
  • [INSTANCE_NAME] é o nome da instância de VM a que o endereço IP pertence.
  • [IP_ADDRESS] é o endereço IP do endpoint da rede que está sendo adicionado.
  • [PORT] é a porta do endpoint da rede que está sendo adicionado. A porta é opcional se a porta padrão for especificada no NEG.

Exemplo:

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 grupo de endpoints de rede 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 Platform.
    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 no lápis EDITAR.
  4. Na página Editar balanceador de carga, clique em Configuração de back-end.
  5. Na página de Configuração do back-end, clique no lápis para editar.
  6. Clique em +Adicionar back-end.
  7. Selecione um Grupo de endpoints da rede 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]]

Exemplo:

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 grupo de endpoints de rede de um serviço de back-end

Console


  1. Acesse a página "Balanceamento de carga" no Console do Google Cloud Platform.
    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 no lápis 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 no lápis de edição do serviço de back-end em que está o NEG a ser removido.
  6. Na seção *Back-end, localize o NEG a ser removido e clique no ícone de lixeira para esse NEG.
  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 Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da 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 da 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 ...

Exemplo:

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


Para ver uma lista de grupos de endpoints de rede, acesse a página Grupos de endpoints da rede no Console do Google Cloud Platform.
Acessar a página Grupos de endpoints da 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 Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da 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]

Acima, [NEG_NAME] é o nome do grupo de endpoints da rede. [ZONE], que é opcional, é o nome da zona em que o NEG foi criado.

Por exemplo, com o comando gcloud a seguir, é possível listar informações sobre o grupo de endpoints da 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/beta/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/beta/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 Platform.
    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 no lápis 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 no lápis de edição do serviço de back-end em que está o NEG a ser removido.
  6. Na seção *Back-end, localize o NEG a ser removido e clique no ícone de lixeira para esse NEG.
  7. Clique em Atualizar.

Para excluir um grupo de endpoints de rede:

  1. Acesse a página "Grupos de endpoints da rede" no Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da rede
  2. Localize o grupo de endpoints da 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 Console do Google Cloud Platform.
    Acessar a página Grupos de endpoints da 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 da rede, em que estão listados os endpoints do grupo de endpoints.

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]

Verificação de integridade de endpoints de rede

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

  • uma porta fixa (numerada) (--port)
  • configurada para usar a porta de exibição do endpoint da rede (--use-serving-port)

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

Não é possível usar uma verificação de integridade legada com um back-end que seja um grupo de endpoints da rede. Para saber mais informações, consulte Conceitos de verificação de integridade.

Exemplo de grupo de endpoints de rede do balanceamento de carga

O exemplo a seguir cria um grupo de endpoints de rede de balanceamento de carga, anexa três endpoints de rede ao NEG e lista os endpoints. Isso pressupõe que você tenha três VMs com serviços sendo executados nas portas.

  1. Crie uma sub-rede, endereços IP de alias e duas VMs.

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=192.168.0.0/16
    
    gcloud compute instances create vm1 --zone asia-southeast1-a \
        --network-interface \
        "subnet=subnet-a,aliases=r1:192.168.0.0/24;secondaryrange1:192.168.1.0/24"
    
    gcloud compute instances create vm2 --zone asia-southeast1-a \
        --network-interface \
        "subnet=subnet-a,aliases=r1:192.168.2.0/24"
    
  2. Crie o NEG. Observe que é possível ter vários NEGs na mesma zona.

    gcloud compute network-endpoint-groups create neg1 \
         --zone=asia-southeast1-a \
         --network=network-a --subnet=subnet-a \
         --default-port=80
    
        Created [https://www.googleapis.com/compute/beta/projects/project/zones/asia-southeast1-a/networkEndpointGroups/my-lb-neg].
        NAME       LOCATION       TYPE            ENDPOINT_TYPE   DEFAULT_PORT ENDPOINTS
        neg1  asia-southeast1-a  LOAD_BALANCING  80           0
    
  3. Adicione endpoints ao NEG.

    gcloud compute network-endpoint-groups update neg1 \
       --zone=asia-southeast1-a
       --add-endpoint ‘instance=vm1,ip=192.168.0.1’ \
       --add-endpoint ‘instance=vm1,ip=192.168.0.1,port=8080’ \
       --add-endpoint ‘instance=vm1,ip=192.168.1.2,port=8088’ \
       --add-endpoint ‘instance=vm1,ip=192.168.1.2,port=8080’ \
       --add-endpoint ‘instance=vm2,ip=192.168.2.1,port=8088’ \
       --add-endpoint ‘instance=vm2,ip=192.168.2.2,port=8080’
    
  4. Crie uma verificação de integridade.

    gcloud compute health-checks create http healthcheck1 --use-serving-port
    
  5. Crie o serviço de back-end:

    gcloud compute backend-services create backendservice1 --global --health-checks healthcheck1
    
  6. Adicione um back-end ao serviço de back-end:

    gcloud compute backend-services add-backend backendService1 --global \
       --network-endpoint-group=neg1 \
       --network-endpoint-group-zone=asia-southeast1-a \
       --balancing-mode=RATE --max-rate-per-endpoint=5
    
  7. Crie um mapa de URLs:

    gcloud compute url-maps create urlmap1 --default-service backendservice1
    
  8. Crie o proxy de destino.

    gcloud compute target-http-proxies create httpproxy1 --url-map urlmap1
    
  9. Crie a regra de encaminhamento.

    gcloud compute forwarding-rules create forwardingrule1 \
        --ip-protocol http --ports=80 --global --target-http-proxy httpproxy1
    
  10. Criar as regras de firewall.

    gcloud compute firewall-rules create allow-load-balancer \
        --network network-a \
        --source-ranges 130.211.0.0/22,35.191.0.0/16 \
        --target-tags lb \
        --allow tcp
    
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…