Configure um balanceador de carga de rede de proxy interno regional com back-ends de grupos de instâncias de VM
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Network Load Balancer interno regional é um equilibrador de carga regional da camada 4 baseado em proxy que lhe permite executar e dimensionar o tráfego de serviços TCP atrás de um endereço IP interno acessível apenas a clientes na mesma rede VPC ou a clientes ligados à sua rede VPC.
Este guia contém instruções para configurar um balanceador de carga de rede de proxy interno regional
com um back-end de grupo de instâncias gerido (MIG).
Neste exemplo, vamos usar o balanceador de carga para distribuir o tráfego TCP por VMs de back-end em dois grupos de instâncias geridos zonais na região REGION_A. 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 a seguinte implementação:
Configuração de exemplo do balanceador de carga de rede de proxy interno regional com back-ends de grupos de instâncias
O balanceador de carga de rede de proxy interno regional é um balanceador de carga regional. Todos os componentes do balanceador de carga
(grupos de instâncias de back-end, serviço de back-end, proxy de destino e regra de encaminhamento)
têm de estar na mesma região.
Precisa de uma rede VPC com duas sub-redes: uma para os back-ends do balanceador de carga e outra para os proxies do balanceador de carga.
Os balanceadores de carga de rede de proxy interno regionais são regionais. O tráfego na rede da VPC é encaminhado para o balanceador de carga se a origem do tráfego estiver numa sub-rede na mesma região que o balanceador de carga.
Este exemplo usa a seguinte rede de VPC, região e sub-redes:
Sub-rede para back-ends. Uma sub-rede denominada backend-subnet na região REGION_A usa 10.1.2.0/24 para o respetivo intervalo de IP principal.
Sub-rede para proxies. Uma sub-rede denominada proxy-only-subnet na região REGION_A usa 10.129.0.0/23 para o respetivo intervalo de IP principal.
Para demonstrar o acesso
global, este exemplo
também cria uma segunda VM de cliente de teste numa região diferente (REGION_B)
e uma sub-rede com o intervalo de endereços IP principal 10.3.4.0/24.
Crie a rede e as sub-redes
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Substitua REGION_B pelo nome da Google Cloud região onde quer criar a segunda sub-rede para testar o acesso global.
Crie a sub-rede só de proxy
Uma sub-rede apenas de proxy fornece um conjunto de endereços IP que a Google usa para executar proxies do Envoy em seu nome. Os proxies terminam as ligações do cliente e criam novas ligações aos backends.
Este exemplo requer as seguintes regras de firewall:
fw-allow-ssh. Uma regra de entrada, aplicável às instâncias com balanceamento
de carga, que permite a conetividade SSH de entrada na porta TCP 22 a partir de qualquer
endereço. Pode escolher um intervalo de IPs de origem mais restritivo para esta regra. Por exemplo, pode especificar apenas os intervalos de IPs do sistema a partir do qual inicia sessões SSH. Este exemplo usa a etiqueta de destino allow-ssh.
fw-allow-health-check. Uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite todo o tráfego TCP dos sistemas de verificação de funcionamento (em 130.211.0.0/22 e 35.191.0.0/16). Este exemplo usa a etiqueta de destino allow-health-check. Google Cloud
fw-allow-proxy-only-subnet. Uma regra de entrada que permite que as ligações da sub-rede só de proxy alcancem os back-ends.
Sem estas regras de firewall, a regra de negação predefinida
de entrada bloqueia o tráfego
de entrada para as instâncias de back-end.
As etiquetas de destino
definem as instâncias de back-end. Sem as etiquetas de destino, as regras da firewall aplicam-se a todas as instâncias de back-end na rede VPC.
Quando criar as VMs de back-end, certifique-se de que
inclui as etiquetas de destino especificadas, conforme mostrado em Criar um grupo de instâncias
gerido.
Clique em Criar regra de firewall para criar a regra que permite ligações SSH
recebidas:
Nome: fw-allow-ssh
Rede: lb-network
Direção do tráfego: entrada
Ação na correspondência: Permitir
Objetivos: etiquetas de destino especificadas
Etiquetas de segmentação: allow-ssh
Filtro de origem: intervalos IPv4
Intervalos IPv4 de origem: 0.0.0.0/0
Protocolos e portas:
Escolha Protocolos e portas especificados.
Selecione a caixa de verificação TCP e, de seguida, introduza 22 para o número da porta.
Clique em Criar.
Clique em Criar regra de firewall uma segunda vez para criar a regra que permite
Google Cloud verificações de funcionamento:
Nome: fw-allow-health-check
Rede: lb-network
Direção do tráfego: entrada
Ação na correspondência: Permitir
Objetivos: etiquetas de destino especificadas
Etiquetas de segmentação: allow-health-check
Filtro de origem: intervalos IPv4
Intervalos de IPv4 de origem: 130.211.0.0/22 e 35.191.0.0/16
Protocolos e portas:
Escolha Protocolos e portas especificados.
Selecione a caixa de verificação TCP e, de seguida, introduza 80 para o número da porta.
Como prática recomendada, limite esta regra apenas aos protocolos e às portas
que correspondem aos usados pela sua verificação de estado. Se usar tcp:80 para o protocolo e a porta, Google Cloud pode usar o HTTP na porta 80 para contactar as suas VMs, mas não pode usar o HTTPS na porta 443 para as contactar.
Clique em Criar.
Clique em Criar regra de firewall pela terceira vez para criar a regra que permite que os servidores proxy do balanceador de carga se liguem aos back-ends:
Nome: fw-allow-proxy-only-subnet
Rede: lb-network
Direção do tráfego: entrada
Ação na correspondência: Permitir
Objetivos: etiquetas de destino especificadas
Etiquetas de segmentação: allow-proxy-only-subnet
Filtro de origem: intervalos IPv4
Intervalos IPv4 de origem: 10.129.0.0/23
Protocolos e portas:
Escolha Protocolos e portas especificados.
Selecione a caixa de verificação TCP e, de seguida, introduza 80 para os números de porta.
Clique em Criar.
gcloud
Crie a regra de firewall fw-allow-ssh para permitir a conetividade SSH a VMs com a etiqueta de rede allow-ssh. Quando omite source-ranges,
Google Cloud interpreta a regra como qualquer
origem.
Crie a regra fw-allow-health-check para permitir Google Cloud
verificações de funcionamento. Este exemplo permite todo o tráfego TCP de sondas de verificação de estado. No entanto, pode configurar um conjunto mais restrito de portas para satisfazer as suas necessidades.
Crie a regra fw-allow-proxy-only-subnet para permitir que os proxies do Envoy da região se liguem aos seus back-ends. Defina --source-ranges para os intervalos atribuídos da sua sub-rede só de proxy. Neste exemplo, 10.129.0.0/23.
Esta secção mostra como criar dois backends de grupo de instâncias gerido (MIG) na região REGION_A para o balanceador de carga. O MIG fornece instâncias de VM
que executam os servidores Apache de back-end para este exemplo de balanceador de carga de rede de proxy interno regional.
Normalmente, um balanceador de carga de rede de proxy interno regional não é usado para tráfego HTTP, mas o software Apache é usado frequentemente para testes.
Consola
Crie um modelo de instância. Na Google Cloud consola, aceda à página Modelos de instâncias.
Em Nome, introduza int-tcp-proxy-backend-template.
Certifique-se de que o Disco de arranque está definido para uma imagem Debian, como
Debian GNU/Linux 12 (bookworm). Estas instruções usam comandos que só estão disponíveis no Debian, como apt-get.
Clique em Opções avançadas.
Clique em Rede e configure os seguintes campos:
Para Etiquetas de rede, introduza allow-ssh, allow-health-check
e allow-proxy-only-subnet.
Para Interfaces de rede, selecione o seguinte:
Rede: lb-network
Subnet: backend-subnet
Clique em Gestão. Introduza o seguinte script no campo Script de arranque.
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 Interno e clique em
Seguinte.
Para a Implementação em várias regiões ou numa única região, selecione Melhor para
cargas de trabalho regionais e clique em Seguinte.
Clique em Configurar.
Configuração básica
Em Nome, introduza my-int-tcp-lb.
Para Região, selecione REGION_A.
Para Rede, selecione lb-network.
Reserve uma sub-rede só de proxy
Para reservar uma sub-rede só de proxy:
Clique em Reservar sub-rede.
Em Nome, introduza proxy-only-subnet.
Para o Intervalo de endereços IP, introduza 10.129.0.0/23.
Clique em Adicionar.
Configuração do back-end
Clique em Configuração de back-end.
Para Tipo de back-end, selecione Grupo de instâncias.
Em Protocolo, selecione TCP.
Em Porta com nome, introduza tcp80.
Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, de seguida,
introduza as seguintes informações:
Nome: tcp-health-check
Protocolo: TCP
Porta: 80
Clique em Criar.
Configure o primeiro back-end:
Em Novo back-end, selecione o grupo de instâncias mig-a.
Para Transferir números, introduza 80.
Mantenha os restantes valores predefinidos e clique em Concluído.
Configure o segundo back-end:
Clique em Adicionar back-end.
Em Novo back-end, selecione o grupo de instâncias mig-c.
Para Transferir números, introduza 80.
Mantenha os restantes valores predefinidos e clique em Concluído.
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 da interface
Clique em Configuração do front-end.
Em Nome, introduza int-tcp-forwarding-rule.
Para Sub-rede, selecione backend-subnet.
Para Endereço IP, selecione o endereço IP reservado anteriormente:
LB_IP_ADDRESS
Em Número da porta, introduza 110. A regra de encaminhamento apenas encaminha pacotes com uma porta de destino correspondente.
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.
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 equilibrador de carga.
Se quiser ativar o cabeçalho
proxy, defina-o como PROXY_V1 em vez de NONE.
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.
Crie a regra de encaminhamento. Para --ports, especifique um único número de porta
entre 1 e 65535. Este exemplo usa a porta 110. A regra de encaminhamento apenas encaminha pacotes com uma porta de destino correspondente.
Para testar o balanceador de carga, crie uma VM cliente na mesma região que o balanceador de carga. Em seguida, envie tráfego do cliente para o balanceador de carga.
Crie uma VM de cliente
Crie uma VM cliente (client-vm) na mesma região que o balanceador de carga.
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
A VM do cliente tem de estar na mesma rede de VPC e região que o balanceador de carga. Não tem de estar na mesma sub-rede ou zona. O cliente usa a mesma sub-rede que as VMs de back-end.
Envie tráfego para o balanceador de carga. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga.
curl IP_ADDRESS:110
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.
Ative o acesso global
Pode ativar o acesso global para o equilibrador de carga para o tornar acessível a clientes em todas as regiões. Os back-ends do seu balanceador de carga de exemplo têm de estar localizados numa região (REGION_A).
Balanceador de carga de rede de proxy interno regional com acesso global (clique para aumentar)
Não pode modificar uma regra de encaminhamento regional existente para ativar o acesso global.
Tem de criar uma nova regra de encaminhamento para este fim. Além disso, depois de criar uma regra de encaminhamento com o acesso global ativado, não é possível modificá-la. Para desativar o acesso global, tem de criar uma nova regra de encaminhamento de acesso regional e eliminar a regra de encaminhamento de acesso global anterior.
Para configurar o acesso global, faça as seguintes alterações de configuração.
Consola
Crie uma nova regra de encaminhamento para o balanceador de carga:
Na Google Cloud consola, aceda à página Equilíbrio de carga.
Introduza o nome e os detalhes da sub-rede para a nova regra de encaminhamento.
Para Sub-rede, selecione backend-subnet.
Para o Endereço IP, pode selecionar o mesmo endereço IP que uma regra de encaminhamento existente, reservar um novo endereço IP ou usar um endereço IP efémero. A partilha do mesmo endereço IP em várias regras de encaminhamento só é possível se definir a flag --purpose
do endereço IP como SHARED_LOADBALANCER_VIP ao criar o endereço IP.
Em Número da porta, introduza 110.
Para Acesso global, selecione Ativar.
Clique em Concluído.
Clique em Atualizar.
gcloud
Crie uma nova regra de encaminhamento para o balanceador de carga com a flag --allow-global-access.
Envie tráfego para o balanceador de carga; substitua IP_ADDRESS pelo endereço IP do balanceador de carga:
curl IP_ADDRESS:110
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 \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
Não pode atualizar o cabeçalho do protocolo PROXY no proxy de destino existente. Tem de criar um novo proxy de destino com a definição necessária para o cabeçalho do protocolo PROXY. Siga estes passos para criar um novo front-end com as definições necessárias:
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 Network Load Balancer do proxy interno regional, 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 interno de uma regra de encaminhamento interno).
Consola
Para ativar a afinidade de sessão de IP do cliente:
Clique em internal-tcp-proxy-bs (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:internal-tcp-proxy-bs
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-01-14 UTC."],[],[]]