Google Cloud Os balanceadores de carga de rede de proxy externo global permitem-lhe usar um único endereço IP para todos os utilizadores em todo o mundo. Os equilibradores de carga de rede de proxy externo global encaminham automaticamente o tráfego para instâncias de back-end mais próximas do utilizador.
Esta página contém instruções para configurar um balanceador de carga de rede de proxy externo global com um proxy TCP de destino e back-ends de grupo de instâncias de VMs. Antes de começar, leia a vista geral do equilibrador de carga de rede do proxy externo para obter informações detalhadas sobre o funcionamento destes equilibradores de carga.
Vista geral da configuração
Este exemplo demonstra como configurar um Network Load Balancer de proxy externo para um serviço que existe em duas regiões: região A e região B.
Para efeitos do exemplo, o serviço é um conjunto de servidores Apache configurados para responder na porta 110. Muitos navegadores não permitem a porta 110, pelo que a secção de testes usa curl.
Neste exemplo, configura o seguinte:
- Quatro instâncias distribuídas entre duas regiões
- Grupos de instâncias, que contêm as instâncias
- Uma verificação de funcionamento para validar o estado de funcionamento da instância
- Um serviço de back-end que monitoriza as instâncias e impede que excedam a utilização configurada
- O proxy TCP de destino
- Um endereço IPv4 estático externo e uma regra de encaminhamento que envia tráfego de utilizadores para o proxy
- Um endereço IPv6 estático externo e uma regra de encaminhamento que envia tráfego de utilizadores para o proxy
- Uma regra de firewall que permite que o tráfego do balanceador de carga e do verificador de estado de funcionamento alcance as instâncias
Depois de configurar o balanceador de carga, teste a configuração.
Autorizações
Para seguir este guia, tem de conseguir criar instâncias e modificar uma rede num projeto. Tem de ser proprietário ou editor do projeto, ou ter todas as seguintes funções do IAM do Compute Engine:
| Tarefa | Função necessária |
|---|---|
| Crie redes, sub-redes e componentes do balanceador de carga | Administrador da rede |
| Adicione e remova regras de firewall | Administrador de segurança |
| Crie instâncias | Administrador de instâncias do Compute |
Para mais informações, consulte os seguintes guias:
Configure a rede e as sub-redes
Para criar a rede e a sub-rede de exemplo, siga estes passos.
Consola
Para suportar o tráfego IPv4 e IPv6, siga estes passos:
Na Google Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
Introduza um Nome para a rede.
Opcional: se quiser configurar intervalos de endereços IPv6 internos em sub-redes nesta rede, conclua estes passos:
- Para o intervalo IPv6 interno ULA da rede VPC, selecione Ativado.
Para Atribuir intervalo IPv6 interno, selecione Automaticamente ou Manualmente.
Se selecionar Manualmente, introduza um intervalo de
/48no intervalo defd20::/20. Se o intervalo estiver em uso, é-lhe pedido que faculte um intervalo diferente.
Para o Modo de criação de sub-rede, escolha Personalizado.
Na secção Nova sub-rede, configure os seguintes campos:
- No campo Nome, indique um nome para a sub-rede.
- No campo Região, selecione uma região.
- Para o Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
No campo Intervalo de endereços IP, introduza um intervalo de endereços IP. Este é o intervalo IPv4 principal para a sub-rede.
Embora possa configurar um intervalo de endereços IPv4 para a sub-rede, não pode escolher o intervalo de endereços IPv6 para a sub-rede. A Google fornece um bloco CIDR IPv6 de tamanho fixo (
/64).Para o tipo de acesso IPv6, selecione Externo.
Clique em Concluído.
Para adicionar uma sub-rede numa região diferente, clique em Adicionar sub-rede e repita os passos anteriores.
Clique em Criar.
Para suportar apenas tráfego IPv4, siga os passos seguintes:
Na Google Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
No campo Nome, introduza um nome para a rede.
Para o Modo de criação de sub-rede, escolha Personalizado.
Na secção Nova sub-rede, configure o seguinte:
- No campo Nome, indique um nome para a sub-rede.
- No campo Região, selecione uma região.
- Para o Tipo de pilha de IP, selecione IPv4 (pilha única).
- No campo Intervalo de endereços IP, introduza o intervalo IPv4 principal para a sub-rede.
Clique em Concluído.
Para adicionar uma sub-rede numa região diferente, clique em Adicionar sub-rede e repita os passos anteriores.
Clique em Criar.
gcloud
Crie a rede VPC de modo personalizado:
gcloud compute networks create NETWORK \ --subnet-mode=customNa rede, crie uma sub-rede para back-ends.
Para o tráfego IPv4 e IPv6, use o seguinte comando para atualizar uma sub-rede:
gcloud compute networks subnets create SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --range=IPV4_RANGE \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --range=IPV4_RANGE_B \ --region=REGION_B
Para tráfego IPv4 apenas, use o seguinte comando:
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=IPV4_RANGE \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=IPV4_RANGE_B \ --region=REGION_B
Substitua o seguinte:
NETWORK: um nome para a rede VPCIPV4_RANGE: o intervalo IPv4 principal para a nova sub-rede, na notação CIDR. Por exemplo,10.1.2.0/24.SUBNET: um nome para a sub-rede
REGION_AouREGION_B: o nome da região
Configure back-ends de grupos de instâncias
Esta secção mostra como criar grupos de instâncias básicos, adicionar instâncias aos mesmos e, em seguida, adicionar essas instâncias a um serviço de back-end com uma verificação de estado. Normalmente, um sistema de produção usaria grupos de instâncias geridos com base em modelos de instâncias, mas esta configuração é mais rápida para os testes iniciais.
Configure instâncias
Para fins de teste, instale o Apache em quatro instâncias, duas em cada um de dois grupos de instâncias. Normalmente, os balanceadores de carga de rede de proxy externos não são usados para tráfego HTTP, mas o software Apache é usado frequentemente para testes.
Neste exemplo, as instâncias são criadas com a etiqueta tcp-lb. Esta etiqueta é usada posteriormente pela regra de firewall.
Consola
Crie instâncias
Na Google Cloud consola, aceda à página Instâncias de VM.
Clique em Criar instância.
Defina Nome como
vm-a1.Defina a Região como
REGION_A.Defina a Zona como
ZONE_A.Clique em Opções avançadas.
Clique em Rede e configure o seguinte campo:
- Para etiquetas de rede, introduza
tcp-lb,allow-health-check-ipv6.
Para suportar o tráfego IPv4 e IPv6, siga estes passos:
- Na secção Interfaces de rede, clique em
Editar e faça as seguintes alterações:
- Rede:
NETWORK - Subnet:
SUBNET - Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
- Rede:
- Clique em Concluído
- Para etiquetas de rede, introduza
Clique em Gestão. Introduza o seguinte script no campo Script de arranque.
sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
Clique em Criar.
Crie
vm-a2com as mesmas definições, exceto com o seguinte script no campo Script de arranque:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
Crie
vm-b1com as mesmas definições, exceto com a região definida comoREGION_Be a zona definida comoZONE_B. Introduza o seguinte script no campo Script de arranque:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
Crie
vm-b2com as mesmas definições, exceto com a região definida comoREGION_Be a zona definida comoZONE_B. Introduza o seguinte script no campo Script de arranque:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html
gcloud
Crie
vm-a1na zonaZONE_Agcloud compute instances create vm-a1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | tee /var/www/html/index.html EOF"Crie
vm-a2na zonaZONE_Agcloud compute instances create vm-a2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | tee /var/www/html/index.html EOF"Crie
vm-b1na zonaZONE_Bgcloud compute instances create vm-b1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | tee /var/www/html/index.html EOF"Crie
vm-b2na zonaZONE_Bgcloud compute instances create vm-b2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | tee /var/www/html/index.html EOF"
Crie grupos de instâncias
Nesta secção, cria um grupo de instâncias em cada zona e adiciona as instâncias.
Consola
Na Google Cloud consola, aceda à página Grupos de instâncias.
Clique em Criar grupo de instâncias.
Clique em Novo grupo de instâncias não gerido.
Defina o Nome como
instance-group-a.Defina a Zona como
ZONE_A.Em Mapeamento de portas, clique em Adicionar porta. Um balanceador de carga envia tráfego para um grupo de instâncias através de uma porta designada. Crie uma porta com nome para mapear o tráfego de entrada para um número de porta específico.
- Defina Nome da portabilidade como
tcp110. - Defina Transferir números como
110.
- Defina Nome da portabilidade como
Em Instâncias de VM, selecione
vm-a1evm-a2.Deixe as outras definições como estão.
Clique em Criar.
Repita os passos, mas defina os seguintes valores:
- Nome:
instance-group-b - Região:
REGION_B - Zona:
ZONE_B - Nome da porta:
tcp110 - Números de portas:
110 - Instâncias: vm-b1 e vm-b2.
- Nome:
gcloud
Crie o grupo de instâncias
instance-group-a.gcloud compute instance-groups unmanaged create instance-group-a \ --zone ZONE_A
Crie uma porta com nome para o grupo de instâncias.
gcloud compute instance-groups set-named-ports instance-group-a \ --named-ports tcp110:110 \ --zone ZONE_A
Adicione
vm-a1evm-a2ainstance-group-a.gcloud compute instance-groups unmanaged add-instances instance-group-a \ --instances vm-a1,vm-a2 \ --zone ZONE_A
Crie o grupo de instâncias
us-ig2.gcloud compute instance-groups unmanaged create instance-group-b \ --zone ZONE_B
Crie uma porta com nome para o grupo de instâncias.
gcloud compute instance-groups set-named-ports instance-group-b \ --named-ports tcp110:110 \ --zone ZONE_B
Adicione
vm-b1evm-b2a instance-group-bgcloud compute instance-groups unmanaged add-instances instance-group-b \ --instances vm-b1,vm-b2 \ --zone ZONE_B
Agora, tem um grupo de instâncias por região. Cada grupo de instâncias tem duas instâncias de VM.
Crie uma regra de firewall para o balanceador de carga de rede de proxy externo
Configure a firewall para permitir o tráfego do balanceador de carga e do verificador de estado para as instâncias. Neste caso, vamos abrir a porta TCP 110. A verificação de estado vai usar a mesma porta. Uma vez que o tráfego entre o equilibrador de carga e as suas instâncias usa IPv4, só é necessário abrir intervalos IPv4.
Consola
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em Criar regra de firewall.
No campo Nome, introduza
allow-tcp-lb-and-health.Selecione uma rede.
Em Segmentações, selecione Etiquetas de segmentação especificadas.
Defina as etiquetas de destino como
tcp-lb.Defina o Filtro de origem como Intervalos IPv4.
Defina os Intervalos de IPv4 de origem para
130.211.0.0/2235.191.0.0/16.Em Protocolos e portas, defina Protocolos e portas especificados como
tcp:110.Clique em Criar.
gcloud
gcloud compute firewall-rules create allow-tcp-lb-and-health \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --target-tags tcp-lb \ --allow tcp:110
Crie uma regra de firewall de verificação de funcionamento de IPv6
Certifique-se de que tem uma regra de entrada aplicável às instâncias com balanceamento de carga e que permite o tráfego dos sistemas de verificação de funcionamento (2600:2d00:1:b029::/64). Este exemplo usa a etiqueta de destino allow-health-check-ipv6 para identificar as instâncias de VM às quais se aplica. Google Cloud
Sem esta regra de firewall, a regra de negação predefinida de entrada bloqueia o tráfego IPv6 de entrada para as instâncias de back-end.
Consola
Na Google Cloud consola, aceda à página Políticas de firewall.
Para permitir o tráfego de sub-rede IPv6, clique novamente em Criar regra de firewall e introduza as seguintes informações:
- Nome:
fw-allow-lb-access-ipv6 - Selecione a rede.
- Prioridade:
1000 - Direção do trânsito: entrada
- Objetivos: etiquetas de destino especificadas
- Etiquetas de segmentação:
allow-health-check-ipv6 - Filtro de origem: intervalos IPv6
- Intervalos IPv6 de origem:
2600:2d00:1:b029::/64,2600:2d00:1:1::/64 - Protocolos e portas: Permitir tudo
- Nome:
Clique em Criar.
gcloud
Crie a regra de firewall fw-allow-lb-access-ipv6 para permitir a comunicação
com a sub-rede:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
Configure o balanceador de carga
Consola
Inicie a configuração
Na Google Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Criar equilibrador de carga.
- Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
- Para Proxy ou passagem, selecione Proxy de balanceamento de carga e clique em Seguinte.
- Para Público ou interno, selecione Público (externo) e clique em Seguinte.
- Para a Implementação global ou de região única, selecione Melhor para cargas de trabalho globais e clique em Seguinte.
- Para Geração do balanceador de carga, selecione Balanceador de carga de rede de proxy externo global e clique em Seguinte.
- Clique em Configurar.
Configuração básica
Defina o Nome como my-tcp-lb.
Configuração do back-end
- Clique em Configuração de back-end.
- Na lista Tipo de back-end, selecione Grupos de instâncias.
- Na lista Protocolo, selecione TCP.
- Na lista Política de seleção de endereços IP, selecione Preferir IPv6.
- Configure a verificação de estado:
- Na lista Verificação de funcionamento, selecione Criar verificação de funcionamento.
- No campo Nome, introduza
my-tcp-health-check. - Na lista Protocolo, selecione TCP.
- No campo Porta, introduza
110. - Mantenha os restantes valores predefinidos.
- Clique em Criar.
- Configure o primeiro back-end:
- Em Novo back-end, selecione o grupo de instâncias
instance-group-a. - Mantenha os restantes valores predefinidos.
- Em Novo back-end, selecione o grupo de instâncias
- Configure o segundo back-end:
- Para Tipo de pilha de IP, selecione
IPv4 and IPv6 (dual-stack). - Clique em Adicionar back-end.
- Selecione o grupo de instâncias
instance-group-b. - Em Números de portas, elimine
80e adicione110.
Para suportar o tráfego IPv4 e IPv6:
- Para Tipo de pilha de IP, selecione
- Na Google Cloud consola, verifique se existe uma marca de verificação junto a Configuração de back-end. Caso contrário, verifique novamente se concluiu todos os passos.
Configuração do frontend
- Clique em Configuração do front-end.
- Adicione a primeira regra de encaminhamento:
- Introduza um Nome de
my-tcp-lb-forwarding-rule. - Em Protocolo, selecione TCP.
- Em Endereço IP, selecione Criar endereço IP:
- Introduza um Nome de
tcp-lb-static-ip. - Clique em Reservar.
- Introduza um Nome de
- Defina Porta como
110. - Neste exemplo, não ative o protocolo proxy porque não funciona com o software do servidor HTTP Apache. Para mais informações, consulte o artigo Protocolo de proxy.
- Clique em Concluído.
- Introduza um Nome de
Na Google Cloud consola, verifique se existe uma marca de verificação junto a Configuração do front-end. Caso contrário, verifique novamente se concluiu todos os passos anteriores.
Reveja e finalize
- Clique em Rever e finalizar.
- Reveja as definições de configuração do equilibrador de carga.
- Opcional: clique em Código equivalente para ver o pedido da API REST que vai ser usado para criar o balanceador de carga.
- Clique em Criar.
gcloud
- Crie uma verificação de funcionamento.
gcloud compute health-checks create tcp my-tcp-health-check --port 110 - Crie um serviço de back-end.
gcloud beta compute backend-services create my-tcp-lb \ --load-balancing-scheme EXTERNAL_MANAGED \ --global-health-checks \ --global \ --protocol TCP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks my-tcp-health-check \ --timeout 5m \ --port-name tcp110Em alternativa, pode configurar a comunicação encriptada do balanceador de carga para as instâncias com
--protocol SSL. Adicione grupos de instâncias ao seu serviço de back-end.
gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-a \ --instance-group-zone ZONE_A \ --balancing-mode UTILIZATION \ --max-utilization 0.8gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-b \ --instance-group-zone ZONE_B \ --balancing-mode UTILIZATION \ --max-utilization 0.8- Configure um proxy TCP de destino. Se quiser ativar o
cabeçalho do proxy, defina-o como
PROXY_V1em vez deNONE.gcloud beta compute target-tcp-proxies create my-tcp-lb-target-proxy \ --backend-service my-tcp-lb \ --proxy-header NONE - Reserve endereços IPv4 e IPv6 estáticos globais.
Os seus clientes podem usar estes endereços IP para aceder ao seu serviço com balanceamento de carga.
gcloud compute addresses create tcp-lb-static-ipv4 \ --ip-version=IPV4 \ --globalgcloud compute addresses create tcp-lb-static-ipv6 \ --ip-version=IPV6 \ --global - Configure regras de encaminhamento globais para os dois endereços.
gcloud beta compute forwarding-rules create my-tcp-lb-ipv4-forwarding-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --global \ --target-tcp-proxy my-tcp-lb-target-proxy \ --address tcp-lb-static-ipv4 \ --ports 110
Teste o balanceador de carga
Obtenha o endereço IP do balanceador de carga.
Para obter o endereço IPv4, execute o seguinte comando:
gcloud compute addresses describe tcp-lb-static-ipv4
Para obter o endereço IPv6, execute o seguinte comando:
gcloud compute addresses describe tcp-lb-static-ipv6
Envie tráfego para o balanceador de carga executando o seguinte comando. Substitua
LB_IP_ADDRESSpelo endereço IPv4 ou IPv6 do seu equilibrador de carga.curl -m1 LB_IP_ADDRESS:110
Por exemplo, se o endereço IPv6 atribuído for
[2001:db8:1:1:1:1:1:1/96]:110, o comando deve ter o seguinte aspeto:curl -m1 http://[2001:db8:1:1:1:1:1:1]:110
Se não conseguir aceder ao equilibrador de carga, experimente os passos descritos em Resolução de problemas da configuração.
Opções de configuração adicionais
Esta secção expande o exemplo de configuração para oferecer opções de configuração alternativas e adicionais. Todas as tarefas são opcionais. Pode realizá-las por qualquer ordem.
Protocolo PROXY para reter informações de ligação do cliente
O Network Load Balancer de proxy termina as ligações TCP do cliente e cria novas ligações às instâncias. Por predefinição, as informações de porta e IP do cliente original não são preservadas.
Para preservar e enviar as informações de ligação originais para as suas instâncias, ative o protocolo PROXY versão 1. Este protocolo envia um cabeçalho adicional que contém o endereço IP de origem, o endereço IP de destino e os números das portas para a instância como parte do pedido.
Certifique-se de que as instâncias de back-end do balanceador de carga de rede do proxy estão a executar servidores que suportam cabeçalhos do protocolo PROXY. Se os servidores não estiverem configurados para suportar cabeçalhos do protocolo PROXY, as instâncias de back-end devolvem respostas vazias.
Se definir o protocolo PROXY para o tráfego de utilizadores, também o pode definir para as verificações de funcionamento. Se estiver a verificar o estado de funcionamento e a publicar conteúdo na mesma porta, defina o --proxy-header da verificação de funcionamento de modo a corresponder à definição do balanceador de carga.
Normalmente, o cabeçalho do protocolo PROXY é uma única linha de texto legível pelo utilizador no seguinte formato:
PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n
O exemplo seguinte mostra um protocolo PROXY:
PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n
No exemplo anterior, o IP do cliente é 192.0.2.1, o IP de equilíbrio de carga é 198.51.100.1, a porta do cliente é 15221 e a porta de destino é 110.
Quando o IP do cliente não é conhecido, o balanceador de carga gera um cabeçalho do protocolo PROXY no seguinte formato:
PROXY UNKNOWN\r\n
Atualize o cabeçalho do protocolo PROXY para o proxy de destino
A configuração de exemplo do balanceador de carga nesta página mostra como ativar o cabeçalho do protocolo PROXY durante a criação do balanceador de carga de rede do proxy. Use estes passos para alterar o cabeçalho do protocolo PROXY para um proxy de destino existente.
Consola
Na Google Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Editar para o equilibrador de carga.
- Clique em Configuração do front-end.
- Altere o valor do campo Protocolo proxy para Ativado.
- Clique em Atualizar para guardar as alterações.
gcloud
No comando seguinte, edite o campo --proxy-header e defina-o como NONE ou PROXY_V1, consoante o seu requisito.
gcloud compute target-tcp-proxies update TARGET_PROXY_NAME \
--proxy-header=[NONE | PROXY_V1]
Configure a afinidade de sessão
A configuração de exemplo cria um serviço de back-end sem afinidade de sessão.
Estes procedimentos mostram como atualizar um serviço de back-end para o exemplo do equilibrador de carga, de modo que o serviço de back-end use a afinidade de IP do cliente ou a afinidade de cookies gerados.
Quando a afinidade de IP do cliente está ativada, o balanceador de carga direciona os pedidos de um cliente específico para a mesma VM de back-end com base num hash criado a partir do endereço IP do cliente e do endereço IP do balanceador de carga (o endereço IP externo de uma regra de encaminhamento externo).
Consola
Para ativar a afinidade de sessão de IP do cliente:
Na Google Cloud consola, aceda à página Equilíbrio de carga.
Clique em Back-ends.
Clique em my-tcp-lb (o nome do serviço de back-end que criou para este exemplo) e clique em Editar.
Na página Detalhes do serviço de back-end, clique em Configuração avançada.
Em Afinidade de sessão, selecione IP do cliente no menu.
Clique em Atualizar.
gcloud
Use o seguinte comando da CLI Google Cloud para atualizar o serviço de back-end, especificando a afinidade da sessão do IP do cliente:my-tcp-lb
gcloud compute backend-services update my-tcp-lb \
--global \
--session-affinity=CLIENT_IP
API
Para definir a afinidade de sessão do IP do cliente, faça um pedido PATCH ao método
backendServices/patch.
PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-tcp-lb
{
"sessionAffinity": "CLIENT_IP"
}
Ative a drenagem de ligações
Pode ativar a drenagem de ligações nos serviços de back-end para garantir uma interrupção mínima para os seus utilizadores quando uma instância que está a servir tráfego é terminada, removida manualmente ou removida por um escalador automático. Para saber mais sobre a drenagem de ligações, leia a documentação Ativar a drenagem de ligações.
O que se segue?
- Converta o Network Load Balancer de proxy para IPv6
- Vista geral do External proxy Network Load Balancer
- Registo e monitorização do Proxy Network Load Balancer
- Converta em back-ends de pilha dupla
- Limpe uma configuração de equilíbrio de carga