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
/48
no 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=custom
Na 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_A
ouREGION_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
- Rede:
NETWORK
- Subnet:
SUBNET
- Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
Editar e faça as seguintes alterações:
- 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-a2
com 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-b1
com as mesmas definições, exceto com a região definida comoREGION_B
e 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-b2
com as mesmas definições, exceto com a região definida comoREGION_B
e 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-a1
na zonaZONE_A
gcloud 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-a2
na zonaZONE_A
gcloud 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-b1
na zonaZONE_B
gcloud 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-b2
na zonaZONE_B
gcloud 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-a1
evm-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-a1
evm-a2
ainstance-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-b1
evm-b2
a 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/22
35.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
80
e 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 tcp110
Em 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.8
gcloud 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_V1
em 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 \ --global
gcloud 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_ADDRESS
pelo 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