Visão geral do Balanceador de Carga do AzureAzure Load Balancer overview

O Balanceador de Carga do Azure oferece alta disponibilidade e desempenho de rede para seus aplicativos.Azure Load Balancer delivers high availability and network performance to your applications. É um balanceador de carga do tipo Camada 4 (TCP, UDP) que distribui o tráfego de entrada entre as instâncias de serviço íntegras definidas em um conjunto de balanceadores de carga.It is a Layer 4 (TCP, UDP) load balancer that distributes incoming traffic among healthy instances of services defined in a load-balanced set.

Importante

O Azure Load Balancer oferece suporte a dois tipos diferentes: Basic e Standard.Azure Load Balancer supports two different types: Basic and Standard. Este artigo discute o Load Balancer Basic.This article discusses Basic Load Balancer. Embora o Load Balancer Basic esteja geralmente disponível, o Load Balancer Standard está em versão prévia pública.Although Basic Load Balancer is generally available, Standard Load Balancer is currently in public preview. Para obter mais informações sobre o Load Balancer Standard, veja Visão geral do Load Balancer Standard.For more information about Standard Load Balancer, see Standard Load Balancer overview.

O Azure Load Balancer pode ser configurado para:Azure Load Balancer can be configured to:

  • Balancear carga de tráfego de entrada na Internet para máquinas virtuais.Load balance incoming Internet traffic to virtual machines. Essa configuração é conhecida como balanceamento de carga voltada para a Internet.This configuration is known as Internet-facing load balancing.
  • Balanceie o tráfego de carga entre as máquinas virtuais em uma rede virtual, entre as máquinas virtuais nos serviços de nuvem ou entre os computadores locais e as máquinas virtuais em uma rede virtual entre as instalações.Load balance traffic between virtual machines in a virtual network, between virtual machines in cloud services, or between on-premises computers and virtual machines in a cross-premises virtual network. Essa configuração é conhecida como balanceamento de carga interno.This configuration is known as internal load balancing.
  • Encaminhe o tráfego externo para uma máquina virtual específica.Forward external traffic to a specific virtual machine.

Todos os recursos na nuvem precisam de um endereço IP público para serem acessíveis pela Internet.All resources in the cloud need a public IP address to be reachable from the Internet. A infraestrutura de nuvem no Azure usa endereços IP não roteáveis para seus recursos.The cloud infrastructure in Azure uses non-routable IP addresses for its resources. O Azure usa a conversão de endereços de rede (NAT) com os endereços IP públicos para se comunicar com a Internet.Azure uses network address translation (NAT) with public IP addresses to communicate to the Internet.

