O que é o Balancer de Carga de Software ( 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 Fornecedores de Serviços em Nuvem (CSPs) e empresas que estão a implementar o Software Defined Networking (SDN) em Azure Stack HCI podem usar o Balancer de Carga de Software (SLB) para distribuir uniformemente o tráfego de clientes de inquilinos e inquilinos entre recursos de rede virtuais.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 alogem a mesma carga de trabalho, proporcionando elevada disponibilidade e escalabilidade.SLB enables multiple servers to host the same workload, providing high availability and scalability.

O Balancer de Carga de Software inclui as seguintes capacidades:Software Load Balancer includes the following capabilities:

  • Serviços de equilíbrio de carga da camada 4 (L4) para o 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 equilíbrio de carga de tráfego de rede interna.Public network and Internal network traffic load balancing.

  • Suporte de endereços IP dinâmicos (DIPs) em redes locais virtuais (VLANs) e em redes virtuais que cria utilizando a Virtualização da Rede Hiper-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.

  • Apoio à sonda de saúde.Health probe support.

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

  • Uma borda unificada multitenant, integrando-se perfeitamente com tecnologias SDN como o RAS Gateway, Datacenter Firewall e Route Refletor.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 as funcionalidades do Balancer de Carga de Software neste tópico.For more information, see Software Load Balancer Features in this topic.

Nota

A multitenancy para VLANs não é suportada pelo Controlador de Rede.Multitenancy for VLANs is not supported by Network Controller. No entanto, pode utilizar VLANs com SLB para cargas de trabalho geridas pelo fornecedor de serviços, tais 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.

Utilizando o Balancer de Carga de Software, pode escalar as suas capacidades de equilíbrio de carga utilizando máquinas virtuais SLB (VMs) nos mesmos servidores de computação Hyper-V que utiliza para as suas outras cargas de trabalho 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 Equilíbrio de Carga de Software suporta a rápida criação e eliminação dos pontos finais de equilíbrio de carga que são necessários para as 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 Software Load Balancing suporta dezenas de gigabytes por cluster, fornece um modelo simples de provisionamento, e é fácil de escalar para fora e dentro.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 Balancer de Carga de SoftwareHow Software Load Balancer works

O Balancer de Carga de Software funciona mapeando endereços IP virtuais (VIPs) para DIPs que fazem parte de um conjunto de recursos de serviço na 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.

Os VIPs são endereços IP únicos que proporcionam acesso público a um conjunto de VMs equilibrados de carga.VIPs are single IP addresses that provide public access to a pool of load balanced VMs. Por exemplo, os VIPs são endereços IP que estão expostos na internet para que os inquilinos e clientes inquilinos possam ligar-se aos recursos dos inquilinos no datacenter da 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 dos VMs membros de uma piscina equilibrada de carga atrá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 aos recursos do inquilino.DIPs are assigned within the cloud infrastructure to the tenant resources.

Os VIPs estão localizados no Multiplexer SLB (MUX).VIPs are located in the SLB Multiplexer (MUX). O MUX é composto por um ou mais VMs.The MUX consists of one or more VMs. O Controlador de Rede fornece cada MUX a cada VIP, e cada MUX por sua vez utiliza o Border Gateway Protocol (BGP) para anunciar cada VIP aos routers 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. A BGP permite que os routers 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 diferentes sub-redes numa 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 utilizando o roteamento multi-path de custo igual (ECMP).Spread the load for each VIP across all available MUXes using Equal Cost Multi-Path (ECMP) routing.

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

  • Espalhe a carga do MUX falhado ou removido através dos MUXes saudáveis.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 destino, e mapeia e reescreve o tráfego para que 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, esta transação é realizada num processo em duas etapas que é dividido entre os VMs MUX e o anfitrião 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. Equilíbrio de carga - o MUX utiliza o VIP para selecionar um DIP, encapsula o pacote e encaminha o tráfego para o anfitrião 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. Tradução do endereço de rede (NAT) - o anfitrião Hyper-V remove a encapsulação do pacote, traduz o VIP para um DIP, remaps as portas e encaminha o pacote para o DIP VM.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 os DIPs corretos devido às políticas de equilíbrio de carga que 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. Estas regras incluem Protocolo, Porta Frontal, Porta traseira e algoritmo de distribuição (5, 3 ou 2 tuples).These rules include Protocol, Front-end Port, Back-end Port, and distribution algorithm (5, 3, or 2 tuples).

Quando os VMs do inquilino respondem e enviam o tráfego de rede de saída de volta para a internet ou locais de inquilino remoto, porque o NAT é realizado pelo anfitrião Hyper-V, o tráfego contorna o MUX e vai diretamente para o router de borda do anfitrião 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. Este processo de bypass MUX chama-se Direct Server Return (DSR).This MUX bypass process is called Direct Server Return (DSR).

E após o fluxo de tráfego inicial da rede ser estabelecido, o tráfego de rede de entrada contorna completamente o SLB MUX.And after the initial network traffic flow is established, the inbound network traffic bypasses the SLB MUX completely.

Na seguinte ilustração, um computador cliente executa uma consulta DE DNS para o endereço IP de um site da empresa SharePoint - neste 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. Ocorre o seguinte processo:The following process occurs:

  1. O servidor DNS devolve o VIP 107.105.47.60 ao cliente.The DNS server returns the VIP 107.105.47.60 to the client.

  2. O cliente envia um pedido HTTP ao VIP.The client sends an HTTP request to the VIP.

  3. A rede física tem vários caminhos disponíveis para chegar ao VIP localizado em qualquer MUX.The physical network has multiple paths available to reach the VIP located on any MUX. Cada router ao longo do caminho utiliza o ECMP para escolher o próximo segmento do caminho até que o pedido chegue a 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 o pedido verifica as políticas configuradas, e vê que existem dois DIPs disponíveis, 10.10.10.5 e 10.10.20.5, numa rede virtual para lidar com o pedido ao VIP 107.105.47.60, numa rede virtual para lidar com o pedido ao 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 DIP 10.10.10.5 e encapsula os pacotes utilizando o VXLAN para que possa enviá-lo para o anfitrião contendo o DIP utilizando o endereço de rede física do anfitrião.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 hospedeiro recebe o pacote encapsulado e inspeciona-o.The host receives the encapsulated packet and inspects it. Remove a encapsulação e reescreve o pacote de modo a que o destino seja agora DIP 10.10.10.5 em vez do VIP, e depois envia o tráfego para DIP VM.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. O pedido chega ao site Contoso SharePoint na Server Farm 2.The request reaches the Contoso SharePoint site in Server Farm 2. O servidor gera uma resposta e envia-a para o cliente, utilizando o seu próprio endereço IP como fonte.The server generates a response and sends it to the client, using its own IP address as the source.

  8. O anfitrião interceta o pacote de saída no interruptor virtual que se lembra que o cliente, agora o destino, fez o pedido original ao 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 anfitrião 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 anfitrião encaminha o pacote diretamente para o gateway padrão para a rede física que utiliza a sua tabela de encaminhamento 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 equilíbrio de carga de software

Carga equilibrando tráfego interno de datacenterLoad balancing internal datacenter traffic

Quando o equilíbrio de rede de equilíbrio interno para o datacenter, como entre os recursos do inquilino que estão a funcionar em diferentes servidores e são membros da mesma rede virtual, o interruptor virtual Hyper-V ao qual os VMs estão ligados realiza 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 equilíbrio da carga de tráfego interno, o primeiro pedido é enviado e processado pelo MUX, que seleciona o DIP apropriado, e depois encaminha 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. A partir daí, o fluxo de tráfego estabelecido contorna o MUX e vai diretamente de VM para VM.From that point forward, the established traffic flow bypasses the MUX and goes directly from VM to VM.

Sondas do estado de funcionamentoHealth probes

O Balancer de Carga de Software inclui sondas de saúde para validar a saúde da infraestrutura de rede, incluindo as seguintes:Software Load Balancer includes health probes to validate the health of the network infrastructure, including the following:

  • Sonda TCP para o portoTCP probe to port

  • Sonda HTTP para porta e URLHTTP probe to port and URL

Ao contrário de um aparelho equilibrador de carga tradicional, onde a sonda se origina no aparelho e viaja através do fio até ao DIP, a sonda SLB origina-se no hospedeiro onde se encontra o DIP e vai diretamente do agente anfitrião SLB para o DIP, distribuindo ainda mais o trabalho pelos anfitriões.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 balanceador de carga de softwareSoftware Load Balancer Infrastructure

Antes de configurar o Balancer de Carga de Software, tem primeiro de implementar o Controlador de Rede e um ou mais VMs SLB MUX.Before you can configure Software Load Balancer, you must first deploy Network Controller and one or more SLB MUX VMs.

Além disso, deve configurar os anfitriões Azure Stack HCI com o interruptor virtual Hiper-V ativado pela SDN e garantir que o Agente anfitrião SLB está em funcionamento.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 routers que servem os anfitriões devem apoiar o encaminhamento ECMP e o Protocolo de Gateway fronteiriço (BGP), e devem ser configurados para aceitar pedidos de observação BGP dos MUXes SLB.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.

O seguinte valor fornece uma visão geral da infraestrutura SLB.The following figure provides an overview of the SLB infrastructure.

Processo de equilíbrio de carga de software

As secções seguintes fornecem mais informações sobre estes elementos da infraestrutura do Balancer de Carga 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 acolhe o Gestor SLB e executa as seguintes ações para o Balancer de Carga de Software:Network Controller hosts the SLB Manager and performs the following actions for Software Load Balancer:

  • Processes comandos SLB que entram através da API de Northbound do Windows Admin Center, System Center, Windows PowerShell ou outra aplicação de gestão 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 os anfitriões HCI da Azure Stack e muxes SLB.Calculates policy for distribution to Azure Stack HCI hosts and SLB MUXes.

  • Fornece o estado de saúde da infraestrutura de balanceadores de carga de software.Provides the health status of the Software Load Balancer infrastructure.

Pode utilizar o Windows Admin Center ou o Windows PowerShell para instalar e configurar o Controlador de Rede e outras infraestruturas SLB.You can use Windows Admin Center or Windows PowerShell to install and configure Network Controller and other SLB infrastructure.

SLB MUXSLB MUX

O SLB MUX processa o tráfego de rede de entrada e mapeia VIPs para DIPs, em seguida, 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 BGP para publicar rotas VIP para routers de borda.Each MUX also uses BGP to publish VIP routes to edge routers. O BGP Keep Alive notifica os MUXes quando um MUX falha, o que permite que os MUXes ativos redistribuam a carga em caso de 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. Isto essencialmente proporciona equilíbrio de carga para os equilibradores de carga.This essentially provides load balancing for the load balancers.

Agente anfitrião SLBSLB Host Agent

Quando implementar o Balancer de Carga de Software, deve utilizar o Windows Admin Center, o System Center, o Windows PowerShell ou outra aplicação de gestão para implementar o Agente anfitrião SLB em todos os servidores anfitriões.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 Anfitrião SLB ouve 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, os programas de programas do agente anfitrião para SLB nos interruptores virtuais Hiper-V ativados pela SDN que estão configurados 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.

Interruptor virtual hiper-V ativado pela SDNSDN-enabled Hyper-V virtual switch

Para que um interruptor virtual seja compatível com o SLB, a extensão da Plataforma de Filtragem Virtual (VFP) deve ser ativada no interruptor virtual.For a virtual switch to be compatible with SLB, the Virtual Filtering Platform (VFP) extension must be enabled on the virtual switch. Isto é feito automaticamente pelos scripts PowerShell de implementação de implementação SDN, assistente de implementação do Windows Admin Center e implementação do System Center Virtual Machine Manager (SCVMM).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 a ativação do VFP nos interruptores virtuais, consulte os comandos 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 interruptor virtual Hiper-V ativado pela SDN executa as seguintes ações para SLB:The SDN-enabled Hyper-V virtual switch performs the following actions for SLB:

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

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

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

Router BGPBGP router

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

  • Rotas de entrada para o MUX utilizando ecmp.Routes inbound traffic to the MUX using ECMP.

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

  • Ouça as atualizações de rotas para VIPs do SLB MUX.Listens for route updates for VIPs from SLB MUX.

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

Funcionalidades do balanceador de carga de softwareSoftware Load Balancer Features

As seguintes secções descrevem algumas das funcionalidades e capacidades do Balancer de Carga de Software.The following sections describe some of the features and capabilities of Software Load Balancer.

Funcionalidade centralCore functionality

  • A SLB fornece serviços de equilíbrio de carga da camada 4 para o tráfego de TCP/UDP norte/sul e leste/oeste.SLB provides Layer 4 load balancing services for north/south and east/west TCP/UDP traffic.

  • Pode utilizar o SLB numa rede baseada em virtualização de rede Hiper-V.You can use SLB on a Hyper-V Network Virtualization-based network.

  • Pode utilizar o SLB com uma rede baseada em VLAN para VMs DIP ligados a um interruptor virtual SDN Ativado hyper-V.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 inquilinos.One SLB instance can handle multiple tenants.

  • SLB e DIP suportam uma trajetória de retorno escalável e de baixa latência, conforme implementado pela DSR.SLB and DIP support a scalable and low-latency return path, as implemented by DSR.

  • Funciona SLB quando também está a utilizar a Equipa Incorporada switch (SET) ou a Virtualização de Entrada/Saída de Saída (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 de Internet 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-to-site, o SLB fornece a funcionalidade NAT para permitir que todas as ligações site-to-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 nuvens, incluindo capacidade de escala e escala para MUXes e Agentes hospedeiros.Ready for cloud scale, including scale-out and scale-up capability for MUXes and Host Agents.

  • Um módulo ativo do Controlador de Rede SLB Manager pode suportar oito instâncias MUX.One active SLB Manager Network Controller module can support eight MUX instances.

Elevada disponibilidadeHigh availability

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

  • OS MUXes podem ser adicionados e removidos da piscina MUX sem afetar o serviço SLB.MUXes can be added and removed from the MUX pool without impacting the SLB service. Isto mantém a disponibilidade de SLB quando os MUXes individuais estão a ser remendados.This maintains SLB availability when individual MUXes are being patched.

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

  • Os dados de monitorização da saúde estão disponíveis para as entidades gestoras.Health monitoring data is available to management entities.

Passos seguintesNext steps

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