O que é o SLB (Balanceador de Carga de Software) para SDN?

Aplica-se a: Azure Stack HCI, versões 23H2 e 22H2; Windows Server 2022, Windows Server 2019 Windows Server 2016

Os CSPs (Provedores de Serviços de Nuvem) e as empresas que estão implantando o SDN (Software Defined Networking) podem usar o software Load Balancer (SLB) para distribuir uniformemente o tráfego de rede do cliente de locatário e locatário entre os recursos de rede virtual. O SLB permite que vários servidores hospedem a mesma carga de trabalho, fornecendo alta disponibilidade e escalabilidade.

Os Load Balancer de software podem fornecer uma borda unificada e multilocatário integrando-se a tecnologias de SDN, como Gateway ras, Firewall do Datacenter e Refletor de Rota.

Observação

Não há suporte para multilocatário para VLANs pelo Controlador de Rede. No entanto, você pode usar VLANs com SLB para cargas de trabalho gerenciadas do provedor de serviços, como a infraestrutura do datacenter e servidores Web de alta densidade.

Usando o software Load Balancer, você pode escalar horizontalmente seus recursos de balanceamento de carga usando VMs (máquinas virtuais) SLB nos mesmos servidores de computação do Hyper-V que você usa para suas outras cargas de trabalho de VM. Por isso, o Software Load Balancer dá suporte à criação rápida e à exclusão de pontos de extremidade de balanceamento de carga conforme necessário para operações CSP. Além disso, o Software Load Balancer dá suporte a dezenas de gigabytes por cluster, fornece um modelo de provisionamento simples e é fácil de escalar horizontalmente.

Para saber como gerenciar políticas de software Load Balancer usando Windows Admin Center, consulte Gerenciar Load Balancer de software para SDN.

O que o Software Load Balancer inclui?

O software Load Balancer inclui os seguintes recursos:

  • Serviços de balanceamento de carga de camada 4 (L4) para tráfego TCP/UDP norte/sul e leste/oeste.

  • Rede pública e balanceamento de carga de tráfego de rede interno.

  • Suporte a DIPs (endereços IP dinâmicos) em VLANs (redes virtuais de área local) e em redes virtuais que você cria usando a Virtualização de Rede do Hyper-V.

  • Suporte à investigação de integridade.

  • Pronto para escala de nuvem, incluindo capacidade de expansão e capacidade de expansão para multiplexadores e agentes host.

Para obter mais informações, consulte Recursos de software Load Balancer neste artigo.

Como funciona o software Load Balancer

O software Load Balancer funciona mapeando VIPs (endereços IP virtuais) para DIPs que fazem parte de um conjunto de recursos de serviço de nuvem no datacenter.

OS VIPs são endereços IP únicos que fornecem acesso público a um pool de VMs com balanceamento de carga. Por exemplo, VIPs são endereços IP expostos na Internet para que locatários e clientes locatários possam se conectar aos recursos de locatário no datacenter de nuvem.

DIPs são os endereços IP das VMs membro de um pool com balanceamento de carga atrás do VIP. Os DIPs são atribuídos dentro da infraestrutura de nuvem aos recursos de locatário.

Os VIPs estão localizados no MUX (Multiplexer SLB). O MUX consiste em uma ou mais VMs. O Controlador de Rede fornece cada MUX com cada VIP e cada MUX, por sua vez, usa o PROTOCOLO BGP (Border Gateway Protocol) para anunciar cada VIP para roteadores na rede física como uma rota /32. O BGP permite que os roteadores de rede física:

  • Saiba que um VIP está disponível em cada MUX, mesmo que os MUXes estejam em sub-redes diferentes em uma rede de Camada 3.

  • Espalhe a carga para cada VIP em todos os MUXes disponíveis usando o roteamento ECMP (Caminho Múltiplo de Custo Igual).

  • Detecte automaticamente uma falha ou remoção de MUX e interrompa o envio de tráfego para o MUX com falha.

  • Espalhe a carga do MUX com falha ou removido entre os MUXes íntegros.

Quando o tráfego público chega da Internet, o SLB MUX examina o tráfego, que contém o VIP como um destino, e mapeia e reescreve o tráfego para que ele chegue a um DIP individual. Para tráfego de rede de entrada, essa transação é executada em um processo de duas etapas dividido entre as VMs MUX e o host Hyper-V em que o DIP de destino está localizado:

  1. Balanceamento de carga – o MUX usa o VIP para selecionar um DIP, encapsula o pacote e encaminha o tráfego para o host Hyper-V onde o DIP está localizado.

  2. NAT (Conversão de Endereços de Rede) – o host Hyper-V remove o encapsulamento do pacote, converte o VIP em um DIP, remapea as portas e encaminha o pacote para a VM DIP.

O MUX sabe como mapear VIPs para os DIPs corretos devido às políticas de balanceamento de carga que você define usando o Controlador de Rede. Essas regras incluem protocolo, porta de front-end, porta de back-end e algoritmo de distribuição (5, 3 ou 2 tuplas).

Quando as VMs de locatário respondem e enviam o tráfego de rede de saída de volta para os locais da Internet ou do locatário remoto, como o NAT é executado pelo host Hyper-V, o tráfego ignora o MUX e vai diretamente para o roteador de borda do host Hyper-V. Esse processo de bypass do MUX é chamado de DSR (Retorno do Servidor Direto).

E depois que o fluxo de tráfego de rede inicial é estabelecido, o tráfego de rede de entrada ignora completamente o MUX do SLB.

Na ilustração a seguir, um computador cliente executa uma consulta DNS para o endereço IP de um site do SharePoint da empresa – nesse caso, uma empresa fictícia chamada Contoso. O seguinte processo ocorre:

  1. O servidor DNS retorna o VIP 107.105.47.60 para o cliente.

  2. O cliente envia uma solicitação HTTP para o VIP.

  3. A rede física tem vários caminhos disponíveis para acessar o VIP localizado em qualquer MUX. Cada roteador ao longo do caminho usa o ECMP para escolher o próximo segmento do caminho até que a solicitação chegue a um MUX.

  4. O MUX que recebe as políticas configuradas de verificação de solicitação e vê que há dois DIPs disponíveis, 10.10.10.5 e 10.10.20.5, em uma rede virtual para lidar com a solicitação para o VIP 107.105.47.60

  5. O MUX seleciona DIP 10.10.10.5 e encapsula os pacotes usando VXLAN para que ele possa enviá-lo para o host que contém o DIP usando o endereço de rede física do host.

  6. O host recebe o pacote encapsulado e o inspeciona. Ele remove o encapsulamento e reescreve o pacote para que o destino agora seja DIP 10.10.10.5 em vez do VIP e envie o tráfego para a VM DIP.

  7. A solicitação atinge o site da Contoso SharePoint no Server Farm 2. O servidor gera uma resposta e a envia para o cliente, usando seu próprio endereço IP como a origem.

  8. O host intercepta o pacote de saída no comutador virtual, que lembra que o cliente, agora o destino, fez a solicitação original para o VIP. O host reescreve a origem do pacote para ser o VIP para que o cliente não veja o endereço DIP.

  9. O host encaminha o pacote diretamente para o gateway padrão para a rede física que usa sua tabela de roteamento padrão para encaminhar o pacote para o cliente, que eventualmente recebe a resposta.

Processo de Balanceamento de Carga de Software.

Balanceamento de carga do tráfego interno do datacenter

Ao balancear a carga do tráfego de rede interno para o datacenter, como entre os recursos de locatário que estão em execução em servidores diferentes e que são membros da mesma rede virtual, a opção virtual hyper-v à qual as VMs estão conectadas executa NAT.

Com o balanceamento de carga de tráfego interno, a primeira solicitação é enviada e processada pelo MUX, que seleciona o DIP apropriado e roteia o tráfego para o DIP. Desse ponto em diante, o fluxo de tráfego estabelecido ignora o MUX e vai diretamente da VM para a VM.

Investigações de integridade

O software Load Balancer inclui investigações de integridade para validar a integridade da infraestrutura de rede, incluindo o seguinte:

  • Investigação TCP para porta

  • Investigação HTTP para porta e URL

Ao contrário de um balanceador de carga tradicional dispositivo em que a sonda se origina no dispositivo e viaja pelo fio até o DIP, a investigação SLB se origina no host onde o DIP está localizado e vai diretamente do agente host SLB para o DIP, distribuindo ainda mais o trabalho entre os hosts.

Infraestrutura de Load Balancer de software

Antes de configurar o Software Load Balancer, primeiro você deve implantar o Controlador de Rede e uma ou mais VMs MUX SLB.

Além disso, você deve configurar os hosts do Azure Stack HCI com o comutador virtual Hyper-V habilitado para SDN e garantir que o Agente host SLB esteja em execução. Os roteadores que atendem aos hosts devem dar suporte ao roteamento ECMP e ao BGP (Border Gateway Protocol) e devem ser configurados para aceitar solicitações de emparelhamento BGP dos MUXes SLB.

A figura a seguir fornece uma visão geral da infraestrutura SLB.

Infraestrutura de Load Balancer de software.

As seções a seguir fornecem mais informações sobre esses elementos da infraestrutura de software Load Balancer.

Controlador de rede

O Controlador de Rede hospeda o Gerenciador de SLB e executa as seguintes ações para Software Load Balancer:

  • Processa comandos SLB que vêm por meio da API northbound de Windows Admin Center, System Center, Windows PowerShell ou outro aplicativo de gerenciamento de rede.

  • Calcula a política de distribuição para hosts do Azure Stack HCI e MUXes SLB.

  • Fornece a status de integridade da infraestrutura de software Load Balancer.

Você pode usar Windows Admin Center ou Windows PowerShell para instalar e configurar o Controlador de Rede e outras infraestruturas SLB.

SLB MUX

O SLB MUX processa o tráfego de rede de entrada e mapeia VIPs para DIPs e encaminha o tráfego para o DIP correto. Cada MUX também usa BGP para publicar rotas VIP em roteadores de borda. O BGP Keep Alive notifica os MUXes quando um MUX falha, o que permite que MUXes ativos redistribuam a carga em caso de falha do MUX. Isso essencialmente fornece balanceamento de carga para os balanceadores de carga.

Agente host SLB

Ao implantar o Software Load Balancer, você deve usar Windows Admin Center, System Center, Windows PowerShell ou outro aplicativo de gerenciamento para implantar o Agente host SLB em cada servidor host.

O Agente host SLB escuta atualizações de política SLB do Controlador de Rede. Além disso, as regras de programas do agente host para SLB nos comutadores virtuais do Hyper-V habilitados para SDN configurados no computador local.

Comutador virtual do Hyper-V habilitado para SDN

Para que um comutador virtual seja compatível com o SLB, a extensão VFP (Plataforma de Filtragem Virtual) deve ser habilitada no comutador virtual. Isso é feito automaticamente pelos scripts do PowerShell de implantação do SDN, pelo assistente de implantação de Windows Admin Center e pela implantação do SCVMM (System Center Virtual Machine Manager).

Para obter informações sobre como habilitar o VFP em comutadores virtuais, consulte os comandos Windows PowerShell Get-VMSystemSwitchExtension e Enable-VMSwitchExtension.

O comutador virtual Hyper-V habilitado para SDN executa as seguintes ações para SLB:

  • Processa o caminho de dados para SLB.

  • Recebe o tráfego de rede de entrada do MUX.

  • Ignora o MUX para tráfego de rede de saída, enviando-o para o roteador usando DSR.

Roteador BGP

O roteador BGP executa as seguintes ações para Software Load Balancer:

  • Roteia o tráfego de entrada para o MUX usando o ECMP.

  • Para tráfego de rede de saída, usa a rota fornecida pelo host.

  • Escuta as atualizações de rota para VIPs do SLB MUX.

  • Remove MUXes SLB da rotação do SLB se Keep Alive falhar.

Recursos de Load Balancer de software

As seções a seguir descrevem alguns dos recursos e recursos do Software Load Balancer.

Funcionalidade principal

  • O SLB fornece serviços de balanceamento de carga de Camada 4 para tráfego TCP/UDP norte/sul e leste/oeste.

  • Você pode usar o SLB em uma rede baseada em Virtualização de Rede Hyper-V.

  • Você pode usar o SLB com uma rede baseada em VLAN para VMs DIP conectadas a um comutador virtual Hyper-V habilitado para SDN.

  • Uma instância do SLB pode lidar com vários locatários.

  • O SLB e o DIP dão suporte a um caminho de retorno escalonável e de baixa latência, conforme implementado pelo DSR.

  • O SLB funciona quando você também está usando o SET (Switch Embedded Teaming) ou o SR-IOV (Virtualização de Entrada/Saída raiz única).

  • O SLB inclui o IPv6 (Protocolo de Internet versão 6) e o suporte à versão 4 (IPv4).

  • Para cenários de gateway site a site, o SLB fornece a funcionalidade NAT para habilitar todas as conexões site a site a utilizar um único IP público.

Escala e desempenho

  • Pronto para escala de nuvem, incluindo a capacidade de expansão e expansão para MUXes e agentes de host.

  • Um módulo ativo do Controlador de Rede do SLB Manager pode dar suporte a oito instâncias de MUX.

Alta disponibilidade

  • Você pode implantar o SLB em mais de dois nós em uma configuração ativa/ativa.

  • OS MUXes podem ser adicionados e removidos do pool de MUX sem afetar o serviço SLB. Isso mantém a disponibilidade do SLB quando MUXes individuais estão sendo corrigidos.

  • As instâncias individuais do MUX têm um tempo de atividade de 99%.

  • Os dados de monitoramento de integridade estão disponíveis para entidades de gerenciamento.

Próximas etapas

Para informações relacionadas, confira também: