O que é o software Load Balancer ( SLB ) para Sdn?What is Software Load Balancer (SLB) for SDN?

Aplica-se a: Azure Stack HCI, versão 20H2; Windows Server 2019Applies to: Azure Stack HCI, version 20H2; Windows Server 2019

Os CSPs (provedores de serviços de nuvem) e as empresas que estão implantando Sdn (rede definida pelo software) no Azure Stack HCI podem usar o SLB (Load Balancer de software) para distribuir uniformemente o tráfego de rede do locatário e do cliente de locatário entre os recursos de rede virtual.Cloud Service Providers (CSPs) and enterprises that are deploying Software Defined Networking (SDN) in Azure Stack HCI can use Software Load Balancer (SLB) to evenly distribute tenant and tenant customer network traffic among virtual network resources. O SLB permite que vários servidores hospedem a mesma carga de trabalho, fornecendo alta disponibilidade e escalabilidade.SLB enables multiple servers to host the same workload, providing high availability and scalability.

Os Load Balancer de software incluem os seguintes recursos:Software Load Balancer includes the following capabilities:

  • Serviços de balanceamento de carga de camada 4 (L4) para tráfego de TCP/UDP Norte/Sul e leste/oeste.Layer 4 (L4) load balancing services for north/south and east/west TCP/UDP traffic.

  • Rede pública e balanceamento de carga de tráfego de rede interno.Public network and Internal network traffic load balancing.

  • Suporte a DIPs (endereços IP dinâmicos) em redes locais virtuais (VLANs) e em redes virtuais que você cria usando a virtualização de rede Hyper-V.Dynamic IP addresses (DIPs) support on virtual Local Area Networks (VLANs) and on virtual networks that you create by using Hyper-V Network Virtualization.

  • Suporte à investigação de integridade.Health probe support.

  • Pronto para a escala de nuvem, incluindo capacidade de expansão e capacidade de expansão para multiplexadores e agentes de host.Ready for cloud scale, including scale-out capability and scale-up capability for multiplexers and host agents.

  • Uma borda unificada de multilocatários integrando-se diretamente a tecnologias SDN como o gateway RAS, o firewall de datacenter e o refletor de rota.A multitenant unified edge by seamlessly integrating with SDN technologies such as the RAS Gateway, Datacenter Firewall, and Route Reflector.

Para obter mais informações, consulte Software Load Balancer recursos neste tópico.For more information, see Software Load Balancer Features in this topic.

Observação

O controlador de rede não dá suporte a multilocação para VLANs.Multitenancy for VLANs is not supported by Network Controller. 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.However, you can use VLANs with SLB for service provider managed workloads, such as the datacenter infrastructure and high density Web servers.

Usando Load Balancer de software, 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.Using Software Load Balancer, you can scale out your load balancing capabilities using SLB virtual machines (VMs) on the same Hyper-V compute servers that you use for your other VM workloads. Por isso, o balanceamento de carga de software dá suporte à criação e exclusão rápida de pontos de extremidade de balanceamento de carga que são necessários para operações de CSP.Because of this, Software Load Balancing supports the rapid creation and deletion of load balancing endpoints that is required for CSP operations. Além disso, o balanceamento de carga de software dá suporte a dezenas de gigabytes por cluster, fornece um modelo de provisionamento simples e é fácil de expandir e reduzir.In addition, Software Load Balancing supports tens of gigabytes per cluster, provides a simple provisioning model, and is easy to scale out and in.

Como funciona o Load Balancer de softwareHow Software Load Balancer works

O software Load Balancer funciona por meio do mapeamento de VIPs (endereços IP virtuais) para DIPs que fazem parte de um conjunto de recursos de serviço de nuvem no datacenter.Software Load Balancer works by mapping virtual IP addresses (VIPs) to DIPs that are part of a cloud service set of resources in the datacenter.

VIPs são endereços IP únicos que fornecem acesso público a um pool de VMs com balanceamento de carga.VIPs are single IP addresses that provide public access to a pool of load balanced VMs. Por exemplo, VIPs são endereços IP expostos na Internet para que os locatários e clientes locatários possam se conectar a recursos de locatário no datacenter na nuvem.For example, VIPs are IP addresses that are exposed on the internet so that tenants and tenant customers can connect to tenant resources in the cloud datacenter.

DIPs são os endereços IP das VMs membro de um pool com balanceamento de carga por trás do VIP.DIPs are the IP addresses of the member VMs of a load balanced pool behind the VIP. Os DIPs são atribuídos dentro da infraestrutura de nuvem para os recursos de locatário.DIPs are assigned within the cloud infrastructure to the tenant resources.

VIPs estão localizados no multiplexador SLB (MUX).VIPs are located in the SLB Multiplexer (MUX). O MUX consiste em uma ou mais VMs.The MUX consists of one or more VMs. O controlador de rede fornece a cada MUX cada VIP, e cada MUX, por sua vez, usa Border Gateway Protocol (BGP) para anunciar cada VIP aos roteadores na rede física como uma rota/32.Network Controller provides each MUX with each VIP, and each MUX in turn uses Border Gateway Protocol (BGP) to advertise each VIP to routers on the physical network as a /32 route. O BGP permite que os roteadores de rede física:BGP allows the physical network routers to:

  • 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.Learn that a VIP is available on each MUX, even if the MUXes are on different subnets in a Layer 3 network.

  • Espalhe a carga para cada VIP em todos os MUXes disponíveis usando o roteamento de vários caminhos (ECMP) de custo igual.Spread the load for each VIP across all available MUXes using Equal Cost Multi-Path (ECMP) routing.

  • Detectar automaticamente uma falha ou remoção de MUX e parar de enviar tráfego para o MUX com falha.Automatically detect a MUX failure or removal and stop sending traffic to the failed MUX.

  • Espalhe a carga do MUX com falha ou removido entre os MUXes íntegros.Spread the load from the failed or removed MUX across the healthy MUXes.

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.When public traffic arrives from the internet, the SLB MUX examines the traffic, which contains the VIP as a destination, and maps and rewrites the traffic so that it will arrive at an individual DIP. Para o tráfego de rede de entrada, essa transação é executada em um processo de duas etapas que é dividido entre as VMs do MUX e o host do Hyper-V onde o DIP de destino está localizado:For inbound network traffic, this transaction is performed in a two-step process that is split between the MUX VMs and the Hyper-V host where the destination DIP is located:

  1. Balanceamento de carga – a MUX usa o VIP para selecionar um DIP, encapsula o pacote e encaminha o tráfego para o host do Hyper-V onde o DIP está localizado.Load balance - the MUX uses the VIP to select a DIP, encapsulates the packet, and forwards the traffic to the Hyper-V host where the DIP is located.

  2. NAT (conversão de endereços de rede) – o host Hyper-V remove o encapsulamento do pacote, converte o VIP em um DIP, remapeia as portas e encaminha o pacote para a VM DIP.Network Address Translation (NAT) - the Hyper-V host removes encapsulation from the packet, translates the VIP to a DIP, remaps the ports, and forwards the packet to the DIP VM.

O MUX sabe como mapear VIPs para o DIPs correto devido às políticas de balanceamento de carga que você define usando o controlador de rede.The MUX knows how to map VIPs to the correct DIPs because of load balancing policies that you define by using Network Controller. Essas regras incluem protocolo, porta de front-end, porta de back-end e algoritmo de distribuição (5, 3 ou 2 tuplas).These rules include Protocol, Front-end Port, Back-end Port, and distribution algorithm (5, 3, or 2 tuples).

Quando as VMs de locatário respondem e enviam o tráfego de rede de saída para a Internet ou para locais de locatário remotos, 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.When tenant VMs respond and send outbound network traffic back to the internet or remote tenant locations, because the NAT is performed by the Hyper-V host, the traffic bypasses the MUX and goes directly to the edge router from the Hyper-V host. Esse processo de bypass de MUX é chamado de retorno de servidor direto (DSR).This MUX bypass process is called Direct Server Return (DSR).

E, depois que o fluxo de tráfego de rede inicial é estabelecido, o tráfego de rede de entrada ignora completamente o SLB MUX.And after the initial network traffic flow is established, the inbound network traffic bypasses the SLB MUX completely.

Na ilustração a seguir, um computador cliente executa uma consulta DNS para o endereço IP de um site da empresa do SharePoint – nesse caso, uma empresa fictícia chamada contoso.In the following illustration, a client computer performs a DNS query for the IP address of a company SharePoint site - in this case, a fictional company named Contoso. O seguinte processo ocorre:The following process occurs:

  1. O servidor DNS retorna o 107.105.47.60 VIP para o cliente.The DNS server returns the VIP 107.105.47.60 to the client.

  2. O cliente envia uma solicitação HTTP para o VIP.The client sends an HTTP request to the VIP.

  3. A rede física tem vários caminhos disponíveis para alcançar o VIP localizado em qualquer MUX.The physical network has multiple paths available to reach the VIP located on any MUX. Cada roteador ao longo do caminho usa ECMP para escolher o próximo segmento do caminho até chegar à solicitação em um MUX.Each router along the way uses ECMP to pick the next segment of the path until the request arrives at a MUX.

  4. O MUX que recebe a solicitação verifica as políticas configuradas 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.60The MUX that receives the request checks configured policies, and sees that there are two DIPs available, 10.10.10.5 and 10.10.20.5, on a virtual network to handle the request to the VIP 107.105.47.60

  5. O MUX seleciona o 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.The MUX selects DIP 10.10.10.5 and encapsulates the packets using VXLAN so that it can send it to the host containing the DIP using the host's physical network address.

  6. O host recebe o pacote encapsulado e o inspeciona.The host receives the encapsulated packet and inspects it. Ele remove o encapsulamento e reescreve o pacote para que o destino agora seja DIP 10.10.10.5 em vez do VIP e, em seguida, envie o tráfego para a VM DIP.It removes the encapsulation and rewrites the packet so that the destination is now DIP 10.10.10.5 instead of the VIP, and then sends the traffic to DIP VM.

  7. A solicitação chega ao site do contoso SharePoint no farm de servidores 2.The request reaches the Contoso SharePoint site in Server Farm 2. O servidor gera uma resposta e a envia para o cliente, usando seu próprio endereço IP como a origem.The server generates a response and sends it to the client, using its own IP address as the source.

  8. O host intercepta o pacote de saída no comutador virtual que se lembra de que o cliente, agora, o destino, fez a solicitação original para o VIP.The host intercepts the outgoing packet in the virtual switch which remembers that the client, now the destination, made the original request to the VIP. O host reescreve a origem do pacote para ser o VIP para que o cliente não veja o endereço DIP.The host rewrites the source of the packet to be the VIP so that the client does not see the DIP address.

  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.The host forwards the packet directly to the default gateway for the physical network which uses its standard routing table to forward the packet on to the client, which eventually receives the response.

Processo de balanceamento de carga de software

Tráfego de datacenter interno de balanceamento de cargaLoad balancing internal datacenter traffic

Ao balancear a carga do tráfego de rede interno ao datacenter, como entre os recursos de locatário que estão sendo executados em servidores diferentes e são membros da mesma rede virtual, o comutador virtual do Hyper-V ao qual as VMs estão conectadas executa o NAT.When load balancing network traffic internal to the datacenter, such as between tenant resources that are running on different servers and are members of the same virtual network, the Hyper-V virtual switch to which the VMs are connected performs 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, em seguida, roteia o tráfego para o DIP.With internal traffic load balancing, the first request is sent to and processed by the MUX, which selects the appropriate DIP, and then routes the traffic to the DIP. Desse ponto em diante, o fluxo de tráfego estabelecido ignora o MUX e vai diretamente da VM para a VM.From that point forward, the established traffic flow bypasses the MUX and goes directly from VM to VM.

Investigações de integridadeHealth probes

O software Load Balancer inclui investigações de integridade para validar a integridade da infraestrutura de rede, incluindo o seguinte:Software Load Balancer includes health probes to validate the health of the network infrastructure, including the following:

  • Investigação de TCP para portaTCP probe to port

  • Investigação de HTTP para porta e URLHTTP probe to port and URL

Ao contrário de um dispositivo de balanceador de carga tradicional em que a investigação se origina no dispositivo e viaja pela conexão com o DIP, a investigação de SLB se origina no host onde o DIP está localizado e vai diretamente do agente de host SLB para o DIP, distribuindo ainda mais o trabalho entre os hosts.Unlike a traditional load balancer appliance where the probe originates on the appliance and travels across the wire to the DIP, the SLB probe originates on the host where the DIP is located and goes directly from the SLB host agent to the DIP, further distributing the work across the hosts.

Infraestrutura de Load Balancer de softwareSoftware Load Balancer Infrastructure

Antes de configurar o Load Balancer de software, você deve primeiro implantar o controlador de rede e uma ou mais VMs MUX do SLB.Before you can configure Software Load Balancer, you must first deploy Network Controller and one or more SLB MUX VMs.

Além disso, você deve configurar os hosts de HCI Azure Stack com o comutador virtual Hyper-V habilitado para SDN e garantir que o agente de host SLB esteja em execução.In addition, you must configure the Azure Stack HCI hosts with the SDN-enabled Hyper-V virtual switch and ensure that the SLB Host Agent is running. Os roteadores que atendem aos hosts devem dar suporte ao BGP (ECMP Routing and Border Gateway Protocol) e devem ser configurados para aceitar solicitações de emparelhamento via protocolo BGP do SLB MUXes.The routers that serve the hosts must support ECMP routing and Border Gateway Protocol (BGP), and they must be configured to accept BGP peering requests from the SLB MUXes.

A figura a seguir fornece uma visão geral da infraestrutura SLB.The following figure provides an overview of the SLB infrastructure.

Processo de balanceamento de carga de software

As seções a seguir fornecem mais informações sobre esses elementos da infraestrutura de Load Balancer de software.The following sections provide more information about these elements of the Software Load Balancer infrastructure.

Controlador de redeNetwork Controller

O controlador de rede hospeda o Gerenciador SLB e executa as seguintes ações para Load Balancer de software:Network Controller hosts the SLB Manager and performs the following actions for Software Load Balancer:

  • Processa comandos SLB que entram por meio da API Northbound do centro de administração do Windows, do System Center, do Windows PowerShell ou de outro aplicativo de gerenciamento de rede.Processes SLB commands that come in through the Northbound API from Windows Admin Center, System Center, Windows PowerShell, or another network management application.

  • Calcula a política de distribuição para Azure Stack hosts HCI e SLB MUXes.Calculates policy for distribution to Azure Stack HCI hosts and SLB MUXes.

  • Fornece o status de integridade da infraestrutura de Load Balancer de software.Provides the health status of the Software Load Balancer infrastructure.

Você pode usar o centro de administração do Windows ou o Windows PowerShell para instalar e configurar o controlador de rede e outra infraestrutura SLB.You can use Windows Admin Center or Windows PowerShell to install and configure Network Controller and other SLB infrastructure.

MUX SLBSLB 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.The SLB MUX processes inbound network traffic and maps VIPs to DIPs, then forwards the traffic to the correct DIP. Cada MUX também usa o BGP para publicar rotas VIP para roteadores de borda.Each MUX also uses BGP to publish VIP routes to edge routers. O BGP Keep Alive notifica o MUXes quando um MUX falha, o que permite que o Active MUXes redistribua a carga no caso de uma falha de MUX.BGP Keep Alive notifies MUXes when a MUX fails, which allows active MUXes to redistribute the load in case of a MUX failure. Basicamente, isso fornece balanceamento de carga para os balanceadores de carga.This essentially provides load balancing for the load balancers.

Agente de host SLBSLB Host Agent

Ao implantar Load Balancer de software, você deve usar o centro de administração do Windows, o System Center, o Windows PowerShell ou outro aplicativo de gerenciamento para implantar o agente de host SLB em cada servidor host.When you deploy Software Load Balancer, you must use Windows Admin Center, System Center, Windows PowerShell, or another management application to deploy the SLB Host Agent on every host server.

O agente de host SLB escuta atualizações de política SLB do controlador de rede.The SLB Host Agent listens for SLB policy updates from Network Controller. Além disso, as regras de programas de agente de host para SLB nos comutadores virtuais Hyper-V habilitados para SDN configuradas no computador local.In addition, the host agent programs rules for SLB into the SDN-enabled Hyper-V virtual switches that are configured on the local computer.

Comutador virtual Hyper-V habilitado para SDNSDN-enabled Hyper-V virtual switch

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.For a virtual switch to be compatible with SLB, the Virtual Filtering Platform (VFP) extension must be enabled on the virtual switch. Isso é feito automaticamente pelos scripts do PowerShell de implantação do SDN, pelo assistente de implantação do centro de administração do Windows e pela implantação do SCVMM (System Center Virtual Machine Manager).This is done automatically by the SDN deployment PowerShell scripts, Windows Admin Center deployment wizard, and System Center Virtual Machine Manager (SCVMM) deployment.

Para obter informações sobre como habilitar o VFP em comutadores virtuais, consulte os comandos do Windows PowerShell Get-VMSystemSwitchExtension e Enable-VMSwitchExtension.For information on enabling VFP on virtual switches, see the Windows PowerShell commands Get-VMSystemSwitchExtension and Enable-VMSwitchExtension.

