Visão geral do balanceamento de carga de proxy SSL

Usando o balanceamento de carga de proxy SSL do Google Cloud para seu tráfego SSL, é possível encerrar as conexões SSL (TLS) de usuário na camada de balanceamento de carga. Em seguida, é possível balancear as conexões entre suas instâncias de back-end usando os protocolos SSL (recomendado) ou TCP. Para os tipos de back-ends que são compatíveis, consulte esta página.

O balanceamento de carga de proxy SSL destina-se ao tráfego não HTTP(S). Para o tráfego HTTP(S), recomendamos que você use o balanceamento de carga HTTP(S).

Para informações sobre como os balanceadores de carga do Google Cloud diferem entre si, consulte os seguintes documentos:

O balanceamento de carga de proxy SSL é compatível com os endereços IPv6 e IPv4 do tráfego do cliente. As solicitações IPv6 do cliente são encerradas na camada de balanceamento de carga e transmitidas por proxy pelo IPv4 para suas VMs.

O balanceamento de carga de proxy SSL é um serviço de balanceamento de carga que pode ser implantado globalmente. É possível implantar seus back-ends em várias regiões. O balanceador de carga direciona o tráfego automaticamente para a região mais próxima com capacidade disponível. Se ela estiver no limite da capacidade, o balanceador direcionará automaticamente novas conexões para outra região com disponibilidade. As conexões de usuário atuais permanecem na região em que estão.

O balanceamento de carga global exige que você use o nível Premium dos níveis de serviço de rede, que é o nível padrão. Caso contrário, o balanceamento de carga será tratado regionalmente.

Para a melhor segurança, use a criptografia de ponta a ponta para a implantação do balanceamento de carga de proxy SSL. Para fazer isso, configure o serviço de back-end para aceitar tráfego por SSL. Isso garante que o tráfego do cliente descriptografado na camada de balanceamento de carga de proxy SSL seja criptografado novamente antes de ser enviado às instâncias de back-end. Essa criptografia de ponta a ponta requer que você provisione certificados e chaves em suas VMs para que elas possam executar o processamento de SSL.

Vantagens

Veja a seguir algumas vantagens do uso do balanceamento de carga de proxy SSL:

  • Roteamento inteligente. O balanceador de carga pode encaminhar solicitações para locais de back-end em que houver capacidade. Por outro lado, um balanceador de carga L3/L4 precisa ser encaminhado para back-ends regionais sem considerar a capacidade. O uso do encaminhamento mais inteligente permite o provisionamento em N+1 ou N+2, em vez de x*N.

  • Melhor utilização dos back-ends. O processamento de SSL pode exigir muito da CPU se as criptografias usadas não forem eficientes. Para maximizar o desempenho da CPU, use certificados SSL ECDSA e 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 de back-end.

  • Gerenciamento de certificados. Seus certificados SSL voltados para o cliente podem ser conseguidos e gerenciados por você (certificados autogerenciados) ou certificados que o Google recebe e gerencia para você (certificados gerenciados pelo Google). Os certificados SSL gerenciados pelo Google são compatíveis com até 100 domínios. O suporte a vários domínios para certificados gerenciados pelo Google é um recurso Beta. Você só precisa provisionar certificados no balanceador de carga. Em suas VMs, simplifique o gerenciamento usando certificados autoassinados.

  • Patch de segurança. Se surgirem vulnerabilidades na pilha de SSL ou TCP, aplicamos os patches no balanceador de carga automaticamente para manter suas VMs seguras.

  • Suporte do balanceamento de carga de proxy SSL para as portas a seguir: 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 tais certificados sejam provisionados e renovados.

  • Políticas de SSL. As políticas de SSL permitem que você controle os recursos de SSL que o balanceador de carga de proxy SSL negocia com os clientes.

Observações

  • O envio de tráfego por TCP não criptografado entre a camada do balanceamento de carga e as instâncias de back-end permite descarregar o processamento SSL de seus back-ends. No entanto, ele também reduz a segurança. Portanto, não recomendamos isso.

  • O balanceamento de carga de proxy SSL pode lidar com HTTPS, mas não recomendamos isso. Em vez disso, use o balanceamento de carga HTTP(S) para o tráfego HTTPS. Para mais informações, consulte as Perguntas frequentes.

  • Crie políticas de SSL usando a ferramenta de linha de comando gcloud.

  • Os balanceadores de carga de 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.

Nas seções a seguir, você lerá sobre como funciona o balanceamento de carga com o proxy SSL.

Casos de uso

Usando o balanceamento de carga de proxy SSL, as conexões SSL são encerradas na camada do balanceamento de carga e, em seguida, encaminhadas por proxy para o back-end mais próximo disponível.

Neste exemplo, o tráfego de usuários em Iowa e Boston é encerrado na camada do balanceamento de carga e uma conexão separada é estabelecida para o back-end selecionado.

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

Comportamento do balanceador de carga em níveis de serviço de rede

