Sobre os balanceadores de carga de rede
É possível usar o IBM Cloud® Network Load Balancer for VPC (NLB) para distribuir o tráfego entre várias instâncias do servidor dentro da mesma região de seu VPC.
NLBs podem aceitar membros em todas as três zonas de disponibilidade, mas o próprio NLB reside em uma zona específica. Para obter mais informações, consulte Suporte multizona.
É possível designar portas por cliente, mas não há nenhum cumprimento de porta no nível de gateway do VP
Tipos de balanceadores de carga de rede
Conforme discutido na Visão geral de balanceadores de carga para VPC, muitos tipos de NLBs estão disponíveis:
-
Público — Um balanceador de carga público é um balanceador de carga com um endereço IP acessível ao público e registrado no DNS.
-
Privado-um balanceador de carga privado é acessível somente de dentro da rede VPC, em que o cliente está no mesmo VPC ou tem alcance (por exemplo, por meio do Direct Link, do Transit Gatewayou ambos). Para balanceadores de carga privados, deve-se ter uma sub-rede dedicada sem rotas customizadas configuradas para a sub-rede.
-
Privadas com modo de roteamento ativado - As NLBs privadas com modo de roteamento ativado oferecem suporte a dispositivos de função de rede virtual (VNF) como alvos de back-end. Eles executam o roteamento direto sem nenhum NAT, permitindo que os dispositivos VNF inspecionem os pacotes no estado em que se encontram.
-
Caminho privado-Os provedores de serviço usam NLBs de caminho privado para conectar de forma segura o IBM Cloud com serviços hospedados por VPC de terceiros na rede privada IBM Cloud. Os NLBs de caminho privado são necessários quando você usa serviços de caminho privado para manter o tráfego de rede em um caminho privado que nunca cruza com a Internet. Para obter mais informações, consulte o Guia de soluções de Caminho Privado
Os NLBs de caminho privado só podem ser usados com um serviço de caminho privado.
Introdução
Para começar a usar balanceadores de carga de rede, siga estas etapas:
- Analise os problemas conhecidos dos balanceadores de carga de rede.
- Siga as instruções para seu NLB específico:
Para obter mais informações, consulte Tipos de balanceadores de carga e o Gráfico de comparação do balanceador de carga.
Métodos de balanceamento de carga
Três métodos de balanceamento de carga estão disponíveis para distribuição de tráfego nos servidores de aplicativos back-end: round-robin, round-robin ponderado e menos conexões.
Menos conexões
Com esse método, a instância do servidor back-end que atende ao menor número de conexões em um determinado momento recebe a próxima conexão do cliente.
Os NLBs de caminho privado não são compatíveis com o método de conexão mínima.
Round-robin
Round-robin é o método de balanceamento de carga padrão. Com esse método, o balanceador de carga encaminha conexões recebidas do cliente no modo round-robin para os servidores de back-end. Como resultado, todos os servidores de back-end recebem praticamente um número igual de conexões do cliente.
Round-robin ponderado
Com esse método, o balanceador de carga encaminha as conexões do cliente recebidas para os servidores de back-end em proporção ao peso atribuído a esses servidores. Cada servidor é designado um peso padrão de 50, que pode ser
customizado para qualquer valor no intervalo 0 - 100.
Por exemplo, se os servidores de aplicativos A, B e C tiverem os pesos 60, 60 e 30, os servidores A e B receberão um número igual de conexões, enquanto o servidor C receberá metade desse número de conexões.
Os valores de ponderação do servidor são aplicáveis somente com o método round-robin ponderado. Eles são ignorados com os métodos de balanceamento de carga de round-robin e menos conexões.
A configuração de um peso do servidor como 0 significa que nenhuma nova conexão é encaminhada para esse servidor, mas qualquer tráfego existente continua a fluir. Usar um peso de 0 pode ajudar a desativar gradualmente
um servidor e retirá-lo da rotação de serviço.
Listeners de front-end e conjuntos de back-end
Listeners de front-end são portas do aplicativo para os balanceadores de carga receberem solicitações de entrada, enquanto conjuntos de back-end são os servidores de aplicativos por trás dos balanceadores de carga. É possível definir até 10 listeners de front-end e mapeá-los para conjuntos de back-end nos servidores de aplicativos de back-end. No caso de um NLB público, o FQDN atribuído ao seu balanceador de carga e as portas do listener front-end ficam expostas à internet. As solicitações recebidas de usuário são recebidas nessas portas. TCP e UDP são os protocolos suportados para listeners de front-end e de back-end.
É possível anexar até 50 instâncias de servidor virtual a um conjunto de back-end. O tráfego é enviado para cada instância em sua porta de dados especificada. Essa porta de dados não precisa ser a mesma que a porta do listener de front-end.
Políticas à prova de falhas do pool de back-end
Ao editar um pool de back-end em um balanceador de carga, você pode especificar uma das seguintes ações de política à prova de falhas:
- Encaminhar:- O balanceador de carga encaminha as solicitações para um pool de backup designado. Isso fornece um caminho de failover limpo para outro conjunto de servidores de aplicativos. Você deve ter um pool de backup existente configurado e pronto para receber tráfego.
- Ignorar:- O balanceador de carga envia solicitações diretamente para os endereços IP de destino do membro, ignorando completamente o balanceador de carga. Essa opção é normalmente usada em configurações de rede específicas, como balanceadores de carga de rede e dispositivos de função de rede virtual (VNF).
- Drop:- O balanceador de carga descarta todas as solicitações de entrada e o cliente não recebe resposta.
Você pode escolher um destino à prova de falhas em uma lista de pools de backup aplicáveis.
Requisitos do pool de destino à prova de falhas (se a ação for Encaminhar):
- devem pertencer ao mesmo balanceador de carga
- devem ter o mesmo protocolo ou um protocolo compatível ( TCP é compatível apenas com TCP, mas qualquer combinação de HTTP e HTTPS é compatível)
Máximo de ligações
Não há um número definido de conexões padrão ou de conexões máximas para um balanceador de carga de rede. O número total de conexões simultâneas depende de fatores, como recursos alocados e taxa de transferência da rede.
Representação de VPC de um balanceador de carga de rede
A Figura 1 mostra a representação em VPC de uma configuração típica de balanceador de carga de rede. O NLB é provisionado em uma sub-rede da VPC. Para configurar o caminho de dados de rede no NLB, é necessário criar um listener, um pool e pelo menos um membro. Um listener é a porta de front-end na qual o NLB fica à escuta para receber solicitações dos clientes. Essas solicitações são encaminhadas para os destinos no conjunto que está associado ao listener. Um pool é um conjunto de destinos utilizados para distribuir as solicitações de rede que chegam ao NLB para um listener específico. Um membro é um servidor de back-end com uma porta especificada configurada para atender solicitações.
Balanceamento de carga de camada 4
O Network Load Balancer for VPC fornece um serviço de balanceamento de carga de camada 4 (conhecido como a camada de transporte) para os servidores do usuário em uma VPC. Ele decide para onde o tráfego é direcionado com base nos endereços IP de origem e de destino e na porta no cabeçalho de pacote. O balanceador de carga não realiza uma verificação no conteúdo do pacote.
Como o balanceamento de carga de camada 4 requer menos cálculos em comparação com um balanceamento de carga mais sofisticado, como a camada 7, a CPU e a memória são usadas de forma mais eficiente.
Caso de uso 1: Balanceador de carga de rede pública
Um NLB público suporta o Direct Server Return (DSR). Os balanceadores de carga do aplicativo não suportam esse recurso
A Figura 2 ilustra como um NLB público funciona. O Consumidor registra o endereço IP do balanceador de carga com o DNS usando o FQDN do balanceador de carga O Consumidor opcionalmente consulta o servidor DNS. DNS responde com o endereço IP do balanceador de carga. O consumidor envia uma solicitação TCP para o balanceador de carga para obter dados, e o balanceador de carga encaminha a solicitação para um destino de back-end. O destino gera uma resposta e a resposta é enviada diretamente ao Consumidor com DSR.
Caso de uso 2: Balanceador de carga de rede privada
Um NLB privado é acessível somente de dentro da rede VPC, em que o Consumidor tem alcance (por exemplo, por meio do Direct Link, Transit Gatewayou ambos).
Para balanceadores de carga privados, deve-se ter uma sub-rede dedicada sem rotas customizadas configuradas para a sub-rede.
A Figura 3 ilustra o funcionamento de um NLB privado. O Consumidor consulta o DNS para o endereço IP do balanceador de carga usando o FQDN do balanceador de carga O Consumidor opcionalmente consulta o servidor DNS. DNS responde com o endereço IP do balanceador de carga. O consumidor envia uma solicitação TCP para o balanceador de carga para obter dados por meio de um link direto ou gateway de trânsito, e o balanceador de carga encaminha a solicitação para um destino de back-end. O destino gera uma resposta e a resposta é enviada diretamente para o Consumidor usando DSR
Caso de uso 3: Balanceador de carga de rede privada com modo de roteamento ativado
NLBs com route_mode configurado como true são balanceadores de carga privados que suportam apenas dispositivos de função de rede virtual (VNF), como um firewall, como destinos de backend.
A Figura 4 ilustra como um NLB privado com modo de roteamento funciona. O Consumidor consulta o DNS para o endereço IP do balanceador de carga usando o FQDN do balanceador de carga O Consumidor opcionalmente consulta o servidor DNS. DNS responde com o endereço IP do balanceador de carga. O consumidor envia uma solicitação TCP ao balanceador de carga para obter dados por meio de um link direto ou gateway de trânsito. O balanceador de carga encaminha a solicitação para dispositivos VNF e, em seguida, para destinos de backend. O destino gera uma resposta e essa resposta é enviada de volta para o NLB, em seguida, novamente para os dispositivos VNF antes de retornar ao cliente.
Caso de uso 4: Alta disponibilidade em várias zonas usando um balanceador de carga de rede
A Figura 5 ilustra como você pode implementar uma NLB para dar suporte a várias zonas. Esse cenário de implantação geralmente requer o uso da opção de balanceador de carga global (GLB) em IBM Cloud Internet Services(CIS).
Existe uma limitação conhecida para esse caso de uso. Dois membros com a mesma instância e porta não podem existir ao mesmo tempo. Em vez disso, você pode usar uma porta diferente com a mesma instância.
Talvez seja interessante aproveitar o alto desempenho em termos de taxa de transferência (e a baixa latência) que o NLB obtém por meio do DSR. Além disso, recomenda-se que você implante suas cargas de trabalho em várias zonas para aumentar sua disponibilidade em um ambiente de Alta Disponibilidade (HA).
É possível usar esse cenário de implementação para obter a alta disponibilidade e assegurar que as cargas de trabalho estejam disponíveis em várias zonas de disponibilidade no caso de uma falha do balanceador de carga Se uma condição de falha ocorrer com um balanceador de carga em uma zona de disponibilidade, o GLB não enviará mais o tráfego para essa zona de disponibilidade Por exemplo, se ocorrer uma falha na zona de disponibilidade 1, o GLB enviará tráfego para a zona de disponibilidade 2 ou zona de disponibilidade 3. Os cenários de exemplos podem incluir um grande número de falhas, tudo, desde um único NLB, até uma zona de disponibilidade inteira.
O requisito de um NLB por zona é necessário apenas para NLB públicos e privados. O Private Path NLB é regional por natureza, portanto, não há necessidade de definir um por zona.
Caso de uso 5: balanceador de carga de rede de caminho privado
Um caminho privado NLB mantém todos os pontos de verificação de tráfego entre o provedor e o consumidor dentro da infraestrutura IBM Cloud. Os dados não saem para a Internet.
Diferentemente de outros NLBs, um balanceador de carga de rede de caminho privado oferece disponibilidade regional e é resiliente a falhas de zona, mesmo que uma única sub-rede seja selecionada. Não é necessário criar vários balanceadores de carga de caminho privado nem especificar mais do que uma única sub-rede para garantir a resiliência à falha da zona. Sua seleção de sub-rede afeta apenas os endereços IP associados ao balanceador de carga.
É possível usar somente NLBs de caminho privado com um serviço de Caminho privado. Para obter mais informações, consulte Sobre os serviços do Caminho Privado
A Figura 6 ilustra como um NLB de caminho privado funciona para dar suporte a um serviço de caminho privado. O Private Path NLB é registrado com o servidor DNS. O Consumidor opcionalmente consulta o servidor DNS. Em seguida, o consumidor envia uma solicitação de dados TCP para o NLB de caminho privado por meio de um gateway VPE, e o NLB de caminho privado encaminha a solicitação para os destinos. Por sua vez, os alvos geram uma resposta, que é enviada pelo direct-server-return para o VPE e, em seguida, para o consumidor.