O comutador virtual Hyper-V habilitado para SDN executa as seguintes ações para SLB:The SDN-enabled Hyper-V virtual switch performs the following actions for SLB:

  • Processa o caminho de dados para SLB.Processes the data path for SLB.

  • Recebe o tráfego de rede de entrada do MUX.Receives inbound network traffic from the MUX.

  • Ignora o MUX para o tráfego de rede de saída, enviando-o ao roteador usando DSR.Bypasses the MUX for outbound network traffic, sending it to the router using DSR.

Roteador BGPBGP router

O roteador BGP executa as seguintes ações para Load Balancer de software:The BGP router performs the following actions for Software Load Balancer:

  • Roteia o tráfego de entrada para o MUX usando ECMP.Routes inbound traffic to the MUX using ECMP.

  • Para o tráfego de rede de saída, o usa a rota fornecida pelo host.For outbound network traffic, uses the route provided by the host.

  • Escuta atualizações de rota para VIPs de SLB MUX.Listens for route updates for VIPs from SLB MUX.

  • Remove o SLB MUXes da rotação SLB se Keep Alive falhar.Removes SLB MUXes from the SLB rotation if Keep Alive fails.

Recursos de Load Balancer de softwareSoftware Load Balancer Features

As seções a seguir descrevem alguns dos recursos e funcionalidades do Load Balancer de software.The following sections describe some of the features and capabilities of Software Load Balancer.

Funcionalidade básicaCore functionality

  • O SLB fornece serviços de balanceamento de carga de camada 4 para o tráfego de TCP/UDP do Norte/Sul e do leste/oeste.SLB provides Layer 4 load balancing services for north/south and east/west TCP/UDP traffic.

  • Você pode usar SLB em uma rede baseada em virtualização de rede Hyper-V.You can use SLB on a Hyper-V Network Virtualization-based network.

  • Você pode usar SLB com uma rede baseada em VLAN para VMs DIP conectadas a um comutador virtual Hyper-V habilitado para SDN.You can use SLB with a VLAN-based network for DIP VMs connected to a SDN Enabled Hyper-V virtual switch.

  • Uma instância SLB pode lidar com vários locatários.One SLB instance can handle multiple tenants.

  • O SLB e o DIP dão suporte a um caminho de retorno escalonável e de baixa latência, conforme implementado pelo DSR.SLB and DIP support a scalable and low-latency return path, as implemented by DSR.

  • O SLB funciona quando você também usa o switch Embedded Integration (SET) ou a virtualização de entrada/saída de raiz única (SR-IOV).SLB functions when you are also using Switch Embedded Teaming (SET) or Single Root Input/Output Virtualization (SR-IOV).

  • O SLB inclui o suporte ao protocolo IP versão 6 (IPv6) e à versão 4 (IPv4).SLB includes Internet Protocol version 6 (IPv6) and version 4 (IPv4) support.

  • Para cenários de gateway site a site, o SLB fornece a funcionalidade NAT para permitir que todas as conexões site a site utilizem um único IP público.For site-to-site gateway scenarios, SLB provides NAT functionality to enable all site-to-site connections to utilize a single public IP.

Escala e desempenhoScale and performance

  • Pronto para a escala de nuvem, incluindo capacidade de expansão e escalabilidade horizontal para MUXes e agentes de host.Ready for cloud scale, including scale-out and scale-up capability for MUXes and Host Agents.

  • Um módulo de controlador de rede ativo do Gerenciador SLB pode dar suporte a oito instâncias do MUX.One active SLB Manager Network Controller module can support eight MUX instances.

Alta disponibilidadeHigh availability

  • Você pode implantar o SLB em mais de dois nós em uma configuração ativa/ativa.You can deploy SLB to more than two nodes in an active/active configuration.

  • O MUXes pode ser adicionado e removido do pool de MUX sem afetar o serviço SLB.MUXes can be added and removed from the MUX pool without impacting the SLB service. Isso mantém a disponibilidade de SLB quando MUXes individuais estão sendo corrigidos.This maintains SLB availability when individual MUXes are being patched.

  • As instâncias individuais do MUX têm um tempo de atividade de 99%.Individual MUX instances have an uptime of 99 percent.

  • Os dados de monitoramento de integridade estão disponíveis para entidades de gerenciamento.Health monitoring data is available to management entities.

Próximas etapasNext steps

Para obter informações relacionadas, consulte também:For related information, see also: