Conceitos de balanceamento de carga de proxy SSL

O balanceamento de carga do proxy do Google Cloud SSL encerra as conexões SSL (TLS) do usuário na camada de balanceamento de carga e, em seguida, equilibra as conexões entre as instâncias usando os protocolos SSL ou TCP. O proxy do Cloud SSL é destinado ao tráfego não HTTP(S). Para o tráfego HTTP(S), recomendamos o balanceamento de carga HTTP(S).

O balanceamento de carga do proxy SSL é compatível com o tráfego do cliente nos endereços IPv4 e IPv6. 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.

Visão geral

Com o proxy SSL (TLS) no tráfego SSL, é possível encerrar as sessões SSL na camada do balanceamento de carga. Em seguida, encaminhe o tráfego para as instâncias da máquina virtual usando o SSL (recomendado) ou o TCP.

O proxy SSL é um serviço de balanceamento de carga que pode ser implantado globalmente. É possível implantar as instâncias em várias regiões e o balanceador de carga direciona automaticamente o tráfego para a região mais próxima que tenha capacidade. Se ela estiver no limite da capacidade, o balanceador direcionará automaticamente novas conexões para outra região com capacidade. As conexões de usuário existentes permanecem na região atual.

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

Para ter mais segurança, use criptografia de ponta a ponta na sua implantação de proxy SSL. Para fazer isso, configure o serviço de back-end para que ele aceite tráfego via SSL. Isso garante que o tráfego do cliente descriptografado na camada de proxy SSL seja criptografado novamente antes de ser enviado às instâncias do back-end. Na criptografia de ponta a ponta, você precisa provisionar certificados e chaves nas instâncias para que possam realizar o processamento do SSL.

Benefícios do proxy SSL:

  • 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 aprovisionamento em N+1 ou N+2, em vez de x*N.
  • Melhor utilização das instâncias da máquina virtual: o processamento de SSL poderá consumir muita CPU, se os códigos utilizados não forem eficientes para CPU. Para maximizar o desempenho da CPU, use certificados SSL ECDSA, TLS 1.2 e prefira o pacote de criptografia ECDHE-ECDSA-AES128-GCM-SHA256 para SSL entre o balanceador de carga e suas instâncias.
  • Gerenciamento de certificados: os certificados SSL voltados para o cliente podem ser aqueles que você recebe e gerencia por conta própria (certificados autogerenciados) ou os que o Google recebe e gerencia para você (certificados gerenciados pelo Google). É necessário apenas provisionar certificados no próprio balanceador de carga. Nas instâncias de máquina virtual, é possível simplificar o gerenciamento usando certificados autoassinados.
  • Patches de segurança: se aparecerem vulnerabilidades na pilha SSL ou TCP, aplicaremos os patches ao balanceador de carga automaticamente para manter as instâncias seguras.
  • O balanceamento de carga de proxy SSL é compatível com as portas 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 e 5222. Quando usar certificados SSL gerenciados pelo Google com balanceamento de carga de proxy SSL, a porta de tráfego de front-end precisa ser a 443 para permitir que os certificados SSL gerenciados pelo Google sejam provisionados e renovados.
  • É possível usar políticas de SSL (link em inglês) com o balanceamento de carga de proxy SSL.

Observações:

  • Optar por enviar o tráfego por TCP não criptografado entre a camada de balanceamento de carga e as instâncias permite que você descarregue o processamento SSL das instâncias. Porém, ao mesmo tempo, essa ação reduz a segurança entre a camada de balanceamento de carga e as instâncias e não é, portanto, recomendada.
  • O proxy SSL pode lidar com HTTPS, mas isso não é recomendado. Em vez disso, use o balanceamento de carga HTTPS (link em inglês) para o tráfego HTTPS. Consulte as perguntas frequentes para ver detalhes.
  • Crie políticas de SSL (link em inglês) usando a ferramenta de linha de comando gcloud.
  • Os balanceadores de carga do proxy SSL não são compatíveis com a autenticação baseada no certificado de cliente, também conhecida como autenticação de TLS mútua.

As seções a seguir descrevem como funciona o balanceamento de carga com o proxy SSL.

Google Cloud Load Balancing com proxy SSL

Com o proxy SSL na camada de balanceamento de carga, as conexões SSL são encerradas na camada de balanceamento de carga e, então, colocadas em proxy no grupo mais próximo de instâncias disponíveis.

Neste exemplo, o tráfego dos usuários em Iowa e Boston termina na camada de balanceamento de carga e uma conexão separada é estabelecida com a instância de back-end selecionada.

Google Cloud Load Balancing com terminação SSL (clique para ampliar)
Google Cloud Load Balancing com terminação SSL (clique para ampliar)

Caminho de retorno

O GCP cria rotas especiais que não estão na sua rede VPC para verificações de integridade. Para mais informações, leia Caminho de retorno do balanceador de carga.

Controle geográfico sobre o local em que o TLS é encerrado

O balanceador de carga do proxy SSL encerra o TLS em locais que são distribuídos globalmente, de modo a minimizar a latência entre os clientes e o balanceador de carga. Se precisar de controle geográfico sobre o local em que o TLS é encerrado, use o Balanceamento de carga de rede (link em inglês) do GCP e encerre o TLS nos back-ends localizados em regiões adequadas às suas necessidades.

Portas abertas

Os balanceadores de carga do proxy SSL 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 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 SSL têm diversas portas abertas para oferecer suporte a outros serviços do Google, executados na mesma arquitetura. Ao executar uma verificação de segurança ou de porta em relação ao endereço IP externo do balanceador de carga, outras portas podem estar abertas.

Isso não afeta os balanceadores de carga do proxy SSL. 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.

Perguntas frequentes

Quando devo usar o balanceamento de carga HTTPS em vez do balanceamento de carga do proxy SSL?

O proxy SSL pode lidar com tráfego HTTPS, porém, o balanceamento de carga HTTPS (link em inglês), com seus recursos adicionais, é a melhor escolha, na maioria dos casos.

O balanceamento de carga HTTPS tem a seguinte funcionalidade adicional:

  • negocia HTTP/2 e SPDY/3.1
  • rejeita solicitações ou respostas HTTP inválidas
  • encaminha solicitações para diferentes grupos de instâncias com base no caminho e no host URL
  • integra-se ao Cloud CDN
  • espalha a carga de solicitação de maneira mais uniforme entre as instâncias, proporcionando melhor uso da instância. A carga HTTPS balanceia cada solicitação separadamente, ao passo que o proxy SSL envia todos os bytes da mesma conexão SSL ou TCP para a mesma instância.

O balanceamento de carga do proxy SSL do Google Cloud pode ser usado para outros protocolos que usam SSL, como Websockets e IMAP sobre SSL.

É possível visualizar o endereço IP original da conexão com a camada de balanceamento de carga?

Sim. Você pode configurar o balanceador de carga para preceder um cabeçalho de versão 1 do protocolo PROXY para manter as informações originais de conexão do cliente. Consulte Atualizar cabeçalho do protocolo proxy para o proxy para saber mais.

A seguir

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

Enviar comentários sobre…