O balanceamento de carga de proxy SSL é um serviço global com nível Premium. É possível ter apenas um serviço de back-end que tenha back-ends em várias regiões. O tráfego é alocado para back-ends da seguinte forma:

  1. Quando um cliente envia uma solicitação, o serviço de balanceamento de carga determina a origem aproximada da solicitação a partir do endereço IP de origem.
  2. O serviço de balanceamento de carga determina os locais dos back-ends pertencentes ao serviço de back-end, sua capacidade geral e seu uso geral atual.
  3. Se as instâncias de back-end mais próximas ao usuário tiverem capacidade disponível, a solicitação será encaminhada para o conjunto mais próximo de back-ends.
  4. As solicitações de entrada para a região determinada são distribuídas uniformemente em todas as instâncias de back-end disponíveis em tal região. No entanto, com cargas muito pequenas, a distribuição pode parecer irregular.
  5. Se não houver instâncias de back-end íntegras com capacidade disponível em uma determinada região, o balanceador de carga enviará a solicitação para a região mais próxima com capacidade disponível.

Com o nível Standard, o balanceamento de carga de proxy TCP é um serviço regional. Todos os back-ends precisam estar localizados na região usada pelo endereço IP externo do balanceador de carga e pela regra de encaminhamento.

Endereços IP de origem

Os endereços IP de origem dos pacotes, conforme vistos por cada instância ou contêiner de máquina virtual de back-end (VM), são um endereço IP desses intervalos:

  • 35.191.0.0/16
  • 130.211.0.0/22

O endereço IP de origem para o tráfego de balanceador de carga real é o mesmo que o intervalo de IP da sondagem das verificações de integridade.

Os endereços IP de origem para o tráfego, conforme vistos pelos back-ends, não são o endereço IP externo do Google Cloud do balanceador de carga. Em outras palavras, há duas sessões HTTP, SSL ou TCP:

  • Sessão 1, do cliente original para o balanceador de carga (GFE):

    • Endereço IP de origem: o cliente original ou endereço IP externo se o cliente estiver usando NAT.
    • Endereço IP de destino: o endereço IP do seu balanceador de carga.
  • Sessão 2: do balanceador de carga (GFE) para a VM ou contêiner de back-end:

    • Endereço IP de origem: um endereço IP em um destes intervalos: 35.191.0.0/16 ou 130.211.0.0/22.

      Não é possível prever o endereço de origem real.

    • Endereço IP de destino: endereço IP interno da VM ou contêiner de back-end na rede da nuvem privada virtual (VPC).

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

O balanceador de carga de 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 você exigir controle geográfico sobre o local de encerramento da TLS, use o balanceamento de carga de rede e encerre-o nos back-ends localizados em regiões adequadas às suas necessidades.

Portas abertas

Os balanceadores de carga do proxy SSL são do tipo de proxy reverso. Eles encerram as conexões de entrada e depois abrem novas conexões do balanceador de carga para os back-ends. A funcionalidade de proxy reverso é fornecida pelo front-ends do Google (GFEs).

As regras de firewall que você define bloqueiam o tráfego dos GFEs para as instâncias de back-end, mas não bloqueiam o tráfego de entrada para os GFEs.

Os balanceadores de carga de proxy SSL 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 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 usar o balanceamento de carga HTTP(S) em vez do balanceamento de carga de proxy SSL?

Embora o balanceamento de carga de proxy SSL possa lidar com o tráfego HTTPS, o balanceamento de carga HTTP(S) tem recursos extras que o tornam uma escolha melhor na maioria dos casos.

O balanceamento de carga HTTP(S) tem a seguinte funcionalidade extra:

  • Negocia HTTP/2 e SPDY/3.1.
  • Rejeita respostas ou solicitações HTTP inválidas.
  • Encaminha solicitações para diferentes VMs com base no host e no caminho do URL.
  • Integra-se ao Cloud CDN.
  • Propaga a carga da solicitação de maneira mais uniforme entre as instâncias de back-end, proporcionando melhor utilização do back-end. O HTTPS faz o balanceamento de carga de cada solicitação separadamente, enquanto o balanceamento de carga de proxy SSL envia todos os bytes da mesma conexão SSL ou TCP para a mesma instância de back-end.

O balanceamento de carga de proxy SSL 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. Configure o balanceador de carga para preceder um cabeçalho de versão 1 do protocolo PROXY para manter as informações de conexão originais. Para mais informações, consulte Atualizar cabeçalho do protocolo proxy para o proxy.

A seguir

  • Para informações sobre como configurar um balanceador de carga de proxy SSL, consulte esta página.
  • Para detalhes sobre como criar, modificar ou excluir uma política SSL, consulte esta página.
  • Para mais informações sobre como configurar o monitoramento para seu balanceador de carga de proxy SSL, consulte esta página.
  • Para uma lista dos pontos de presença do Google (PoPs, na sigla em inglês), consulte locais GFE.