Recursos do balanceador de cargaLoad Balancer features

  • Distribuição baseada em hashHash-based distribution

    O Balanceador de Carga do Azure usa um algoritmo de distribuição baseado em hash.Azure Load Balancer uses a hash-based distribution algorithm. Por padrão, ele usa um hash de 5 tuplas composto por IP de origem, porta de origem, IP de destino, porta de destino e tipo de protocolo para mapear o tráfego até os servidores disponíveis.By default, it uses a 5-tuple hash composed of source IP, source port, destination IP, destination port, and protocol type to map traffic to available servers. Ele fornece permanência somente dentro de uma sessão de transporte.It provides stickiness only within a transport session. Os pacotes na mesma sessão TCP ou UDP serão direcionados para a mesma instância atrás do ponto de extremidade de balanceamento de carga.Packets in the same TCP or UDP session will be directed to the same instance behind the load-balanced endpoint. Quando o cliente fecha e reabre a conexão ou inicia uma nova sessão no mesmo IP de origem, a porta de origem é alterada.When the client closes and reopens the connection or starts a new session from the same source IP, the source port changes. Isso pode fazer com que o tráfego vá para um ponto de extremidade diferente em um datacenter diferente.This may cause the traffic to go to a different endpoint in a different datacenter.

    Para obter mais detalhes, consulte Modo de distribuição do balanceador de carga.For more details, see Load balancer distribution mode. O gráfico a seguir mostra a distribuição baseada em hash:The following graphic shows the hash-based distribution:

    Distribuição baseada em hash

    Figura – distribuição baseada em hashFigure - Hash based distribution

  • Encaminhamento de portaPort forwarding

    O Balanceador de Carga do Azure oferece-lhe controle sobre como a comunicação de entrada é gerenciada.Azure Load Balancer gives you control over how inbound communication is managed. Essa comunicação inclui o tráfego iniciado de hosts da Internet ou de máquinas virtuais em outros serviços de nuvem ou redes virtuais.This communication includes traffic initiated from Internet hosts, virtual machines in other cloud services, or virtual networks. Esse controle é representado por um ponto de extremidade (também chamado de ponto de extremidade de entrada).This control is represented by an endpoint (also called an input endpoint).

    Um ponto de extremidade de entrada escuta em uma porta pública e encaminha o tráfego para uma porta interna.An input endpoint listens on a public port and forwards traffic to an internal port. Você pode mapear as mesmas portas para um ponto de extremidade interno ou externo ou usar uma porta diferente para eles.You can map the same ports for an internal or external endpoint or use a different port for them. Por exemplo, você pode ter uma escuta configurada no servidor Web para a porta 81 enquanto o mapeamento do ponto de extremidade público é a porta 80.For example, you can have a web server configured to listen to port 81 while the public endpoint mapping is port 80. A criação de um ponto de extremidade público dispara a criação de uma instância do balanceador de carga.The creation of a public endpoint triggers the creation of a load balancer instance.

    Quando ele é criado usando o portal do Azure, o portal cria automaticamente pontos de extremidade na máquina virtual para o protocolo RDP (Remote Desktop Protocol) e para o tráfego de sessão remota do Windows PowerShell.When created using the Azure portal, the portal automatically creates endpoints to the virtual machine for the Remote Desktop Protocol (RDP) and remote Windows PowerShell session traffic. Você pode usar esses pontos de extremidade para administrar remotamente a máquina virtual pela Internet.You can use these endpoints to remotely administer the virtual machine over the Internet.

  • Reconfiguração automáticaAutomatic reconfiguration

    O Balanceador de Carga do Azure reconfigura-se instantaneamente quando você aumenta ou diminui as instâncias.Azure Load Balancer instantly reconfigures itself when you scale instances up or down. Por exemplo, essa reconfiguração acontece quando você aumenta a contagem de instâncias da função de trabalho/Web em um serviço de nuvem ou quando coloca máquinas virtuais adicionais no mesmo conjunto de balanceamento de carga.For example, this reconfiguration happens when you increase the instance count for web/worker roles in a cloud service or when you add additional virtual machines into the same load-balanced set.

  • Monitoramento do serviçoService monitoring

    O Azure Load Balancer pode testar a integridade de várias instâncias de servidor.Azure Load Balancer can probe the health of the various server instances. Quando uma investigação não responde, o balanceador de carga interrompe o envio de novas conexões para as instâncias não íntegras.When a probe fails to respond, the load balancer stops sending new connections to the unhealthy instances. As conexões existentes não são afetadas.Existing connections are not impacted.

    Existem três tipos de investigação com suporte:Three types of probes are supported:

    • Investigação de agente convidado (somente em máquinas virtuais de plataforma como serviço): o balanceador de carga utiliza o agente convidado dentro da máquina virtual.Guest agent probe (on Platform as a Service Virtual Machines only): The load balancer utilizes the guest agent inside the virtual machine. O agente convidado escuta e responde com uma resposta HTTP 200 OK somente quando a instância está no estado Pronto (ou seja, a instância não está em um estado ocupado, reciclando ou interrompendo).The guest agent listens and responds with an HTTP 200 OK response only when the instance is in the ready state (i.e. the instance is not in a state like busy, recycling, or stopping). Se o agente não responder com HTTP 200 OK, o balanceador de carga marcará a instância como sem resposta e interromperá o envio de tráfego para essa instância.If the agent fails to respond with an HTTP 200 OK, the load balancer marks the instance as unresponsive and stops sending traffic to that instance. O balanceador de carga continuará executando o ping nessa instância.The load balancer continues to ping the instance. Se o agente convidado responder com um HTTP 200, o balanceador de carga enviará o tráfego para essa instância novamente.If the guest agent responds with an HTTP 200, the load balancer will send traffic to that instance again. Quando você está usando uma função web, o código do site geralmente é executado no w3wp.exe, que não é monitorado pela malha do Azure nem pelo agente convidado.When you're using a web role, your website code typically runs in w3wp.exe, which is not monitored by the Azure fabric or guest agent. Isso significa que as falhas no w3wp.exe (por exemplo, as respostas HTTP 500) não serão relatadas para o agente convidado e o balanceador de carga não saberá retirar essa instância da rotação.This means that failures in w3wp.exe (e.g. HTTP 500 responses) will not be reported to the guest agent, and the load balancer will not know to take that instance out of rotation.
    • Investigação HTTP personalizada: essa investigação substitui a investigação padrão (agente convidado).HTTP custom probe: This probe overrides the default (guest agent) probe. Você pode usá-la para criar sua própria lógica personalizada para determinar a integridade da instância de função.You can use it to create your own custom logic to determine the health of the role instance. O balanceador de carga investigará regularmente seu ponto de extremidade (a cada 15 segundos, por padrão).The load balancer will regularly probe your endpoint (every 15 seconds, by default). A instância é considerada em rotação se responder com um TCP ACK ou HTTP 200 dentro do período de tempo limite (padrão de 31 segundos).The instance is considered to be in rotation if it responds with a TCP ACK or HTTP 200 within the timeout period (default of 31 seconds). Isso é útil para implementar sua própria lógica para remover as instâncias da rotação do balanceador de carga.This is useful for implementing your own logic to remove instances from the load balancer's rotation. Por exemplo, você pode configurar a instância para retornar um status não 200 se a instância estiver acima de 90% da CPU.For example, you can configure the instance to return a non-200 status if the instance is above 90% CPU. Para as funções da Web que usam o w3wp.exe, você também obtém um monitoramento automático do seu site, pois as falhas no código do site retornam um status não 200 para a investigação.For web roles that use w3wp.exe, you also get automatic monitoring of your website, since failures in your website code return a non-200 status to the probe.
    • Investigação TCP personalizada: essa investigação depende do estabelecimento bem-sucedido da sessão de TCP em uma porta de investigação definida.TCP custom probe: This probe relies on successful TCP session establishment to a defined probe port.

      Para obter mais informações, consulte o esquema LoadBalancerProbe.For more information, see the LoadBalancerProbe schema.

  • NAT de OrigemSource NAT

    Todo o tráfego de saída para a Internet proveniente de seu serviço passa pela SNAT (NAT de origem), que usa o mesmo endereço VIP do tráfego de entrada.All outbound traffic to the Internet that originates from your service undergoes source NAT (SNAT) by using the same VIP address as the incoming traffic. A SNAT fornece benefícios importantes:SNAT provides important benefits:

    • Permite uma fácil atualização e recuperação de desastres dos serviços, já que o VIP pode ser mapeado dinamicamente para outra instância do serviço.It enables easy upgrade and disaster recovery of services, since the VIP can be dynamically mapped to another instance of the service.
    • Facilita o gerenciamento de ACL (lista de controle de acesso).It makes access control list (ACL) management easier. ACLs expressadas em termos de VIPs não mudam à medida que os serviços são escalados verticalmente ou reimplantados.ACLs expressed in terms of VIPs do not change as services scale up, down, or get redeployed.

      A configuração do balanceador de carga dá suporte para NAT de cone completo para UDP.The load balancer configuration supports full cone NAT for UDP. Cone NAT completo é um tipo de NAT em que a porta permite conexões de entrada de qualquer host externo (em resposta a uma solicitação de saída).Full cone NAT is a type of NAT where the port allows inbound connections from any external host (in response to an outbound request).

      Para cada nova conexão de saída que inicia uma máquina virtual, uma porta de saída também é alocada pelo balanceador de carga.For each new outbound connection that a virtual machine initiates, an outbound port is also allocated by the load balancer. O host externo vê o tráfego com uma porta alocada do IP virtual (VIP).The external host sees traffic with a virtual IP (VIP)-allocated port. Para cenários que exigem um grande número de conexões de saída, recomendamos o uso de endereços IP públicos em nível de instância , para que as VMs tenham um endereço IP de saída dedicado para SNAT.For scenarios that require a large number of outbound connections, it is recommended to use instance-level public IP addresses so that the VMs have a dedicated outbound IP address for SNAT. Isso reduz o risco de esgotamento da porta.This reduces the risk of port exhaustion.

      Consulte conexões de saída para obter mais detalhes sobre esse tópico.Please see outbound connections article for more details on this topic.

