Conceitos de balanceamento de carga de proxy TCP

O balanceamento de carga do proxy TCP do Google Cloud Platform (GCP) permite usar um único endereço IP para todos os usuários no mundo. O balanceamento de carga do proxy TCP do GCP direciona automaticamente o tráfego para as novas instâncias mais próximas ao usuário.

Observe que o balanceamento de carga global exige que você use o nível Premium do Network Service Tiers, que é o nível padrão. Caso contrário, o balanceamento de carga será tratado regionalmente.

O balanceamento de carga do proxy TCP do Cloud se destina ao tráfego não HTTP. Para tráfego HTTP, use o Balanceamento de carga HTTP. Para o tráfego SSL por meio de proxy, use o balanceamento de carga de proxy SSL.

O balanceamento de carga do proxy TCP aceita endereços IPv4 e IPv6 para o tráfego do cliente. As solicitações IPv6 do cliente são encerradas na camada global de balanceamento de carga e depois, encaminhadas por proxy via IPv4 para seus back-ends.

Índice

Visão geral

Ao usar o balanceamento de carga do proxy TCP para o tráfego TCP, encerre as sessões TCP dos clientes na camada de balanceamento de carga e encaminhe o tráfego para suas instâncias de máquina virtual usando TCP ou SSL.

O balanceamento de carga do proxy TCP pode ser configurado como um serviço de balanceamento de carga global. Com essa configuração, é possível implantar as instâncias em várias regiões e o balanceamento de carga global direciona automaticamente o tráfego para a região mais próxima do usuário. Se uma região estiver no limite da capacidade, o balanceador de carga direcionará automaticamente as novas conexões para outra região que tenha capacidade disponível. As conexões de usuário atuais permanecem na região em que estão.

Vantagens de balanceamento de carga do proxy TCP:

  • Roteamento inteligente: o balanceador de carga pode direcionar solicitações para locais de back-end onde haja capacidade. No entanto, um balanceador de carga L3/L4 precisa direcionar para back-ends regionais sem observar a capacidade. O uso do encaminhamento mais inteligente permite o provisionamento em N+1 ou N+2, em vez de x*N.
  • Patches de segurança: caso surjam vulnerabilidades na pilha TCP, o Cloud Load Balancing aplicará os patches no balanceador de carga automaticamente para manter suas instâncias seguras.
  • O balanceamento de carga do proxy TCP é compatível com as seguintes portas: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222.

Componentes

A seguir, veja os componentes dos balanceadores de carga do proxy TCP.

Regras e endereços de encaminhamento

O tráfego é encaminhado pelas regras de encaminhamento por endereço IP, porta e protocolo, para uma configuração de balanceamento de carga composta de um proxy de destino e um ou mais serviços de back-end.

Em cada regra de encaminhamento, é fornecido um único endereço IP que pode ser usado em registros DNS para seu aplicativo. Não é necessário nenhum balanceamento de carga baseado no DNS. É possível reservar um endereço IP estático para uso ou deixar que o Cloud Load Balancing atribua um para você. Recomendamos reservar um endereço IP estático. Caso contrário, sempre que você excluir uma regra de encaminhamento e criar uma nova, será necessário atualizar seu registro DNS com o endereço IP temporário recém-atribuído.

Proxies de destino

As conexões TCP do cliente são encerradas pelo balanceamento de carga do proxy TCP e são criadas novas conexões com as instâncias. Por padrão, o endereço IP do cliente original e as informações da porta não são preservados. É possível preservar essas informações usando o protocolo PROXY. As solicitações recebidas são encaminhadas diretamente para serviços de back-end pelos proxies de destino.

Serviços de back-end

O tráfego de entrada é direcionado pelos serviços de back-end a um ou mais back-ends anexados. Cada back-end é composto por um grupo de instâncias ou grupo de endpoints da rede e metadados da capacidade de exibição. A capacidade de serviço do back-end pode ser baseada em CPU ou em solicitações por segundo (RPS, na sigla em inglês).

Cada serviço de back-end também especifica as verificações de integridade que serão executadas nas instâncias disponíveis.

Para garantir o mínimo possível de interrupções aos usuários, ative a diminuição das conexões nos serviços de back-end. Essas interrupções podem acontecer quando uma instância é encerrada, removida manualmente ou removida por um autoescalador. Para saber mais sobre como usar a diminuição de conexão para minimizar as interrupções do serviço, leia a documentação Como ativar a diminuição de conexão.

Protocolo para os back-ends

Ao configurar um serviço de back-end para o balanceador de carga do proxy TCP, você define o protocolo que o serviço de back-end usará para se comunicar com os back-ends. É possível escolher SSL ou TCP. O balanceador de carga usará apenas o protocolo que você especificar e não tentará negociar uma conexão com o outro protocolo.

Intervalos de back-end

O tráfego de entrada é direcionado pelos intervalos de back-end aos intervalos do Google Cloud Storage e não aos grupos de instâncias.

Intervalos são contêineres que armazenam dados. É possível usar intervalos como armazenamento comum entre instâncias de VM, Google App Engine e outros serviços de nuvem. Use um intervalo de armazenamento quando você tiver uma grande quantidade de dados que não precise ser armazenada localmente em uma única instância de VM.

Regras de firewall

As regras de firewall permitem que o tráfego alcance suas instâncias. Você precisa configurar regras de firewall para permitir o tráfego do balanceador de carga e do verificador de integridade.

Use uma única regra de firewall se:

  • a regra permitir o tráfego na porta usada pela sua regra de encaminhamento global;
  • seu verificador de integridade usar a mesma porta.

Se o verificador de integridade usar uma porta diferente, será preciso criar uma regra de firewall separada para essa porta.

As regras de firewall bloqueiam e permitem o tráfego no nível da instância, não nos limites da rede. Não é possível usá-las para impedir que o tráfego chegue ao próprio balanceador de carga.

Além disso, o Google Cloud Platform usa uma grande variedade de endereços IP, que são alterados ao longo do tempo. Se for necessário determinar endereços IP externos em determinado momento, use as instruções descritas nas Perguntas frequentes do Google Compute Engine.

Caminho de retorno

Para verificações de integridade, o GCP usa rotas especiais que não estão definidas na sua rede VPC. Para saber mais informações sobre isso, leia Caminho de retorno do balanceador de carga.

Exemplo de balanceamento de carga do proxy TCP

Com o proxy TCP, o tráfego proveniente de uma conexão TCP é encerrado na camada de balanceamento de carga e, em seguida, intermediado por proxy para o grupo de instâncias disponíveis mais próximo.

Neste exemplo, as conexões para o tráfego de usuários em Iowa e Boston são encerradas na camada de balanceamento de carga. No diagrama, essas conexões são identificadas como 1a e 2a. Conexões separadas são estabelecidas a partir do balanceador de carga para as instâncias de back-end selecionadas. Essas conexões são identificadas como 1b e 2b.

Google Cloud Load Balancing com término de TCP (clique para ampliar)
Google Cloud Load Balancing com término de TCP (clique para ampliar)

Afinidade da sessão

A afinidade de sessão envia todas as solicitações do mesmo cliente para a mesma instância de máquina virtual, se a instância estiver íntegra e tiver capacidade.

O balanceamento de carga de proxy TCP oferece afinidade de IP de cliente, que encaminha todas as solicitações do mesmo endereço IP de cliente para a mesma instância.

Interfaces

A configuração e a atualização do serviço de balanceamento de carga do proxy TCP são feitas com as seguintes ferramentas:

  • Ferramenta de linha de comando gcloud: essa ferramenta está incluída no SDK do Cloud e você encontra exemplos de uso na documentação do balanceamento de carga do proxy TCP. Para ter uma visão geral completa da ferramenta, consulte o Guia da ferramenta gcloud. Os comandos relativos ao balanceamento de carga podem ser encontrados no grupo de comandos gcloud compute.

    Também é possível acessar a ajuda detalhada para os comandos do gcloud usando a sinalização --help:

    gcloud compute http-health-checks create --help
    
  • Console do Google Cloud Platform: todas as tarefas de balanceamento de carga podem ser realizadas com o Console do Google Cloud Platform.

  • API REST: todas as tarefas de balanceamento de carga podem ser executadas com a API Google Cloud Load Balancing. Na documentação de referência da API, descrevemos os recursos e métodos que estão disponíveis para você.

Portas abertas

Os balanceadores de carga do proxy TCP são balanceadores de carga de proxy reverso. O balanceador de carga encerra as conexões de entrada e depois abre novas conexões do balanceador de carga para os back-ends. A funcionalidade de proxy reverso é fornecida pelo Google Front Ends (GFE).

As regras de firewall, definidas por você, bloqueiam o tráfego dos GFEs para os back-ends, mas não bloqueiam o tráfego de entrada para os GFEs.

Os balanceadores de carga do proxy TCP têm diversas portas abertas para oferecer suporte a outros serviços do Google, executados na mesma arquitetura. Se você executar uma verificação de segurança ou de porta em relação ao endereço IP externo do balanceador de carga, terá a impressão de que outras portas estão abertas.

Isso não afeta os balanceadores de carga do proxy TCP. As regras de encaminhamento externas, usadas na definição de um balanceador de carga SSL, podem fazer referência somente às portas TCP 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 e 5222. O tráfego com uma porta de destino TCP diferente não é encaminhado para o back-end do balanceador de carga.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…