Suporte para vários endereços IP com balanceamento de carga para máquinas virtuaisSupport for multiple load-balanced IP addresses for virtual machines

Você pode atribuir mais de um endereço IP público com balanceamento de carga a um conjunto de máquinas virtuais.You can assign more than one load-balanced public IP address to a set of virtual machines. Com esse recurso, você pode hospedar vários sites SSL e/ou ouvintes do Grupo de Disponibilidade AlwaysOn do SQL Server no mesmo conjunto de máquinas virtuais.With this ability, you can host multiple SSL websites and/or multiple SQL Server AlwaysOn Availability Group listeners on the same set of virtual machines. Para obter mais informações, consulte Vários VIPs por serviço de nuvem.For more information, see Multiple VIPs per cloud service.

Diferenças do balanceador de cargaLoad Balancer differences

Há diferentes opções para distribuir o tráfego de rede usando o Microsoft Azure.There are different options to distribute network traffic using Microsoft Azure. Essas opções funcionam de forma diferente uma da outra, com conjuntos diferentes de recursos e permitindo cenários diferentes.These options work differently from each other, having a different feature set and support different scenarios. Cada uma pode ser usada isoladamente ou em combinação.They can each be used in isolation, or combining them.

  • Azure Load Balancer funciona na camada de transporte (Camada 4 na pilha de referência de rede OSI).Azure Load Balancer works at the transport layer (Layer 4 in the OSI network reference stack). Ele fornece a distribuição do tráfego no nível de rede entre instâncias de um aplicativo em execução no mesmo data center do Azure.It provides network-level distribution of traffic across instances of an application running in the same Azure data center.
  • Gateway de Aplicativo funciona na camada de aplicativo (Camada 7 na pilha de referência de rede OSI).Application Gateway works at the application layer (Layer 7 in the OSI network reference stack). Ele atua como um serviço de proxy inverso, encerrando a conexão do cliente e encaminhando solicitações aos pontos de extremidade de back-end.It acts as a reverse-proxy service, terminating the client connection and forwarding requests to back-end endpoints.
  • Gerenciador de Tráfego funciona no nível de DNS.Traffic Manager works at the DNS level. Ele usa respostas de DNS para direcionar o tráfego do usuário final para pontos de extremidade globalmente distribuídos.It uses DNS responses to direct end-user traffic to globally distributed endpoints. Assim, os clientes se conectam a esses pontos de extremidade diretamente.Clients then connect to those endpoints directly.

A tabela a seguir resume os recursos oferecidos por cada serviço:The following table summarizes the features offered by each service:

O Barramento deService Azure Load BalancerAzure Load Balancer Gateway de AplicativoApplication Gateway Gerenciador de TráfegoTraffic Manager
TecnologiaTechnology Nível de transporte (Camada 4)Transport level (Layer 4) Nível de aplicativo (Camada 7)Application level (Layer 7) Nível de DNSDNS level
Protocolos de aplicativo com suporteApplication protocols supported QualquerAny HTTP, HTTPS e WebSocketsHTTP, HTTPS, and WebSockets Qualquer um (um ponto de extremidade HTTP é exigido para monitoramento do ponto de extremidade)Any (An HTTP endpoint is required for endpoint monitoring)
Pontos de extremidadeEndpoints VMs do Azure e instâncias de função dos Serviços de NuvemAzure VMs and Cloud Services role instances Qualquer endereço IP interno do Azure, endereço IP de internet pública, VM do Azure ou Serviço de Nuvem do AzureAny Azure internal IP address, public internet IP address, Azure VM, or Azure Cloud Service VMs do Azure, Serviços de Nuvem, Aplicativos Web do Azure e pontos de extremidade externosAzure VMs, Cloud Services, Azure Web Apps, and external endpoints
Suporte à rede virtualVnet support Pode ser usado para aplicativos voltados para a Internet e internos (rede virtual)Can be used for both Internet facing and internal (Vnet) applications Pode ser usado para aplicativos voltados para a Internet e internos (rede virtual)Can be used for both Internet facing and internal (Vnet) applications Suporte apenas para aplicativos voltados para a InternetOnly supports Internet-facing applications
Monitoramento do ponto de extremidadeEndpoint Monitoring Tem suporte por meio de investigaçõesSupported via probes Tem suporte por meio de investigaçõesSupported via probes Tem suporte por meio de HTTP/HTTPS GETSupported via HTTP/HTTPS GET

O Azure Load Balancer e o Gateway de Aplicativo direcionam o tráfego de rede para pontos de extremidade, mas eles têm diferentes cenários de uso para tratamento do tráfego.Azure Load Balancer and Application Gateway route network traffic to endpoints but they have different usage scenarios to which traffic to handle. A tabela a seguir ajuda a entender a diferença entre os dois balanceadores de carga:The following table helps understanding the difference between the two load balancers:

TipoType Azure Load BalancerAzure Load Balancer Gateway de AplicativoApplication Gateway
ProtocolosProtocols UDP/TCPUDP/TCP HTTP, HTTPS e WebSocketsHTTP, HTTPS, and WebSockets
Reserva de IPIP reservation SuportadoSupported Sem suporteNot supported
Modo de balanceamento de cargaLoad balancing mode 5 tuplas (IP de origem, porta de origem, IP de destino, porta de destino, tipo de protocolo)5-tuple(source IP, source port, destination IP, destination port, protocol type) Round RobinRound Robin
Roteamento com base na URLRouting based on URL
Modo de balanceamento de carga (IP de origem/sessões complexas)Load balancing mode (source IP /sticky sessions) Duas tuplas (IP de origem e IP de destino), 3 tuplas (IP de origem, IP de destino e porta).2-tuple (source IP and destination IP), 3-tuple (source IP, destination IP, and port). Pode ser escalonado vertical ou horizontalmente com base no número de máquinas virtuaisCan scale up or down based on the number of virtual machines Afinidade baseada em cookieCookie-based affinity
Roteamento com base na URLRouting based on URL
Investigações de integridadeHealth probes Padrão: intervalo de investigação - 15 segundos.Default: probe interval - 15 secs. Retirada da rotação: 2 falhas contínuas.Taken out of rotation: 2 Continuous failures. Oferece suporte a investigações definidas pelo usuárioSupports user-defined probes Intervalo de investigação ociosa de 30 segundos.Idle probe interval 30 secs. Retirado após 5 falhas consecutivas do tráfego ativo ou uma única falha de investigação no modo ocioso.Taken out after 5 consecutive live traffic failures or a single probe failure in idle mode. Oferece suporte a investigações definidas pelo usuárioSupports user-defined probes
Descarregamento de SSLSSL offloading Sem suporteNot supported SuportadoSupported
Roteamento baseado em URLUrl-based routing Sem suporteNot supported SuportadoSupported
Política SSLSSL Policy Sem suporteNot supported SuportadoSupported

LimitaçõesLimitations

Pools de back-end do Load Balancer podem conter qualquer SKU de VM exceto camada Básica.Load Balancer backend pools can contain any VM SKU except Basic tier.

Próximas etapasNext steps