O que é o Azure Load Balancer?What is Azure Load Balancer?

Com o Azure Load Balancer, você pode dimensionar seus aplicativos e criar alta disponibilidade para seus serviços.With Azure Load Balancer you can scale your applications and create high availability for your services. O Load Balancer é compatível com cenários de entrada e saída, fornece baixa latência e alta taxa de produtividade e pode ser escalado verticalmente em milhões de fluxos para aplicativos TCP e UDP.Load Balancer supports inbound and outbound scenarios, provides low latency and high throughput, and scales up to millions of flows for all TCP and UDP applications.

O Load Balancer distribui novos fluxos de entrada que chegam ao front-end do balanceador de carga para instâncias de pool de back-end, de acordo com as regras e as investigações de integridade.Load Balancer distributes new inbound flows that arrive on the load balancer's frontend to backend pool instances, according to rules and health probes.

Além disso, um balanceador de carga público pode fornecer conexões de saída para VMs (máquinas virtuais) dentro de sua rede virtual convertendo endereços IP privados em públicos.Additionally, a public load balancer can provide outbound connections for virtual machines (VMs) inside your virtual network by translating their private IP addresses to public IP addresses.

O Azure Load Balancer está disponível em dois SKUs: Básico e Standard.Azure Load Balancer is available in two SKUs: Basic and Standard. Há diferenças em dimensionamento, recursos e preço.There are differences in scale, features, and pricing. Qualquer cenário possível com o Load Balancer Básico também pode ser criado com o Load Balancer Standard, embora as abordagens possam ser um pouco diferentes.Any scenario that's possible with Basic Load Balancer can also be created with Standard Load Balancer, although the approaches might differ slightly. Como você sabe, é importante familiarizar-se com os fundamentos e diferenças específicas de SKU do Load Balancer.As you learn about Load Balancer, it is important to familiarize yourself with the fundamentals and SKU-specific differences.

Por que usar o Load Balancer?Why use Load Balancer?

Use o Azure Load Balancer para:You can use Azure Load Balancer to:

  • Balancear a carga do tráfego de Internet de entrada para suas VMs.Load-balance incoming internet traffic to your VMs. Essa configuração é conhecida como balanceador de carga público.This configuration is known as a public load balancer.
  • Balancear a carga do tráfego entre VMs dentro de uma rede virtual.Load-balance traffic across VMs inside a virtual network. Também é possível acessar o front-end de um balanceador de carga de uma rede local em um cenário híbrido.You can also reach a load balancer front end from an on-premises network in a hybrid scenario. Os dois cenários usam uma configuração conhecida como balanceador de carga interno.Both scenarios use a configuration that is known as an internal load balancer.
  • Encaminhar o tráfego para uma porta específica em VMs específicas com regras de NAT (conversão de endereços de rede) de entrada.Port forward traffic to a specific port on specific VMs with inbound network address translation (NAT) rules.
  • Fornecer conectividade de saída para VMs dentro de sua rede virtual usando um balanceador de carga público.Provide outbound connectivity for VMs inside your virtual network by using a public load balancer.

Observação

O Azure fornece um conjunto de soluções de balanceamento de carga totalmente gerenciadas para seus cenários.Azure provides a suite of fully managed load-balancing solutions for your scenarios. Se estiver em busca de informações sobre o encerramento de protocolo TLS ("descarregamento de SSL") ou sobre o processamento de camada de aplicativo por solicitação HTTP/HTTPS, consulte Gateway de Aplicativo.If you are looking for Transport Layer Security (TLS) protocol termination ("SSL offload") or per-HTTP/HTTPS request, application-layer processing, review Application Gateway. Se você estiver procurando por balanceamento de carga DNS global, veja Gerenciador de Tráfego.If you are looking for global DNS load balancing, review Traffic Manager. Cenários de ponta a ponta podem se beneficiar da combinação dessas soluções conforme for necessário.Your end-to-end scenarios might benefit from combining these solutions as needed.

O que são recursos de balanceador de carga?What are load balancer resources?

Um recurso de balanceador de carga pode ser um balanceador de carga público ou interno.A load balancer resource can exist as either a public load balancer or an internal load balancer. As funções de um recurso de balanceador de carga são expressas como um front-end, uma regra, uma investigação de integridade e uma definição de pool de back-end.The load balancer resource's functions are expressed as a front end, a rule, a health probe, and a backend pool definition. Você coloca VMs no pool de back-end especificando o pool de back-end da VM.You place VMs into the backend pool by specifying the backend pool from the VM.

Recursos de balanceador de carga são objetos nos quais você pode expressar como o Azure deve programar sua infraestrutura de multilocatário para alcançar o cenário que deseja criar.Load balancer resources are objects within which you can express how Azure should program its multi-tenant infrastructure to achieve the scenario that you want to create. Não há relação direta entre os recursos do balanceador de carga e a infraestrutura real.There is no direct relationship between load balancer resources and actual infrastructure. A criação de um balanceador de carga não cria uma instância e a capacidade sempre está disponível.Creating a load balancer doesn't create an instance, and capacity is always available.

Recursos do Azure Load Balancer fundamentalFundamental Load Balancer features

O Azure Load Balancer fornece os seguintes recursos fundamentais para aplicativos de TCP e UDP:Load Balancer provides the following fundamental capabilities for TCP and UDP applications:

  • Balanceamento de cargaLoad balancing

    Com o Azure Load Balancer, é possível criar uma regra de balanceamento de carga para distribuir o tráfego que chega em um front-end para instâncias do pool de back-end.With Azure Load Balancer, you can create a load-balancing rule to distribute traffic that arrives at frontend to backend pool instances. O Load Balancer usa um algoritmo baseado em hash para distribuição de fluxos de entrada e regenera os cabeçalhos dos fluxos para instâncias do pool de back-end adequadamente.Load Balancer uses a hash-based algorithm for distribution of inbound flows and rewrites the headers of flows to backend pool instances accordingly. Um servidor fica disponível para receber novos fluxos quando a investigação de integridade indica que o ponto de extremidade de back-end é íntegro.A server is available to receive new flows when a health probe indicates a healthy backend endpoint.

    Por padrão, o Load Balancer usa um hash de 5 tuplas composto por endereço IP de origem, porta de origem, endereço IP de destino, porta de destino e número do protocolo IP para mapear os fluxos para os servidores disponíveis.By default, Load Balancer uses a 5-tuple hash composed of source IP address, source port, destination IP address, destination port, and IP protocol number to map flows to available servers. Você pode optar por criar afinidade a um endereço IP de origem específico optando por hash de 2 ou 3 tuplas para uma determinada regra.You can choose to create affinity to a specific source IP address by opting into a 2- or 3-tuple hash for a given rule. Todos os pacotes do mesmo fluxo de pacote chegam na mesma instância por trás do front-end com balanceamento de carga.All packets of the same packet flow arrive on the same instance behind the load-balanced front end. Quando o cliente inicia um novo fluxo do mesmo IP de origem, a porta de origem muda.When the client initiates a new flow from the same source IP, the source port changes. Dessa forma, as 5 tuplas podem fazer com que o tráfego vá para um ponto de extremidade de back-end diferente.As a result, the 5-tuple might cause the traffic to go to a different backend endpoint.

    Para obter mais detalhes, consulte Modo de distribuição do Azure Load Balancer.For more information, see Load balancer distribution mode. A imagem a seguir mostra a distribuição baseada em hash:The following image displays the hash-based distribution:

    Distribuição baseada em hash

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

  • Encaminhamento de portaPort forwarding

    Com o Load Balancer, é possível criar uma regra de NAT de entrada para encaminhar o tráfego de uma porta específica de um endereço IP de front-end específico para uma porta específica de uma instância de back-end específica dentro da rede virtual.With Load Balancer, you can create an inbound NAT rule to port forward traffic from a specific port of a specific frontend IP address to a specific port of a specific backend instance inside the virtual network. Isso é também é realizado pela mesma distribuição baseada em hash mesmo como o balanceamento de carga.This is also accomplished by the same hash-based distribution as load balancing. Cenários comuns de uso dessa funcionalidade são a distribuição de sessões de protocolo RDP ou SSH (Secure Shell) para instâncias de VM individuais dentro da Rede Virtual do Azure.Common scenarios for this capability are Remote Desktop Protocol (RDP) or Secure Shell (SSH) sessions to individual VM instances inside the Azure Virtual Network. É possível mapear vários pontos de extremidade internos para portas diferentes no mesmo endereço IP de front-end.You can map multiple internal endpoints to the various ports on the same frontend IP address. Use-os para administrar remotamente suas VMs pela Internet sem precisar de um jumpbox adicional.You can use them to remotely administer your VMs over the internet without the need for an additional jump box.

  • Aplicativo independente e transparenteApplication agnostic and transparent

    O Load Balancer não interage diretamente com TCP ou UDP ou com a camada de aplicativo, e qualquer cenário de aplicativo TCP ou UDP pode ser compatível.Load Balancer does not directly interact with TCP or UDP or the application layer, and any TCP or UDP application scenario can be supported. O Load Balancer não encerra nem origina fluxos, não interage com o conteúdo do fluxo, não fornece nenhuma função de gateway de camada de aplicativo e os handshakes de protocolo sempre ocorrem diretamente entre o cliente e a instância do pool de back-end.Load Balancer does not terminate or originate flows, interact with the payload of the flow, provides no application layer gateway function, and protocol handshakes always occur directly between the client and the backend pool instance. Uma resposta para um fluxo de entrada sempre é uma resposta de uma máquina virtual.A response to an inbound flow is always a response from a virtual machine. Quando o fluxo chega na máquina virtual, o endereço IP de origem original também é preservado.When the flow arrives on the virtual machine, the original source IP address is also preserved. Alguns exemplos que ilustram melhor a transparência:A couple of examples to further illustrate transparency:

    • Cada ponto de extremidade é respondido somente por uma VM.Every endpoint is only answered by a VM. Por exemplo, um handshake TCP sempre ocorre entre o cliente e a VM de back-end selecionada.For example, a TCP handshake always occurs between the client and the selected backend VM. Uma resposta a uma solicitação feita a um front-end é uma resposta gerada pela VM de back-end.A response to a request to a front end is a response generated by backend VM. Quando valida com êxito a conectividade com um front-end, você está validando a conectividade de ponta a ponta com pelo menos uma máquina virtual de back-end.When you successfully validate connectivity to a frontend, you are validating the end to end connectivity to at least one backend virtual machine.
    • Cargas de aplicativo são transparentes para o Load Balancer e qualquer aplicativo UDP ou TCP pode ser compatível.Application payloads are transparent to Load Balancer and any UDP or TCP application can be supported. Para cargas de trabalho que exigem processamento por solicitação HTTP ou manipulação de cargas de camada de aplicativo (por exemplo, análise de URLs HTTP), use um balanceador de carga de camada 7, como o Gateway de Aplicativo.For workloads which require per HTTP request processing or manipulation of application layer payloads (for example, parsing of HTTP URLs), you should use a layer 7 load balancer like Application Gateway.
    • Como o Load Balancer é independente da carga de TCP e o descarregamento de TLS ("SSL") não é fornecido, você pode criar cenários criptografados de ponta a ponta usando o Load Balancer e obter uma grande expansão para aplicativos TLS encerrando a conexão TLS na própria VM.Because Load Balancer is agnostic to the TCP payload and TLS offload ("SSL") is not provided, you can build end to end encrypted scenarios using Load Balancer and gain large scale out for TLS applications by terminating the TLS connection on the VM itself. Por exemplo, a capacidade de chaveamento de sua sessão TLS é limitada apenas pelo tipo e pelo número de VMs adicionadas ao pool de back-end.For example, your TLS session keying capacity is only limited by the type and number of VMs you add to the backend pool. Se você precisa de "descarregamento de SSL" ou de tratamento de camada de aplicativo ou deseja delegar o gerenciamento de certificados ao Azure, use o Gateway de Aplicativo do balanceador de carga de camada 7 do Azure.If you require "SSL offloading", application layer treatment, or wish to delegate certificate management to Azure, you should use Azure's layer 7 load balancer Application Gateway instead.
  • Reconfiguração automáticaAutomatic reconfiguration

    O Load Balancer reconfigura-se instantaneamente quando você escala ou reduz verticalmente as instâncias.Load Balancer instantly reconfigures itself when you scale instances up or down. Adicionar ou remover VMs do pool de back-end reconfigura o balanceador de carga sem operações adicionais no recurso de balanceador de carga.Adding or removing VMs from the backend pool reconfigures the load balancer without additional operations on the load balancer resource.

  • Investigações de integridadeHealth probes

    Para determinar a integridade das instâncias no pool de back-end, o Load Balancer usa investigações de integridade definidas por você.To determine the health of instances in the backend pool, Load Balancer uses health probes that you define. 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. Conexões existentes não são afetadas e continuam até que o aplicativo encerre o fluxo, que o tempo limite de ociosidade seja atingido ou que a VM seja desligada.Existing connections are not affected, and they continue until the application terminates the flow, an idle timeout occurs, or the VM is shut down.

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

    • Investigação personalizada de HTTP: use esta investigação para criar sua própria lógica personalizada para determinar a integridade de uma instância do pool de back-end.HTTP custom probe: You can use this probe to create your own custom logic to determine the health of a backend pool instance. O balanceador de carga investiga regularmente seu ponto de extremidade (por padrão, a cada 15 segundos).The load balancer regularly probes your endpoint (every 15 seconds, by default). A instância será considerada íntegra se responder com um HTTP 200 dentro do tempo limite (padrão de 31 segundos).The instance is considered to be healthy if it responds with an HTTP 200 within the timeout period (default of 31 seconds). Qualquer status diferente de HTTP 200 faz com que esse teste falhe.Any status other than HTTP 200 causes this probe to fail. Essa investigação é útil para implementar sua própria lógica para remover instâncias da rotação do balanceador de carga.This probe is also useful for implementing your own logic to remove instances from the load balancer's rotation. Por exemplo, é possível configurar a instância para retornar um status diferente de 200 caso esteja acima de 90% da CPU.For example, you can configure the instance to return a non-200 status if the instance is greater than 90 percent CPU. Essa investigação substitui a investigação de agente convidado padrão.This probe overrides the default guest agent probe.

    • Investigação personalizada de TCP: esta investigação depende do estabelecimento de uma sessão de TCP bem-sucedida em uma porta de investigação definida.TCP custom probe: This probe relies on establishing a successful TCP session to a defined probe port. Enquanto o ouvinte especificado na VM existir, a investigação será bem-sucedida.As long as the specified listener on the VM exists, this probe succeeds. Se a conexão for recusada, a investigação falhará.If the connection is refused, the probe fails. Essa investigação substitui a investigação de agente convidado padrão.This probe overrides the default guest agent probe.

    • Investigação de agente convidado: o balanceador de carga também pode utilizar o agente convidado dentro da VM.Guest agent probe: The load balancer can also utilize the guest agent inside the VM. O agente convidado escuta e responde com uma resposta HTTP 200 OK somente quando a instância está no estado Pronto.The guest agent listens and responds with an HTTP 200 OK response only when the instance is in the ready state. 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 Azure Load Balancer continuará tentando alcançar a instância.The load balancer continues to attempt to reach 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 sends traffic to that instance again. Testes de agente convidado estão um último recurso e não é recomendável quando são possíveis configurações de investigação personalizada de HTTP ou TCP.Guest agent probes are a last resort and not recommended when HTTP or TCP custom probe configurations are possible.

  • Conexões de saída (SNAT)Outbound connections (SNAT)

    Todos os fluxos de saída de endereços IP privados dentro da sua rede virtual para os endereços IP públicos na Internet podem ser convertidos para um endereço IP de front-end do balanceador de carga.All outbound flows from private IP addresses inside your virtual network to public IP addresses on the internet can be translated to a frontend IP address of the load balancer. Quando um front-end público é vinculado a uma VM de back-end por meio de uma regra de balanceamento de carga, o Azure programa as conexões de saída para serem convertidas automaticamente no endereço IP do front-end público.When a public front end is tied to a backend VM by way of a load balancing rule, Azure programs outbound connections to be automatically translated to the public frontend IP address.

    • Facilite a atualização e a recuperação de desastre dos serviços, uma vez que o front-end pode ser mapeado dinamicamente para outra instância do serviço.Enable easy upgrade and disaster recovery of services, because the front end can be dynamically mapped to another instance of the service.
    • Gerenciamento mais fácil da ACL (lista de controle de acesso).Easier access control list (ACL) management to. ACLs expressadas em termos de front-end não mudam à medida que os serviços são escalados ou reduzidos verticalmente ou reimplantados.ACLs expressed in terms of frontend IPs do not change as services scale up or down or get redeployed. Converter conexões de saída em um número de endereços IP menor que o de máquinas pode reduzir a carga da lista de permissões.Translating outbound connections to a smaller number of IP addresses than machines can reduce the burden of whitelisting.

      Para obter mais informações, confira conexões de saída.For more information, see outbound connections.

O Load Balancer Standard tem funcionalidades adicionais específicas do SKU além dessas básicas.Standard Load Balancer has additional SKU-specific capabilities beyond these fundamentals. Revise o restante deste artigo para obter detalhes.Review the remainder of this article for details.

Comparação de SKU do Azure Load BalancerLoad Balancer SKU comparison

O Load Balancer é compatível com os SKUs Básico e Standard, cada um com diferenças de preços, recursos e escala de cenário.Load Balancer supports both Basic and Standard SKUs, each differing in scenario scale, features, and pricing. Qualquer cenário possível com o Load Balancer Básico também pode ser criado com o Load Balancer Standard.Any scenario that's possible with Basic Load Balancer can be created with Standard Load Balancer as well. Na verdade, as APIs para ambos os SKUs são semelhantes e invocadas através da especificação de um SKU.In fact, the APIs for both SKUs are similar and invoked through the specification of a SKU. A API para dar suporte a SKUs do Load Balancer e ao IP público está disponível da API de 01-08-2017 em diante.The API for supporting SKUs for Load Balancer and the public IP is available starting with the 2017-08-01 API. Ambos os SKUs têm a mesma API geral e estrutura.Both SKUs have the same general API and structure.

No entanto, dependendo do SKU escolhido, a configuração do cenário completo pode ser um pouco diferente.However, depending on which SKU you choose, the complete scenario configuration might differ slightly. A documentação do Load Balancer indica quando um artigo se aplica somente a um SKU específico.Load Balancer documentation calls out when an article applies only to a specific SKU. Veja a tabela a seguir para comparar e entender as diferenças.To compare and understand the differences, see the following table. Para obter mais informações, confira Visão geral do Load Balancer Standard.For more information, see Standard Load Balancer overview.

Observação

Se estiver usando um cenário com design mais recente, considere o uso do Load Balancer Standard.If you are using a newer design scenario, consider using Standard Load Balancer.

VMs autônomas, conjuntos de disponibilidade e conjuntos de dimensionamento de máquina virtual podem estar conectados apenas a um SKU, nunca a ambos.Standalone VMs, availability sets, and virtual machine scale sets can be connected to only one SKU, never both. Quando usados com endereços IP públicos, os SKUs do Load Balancer e do endereço IP público devem ser correspondentes.When you use them with public IP addresses, both Load Balancer and the public IP address SKU must match. Os SKUs do Load Balancer e de IPs públicos não são mutáveis.Load Balancer and public IP SKUs are not mutable.

É uma prática recomendada especificar os SKUs explicitamente, mesmo que ainda não seja obrigatório.It is a best practice to specify the SKUs explicitly, even though it is not yet mandatory. Neste momento, as alterações necessárias estão sendo mantidas em um mínimo.At this time, required changes are being kept to a minimum. Deixar de especificar um SKU é interpretado como a intenção de usar a versão da API 2017-01/08 do SKU Básico.If a SKU is not specified, it is interpreted as an intention to use the 2017-08-01 API version of the Basic SKU.

Importante

O Azure Load Balancer Standard é um novo produto de Azure Load Balancere amplamente um superconjunto Load Balancer Basic.Standard Load Balancer is a new Load Balancer product and largely a superset of Basic Load Balancer. Há diferenças importantes e deliberadas entre os dois produtos.There are important and deliberate differences between the two products. Qualquer cenário de ponta a ponta possível com o Load Balancer Básico também pode ser criado com o Load Balancer Standard.Any end-to-end scenario that's possible with Basic Load Balancer can also be created with Standard Load Balancer. Se já estiver habituado a usar o Load Balancer Básico, você deverá se familiarizar com o Load Balancer Standard para entender as últimas alterações no comportamento entre o Standard e o Básico, bem como seu impacto.If you're already used to Basic Load Balancer, you should familiarize yourself with Standard Load Balancer to understand the latest changes in behavior between Standard and Basic and their impact. Revise esta seção com cuidado.Review this section carefully.

SKU padrãoStandard SKU SKU BásicoBasic SKU
tamanho do pool de back-endbackend pool size Até 1000 instâncias.Up to 1000 instances. Até 100 instâncias.Up to 100 instances.
pontos de extremidade de pool de back-endbackend pool endpoints Qualquer VM em uma única rede virtual, incluindo uma combinação de VMs, conjuntos de disponibilidade e conjuntos de dimensionamento de máquinas virtuais.Any VM in a single virtual network, including a blend of VMs, availability sets, and virtual machine scale sets. VMs em um único conjunto de disponibilidade ou conjunto de dimensionamento de máquinas virtuais.VMs in a single availability set or virtual machine scale set.
Zonas de Disponibilidade do AzureAzure Availability Zones Front-ends com redundância de zona e por zona para entrada e saída, mapeamentos de fluxos de saída sobrevivem à falha de zona, balanceamento de carga entre zonas.Zone-redundant and zonal front ends for inbound and outbound, outbound flow mappings survive zone failure, cross-zone load balancing. /
DiagnosticsDiagnostics Azure Monitor, métricas multidimensionais incluindo contadores byte e pacote, status de investigação de integridade, tentativas de conexão (TCP SYN), integridade da conexão de saída (fluxos de SNAT bem-sucedidos e com falha), medidas do plano de dados ativo.Azure Monitor, multi-dimensional metrics including byte and packet counters, health probe status, connection attempts (TCP SYN), outbound connection health (SNAT successful and failed flows), active data plane measurements. Log Analytics do Azure apenas para o balanceador de carga público, alerta de exaustão SNAT, conta de integridade de pool back-end.Azure Log Analytics for public load balancer only, SNAT exhaustion alert, backend pool health count.
Portas de alta disponibilidadeHA Ports Balanceador de carga interno.Internal load balancer. /
Segurança por padrãoSecure by default Por padrão, fechado para pontos de extremidade de balanceador de carga e de IP públicos.By default, closed for public IP and load balancer endpoints. Para o tráfego fluir, um Grupo de Segurança de Rede deve ser usado para colocar explicitamente as entidades na lista de permissões.For traffic to flow, a network security group must be used to explicitly whitelist entities. Aberto por padrão, Grupo de Segurança de Rede opcional.Default open, network security group optional.
Conexões de saídaOutbound connections Vários front-ends com opção de recusa de acordo com a regra. Um cenário de saída precisa ser criado explicitamente para que a VM possa usar a conectividade de saída.Multiple front ends with per-rule opt-out. An outbound scenario must be explicitly created for the VM to be able to use outbound connectivity. Pontos de extremidade de serviço de rede virtual podem ser acessados sem conectividade de saída e não são considerados dados processados.Virtual network service endpoints can be reached without outbound connectivity and do not count toward data processed. Qualquer endereço IP público, incluindo serviços de PaaS do Azure que não estão disponíveis como pontos de extremidade de serviço de rede virtual, devem ser acessados por meio da conectividade de saída e são considerados dados processados.Any public IP addresses, including Azure PaaS services that are unavailable as virtual network service endpoints, must be reached via outbound connectivity and count toward data processed. Quando apenas um balanceador de carga interno está atendendo uma VM, as conexões de saída via SNAT padrão não ficam disponíveis.When only an internal load balancer is serving a VM, outbound connections via default SNAT are unavailable. A programação de SNAT de saída é específica do protocolo de transporte, com base no protocolo da regra de balanceamento de carga de entrada.Outbound SNAT programming is transport-protocol specific, based on the protocol of the inbound load-balancing rule. Front-end único, selecionado aleatoriamente quando vários front-ends estão presentes.Single front end, selected at random when multiple front ends are present. Quando apenas um balanceador de carga interno está atendendo uma VM, o SNAT padrão é usado.When only an internal load balancer is serving a VM, the default SNAT is used.
Vários front-endsMultiple front ends Entrada e saída.Inbound and outbound. Somente entrada.Inbound only.
Operações de GerenciamentoManagement Operations Maioria das operações < 30 segundos.Most operations < 30 seconds. Normalmente, 60 a 90 segundos ou mais.60-90+ seconds typical.
Contrato de Nível de ServiçoSLA 99,99% para um caminho de dados com duas VMs íntegras.99.99 percent for a data path with two healthy VMs. Implícito no SLA da VM.Implicit in the VM SLA.
PreçosPricing Os encargos se baseiam no número de regras e nos dados processados de entrada ou de saída associados ao recurso.Charges are based on the number of rules and data processed inbound or outbound that are associated with the resource. Sem encargos.No charge.

Para obter mais informações, confira Limites de serviço do Load Balancer.For more information, see service limits for Load Balancer. Para obter detalhes sobre o Load Balancer Standard, confira visão geral, preços e SLA.For Standard Load Balancer details, see overview, pricing, and SLA.

ConceitosConcepts

Balanceador de carga públicoPublic load balancer

Um balanceador de carga público mapeia o endereço IP público e o número da porta do tráfego de entrada até o endereço IP privado e o número da porta da VM, e vice-versa no caso do tráfego de resposta da VM.A public load balancer maps the public IP address and port number of incoming traffic to the private IP address and port number of the VM, and vice versa for the response traffic from the VM. Aplicando regras de balanceamento de carga, você pode distribuir tipos de tráfego específicos entre várias VMs ou serviços.By applying load-balancing rules, you can distribute specific types of traffic across multiple VMs or services. Por exemplo, você pode difundir a carga de tráfego de solicitação da web em vários servidores web.For example, you can spread the load of web request traffic across multiple web servers.

A figura a seguir mostra um ponto de extremidade com balanceamento de carga para tráfego da Web compartilhado entre três VMs para a porta TCP pública e privada de número 80.The following figure shows a load-balanced endpoint for web traffic that is shared among three VMs for the public and private TCP port 80. Essas três VMs estão em um conjunto com balanceamento de carga.These three VMs are in a load-balanced set.

Exemplo de balanceador de carga público

Figura: balanceamento de carga de tráfego da Web usando um balanceador de carga públicoFigure: Load balancing web traffic by using a public load balancer

Quando clientes de Internet enviam solicitações de página da Web para o endereço IP público de um aplicativo Web na porta TCP 80, o Azure Load Balancer distribui as solicitações entre as três VMs no conjunto com balanceamento de carga.When internet clients send webpage requests to the public IP address of a web app on TCP port 80, Azure Load Balancer distributes the requests across the three VMs in the load-balanced set. Para obter mais informações sobre os algoritmos do balanceador de carga, consulte a seção recursos do balanceador de carga deste artigo.For more information about load balancer algorithms, see the load balancer features section of this article.

Por padrão, o Azure Load Balancer distribui o tráfego de rede igualmente entre várias instâncias da VM.By default, Azure Load Balancer distributes network traffic equally among multiple VM instances. Você também pode configurar a afinidade de sessão.You can also configure session affinity. Para obter mais detalhes, consulte modo de distribuição do balanceador de carga.For more information, see load balancer distribution mode.

Balanceador de carga internoInternal load balancer

Um balanceador de carga interno direciona o tráfego apenas para recursos que estão dentro de uma rede virtual ou que usam uma VPN para acessar a infraestrutura do Azure.An internal load balancer directs traffic only to resources that are inside a virtual network or that use a VPN to access Azure infrastructure. Nesse sentido, um balanceador de carga interno é diferente de um balanceador de carga público.In this respect, an internal load balancer differs from a public load balancer. A infraestrutura do Azure restringe o acesso aos endereços IP de front-end de carga balanceada de uma rede virtual.Azure infrastructure restricts access to the load-balanced frontend IP addresses of a virtual network. Os endereços de front-end e as redes virtuais nunca são expostos diretamente a um ponto de extremidade de Internet.frontend IP addresses and virtual networks are never directly exposed to an internet endpoint. Os aplicativos de linha de negócios interno são executados no Azure e acessados de dentro do Azure ou de recursos locais.Internal line-of-business applications run in Azure and are accessed from within Azure or from on-premises resources.

Um balanceador de carga interno habilita os seguintes tipos de balanceamento de carga:An internal load balancer enables the following types of load balancing:

  • Dentro de uma rede virtual: balanceamento de carga de VMs na rede virtual para um conjunto de VMs dentro da mesma rede virtual.Within a virtual network: Load balancing from VMs in the virtual network to a set of VMs that reside within the same virtual network.
  • Para uma rede virtual entre instalações: balanceamento de carga de computadores locais para um conjunto de VMs dentro da mesma rede virtual.For a cross-premises virtual network: Load balancing from on-premises computers to a set of VMs that reside within the same virtual network.
  • Para aplicativos de várias camadas: balanceamento de carga para aplicativos de várias camadas voltados para a Internet em que as camadas de back-end não são voltadas para a Internet.For multi-tier applications: Load balancing for internet-facing multi-tier applications where the backend tiers are not internet-facing. As camadas de back-end requerem balanceamento de carga de tráfego da camada voltada para a Internet (veja a figura a seguir).The backend tiers require traffic load-balancing from the internet-facing tier (see the next figure).
  • Para aplicativos de linha de negócios: balanceamento de carga para aplicativos de linha de negócios hospedados no Azure sem hardware ou software de balanceador de carga adicional.For line-of-business applications: Load balancing for line-of-business applications that are hosted in Azure without additional load balancer hardware or software. Esse cenário inclui servidores locais que estão no conjunto de computadores cujo tráfego tem balanceamento de carga.This scenario includes on-premises servers that are in the set of computers whose traffic is load-balanced.

Exemplo de balanceador de carga interno

Figura: balanceamento de carga de aplicativos de várias camadas usando balanceadores de carga internos e públicosFigure: Load balancing multi-tier applications by using both public and internal load balancers

PreçosPricing

Os encargos do Load Balancer Standard são cobrados com base no número de regras de balanceamento de carga configuradas e na quantidade de dados de entrada e de saída processados.Standard Load Balancer usage is charged based on the number of configured load-balancing rules and the amount of processed inbound and outbound data. Para obter informações sobre os preços do Load Balancer Standard, visite a página Preços do Load Balancer.For Standard Load Balancer pricing information, go to the Load Balancer pricing page.

O Azure Load Balancer Basic é oferecido gratuitamente.Basic Load Balancer is offered at no charge.

Contrato de Nível de ServiçoSLA

Para obter informações sobre o SLA do Load Balancer Standard, visite a página SLA do Load Balancer.For information about the Standard Load Balancer SLA, go to the Load Balancer SLA page.

LimitaçõesLimitations

  • O Load Balancer é um produto de TCP ou UDP para balanceamento de carga e encaminhamento de porta para esses protocolos IP específicos.Load Balancer is a TCP or UDP product for load balancing and port forwarding for these specific IP protocols. As regras de balanceamento de carga e as regras de NAT de entrada são compatíveis com TCP e UDP, mas não com outros protocolos IP, incluindo ICMP.Load balancing rules and inbound NAT rules are supported for TCP and UDP and not supported for other IP protocols including ICMP. O Load Balancer não encerra, responde ou, de outra forma, interage com a carga de um fluxo UDP ou TCP.Load Balancer does not terminate, respond, or otherwise interact with the payload of a UDP or TCP flow. Ele não é um proxy.It is not a proxy. A validação bem-sucedida da conectividade com um front-end deve ocorrer na banda, com o mesmo protocolo usado em uma regra de NAT de entrada ou de balanceamento de carga (TCP ou UDP) e pelo menos uma de suas máquinas virtuais deve gerar uma resposta para um cliente para ver uma resposta de um front-end.Successful validation of connectivity to a frontend must take place in-band with the same protocol used in a load balancing or inbound NAT rule (TCP or UDP) and at least one of your virtual machines must generate a response for a client to see a response from a frontend. Não receber uma resposta na banda do front-end do Load Balancer indica que nenhuma máquina virtual foi capaz de responder.Not receiving an in-band response from the Load Balancer frontend indicates no virtual machines were able to respond. Não é possível interagir com um front-end do Load Balancer sem que uma máquina virtual possa responder.It is not possible to interact with a Load Balancer frontend without a virtual machine able to respond. Isso também se aplica a conexões de saída em que o SNAT de representação de porta é compatível apenas com TCP e UDP; outros protocolos IP, incluindo ICMP, também falharão.This also applies to outbound connections where port masquerade SNAT is only supported for TCP and UDP; any other IP protocols including ICMP will also fail. Atribua um endereço IP público em nível da instância para mitigar esse problema.Assign an instance-level Public IP address to mitigate.
  • Diferente dos Load Balancers públicos que fornecem conexões de saída durante a transição de endereços IP privados dentro da rede virtual para endereços IP públicos, os Load Balancers internos não convertem conexões originárias da saída para o front-end de um Load Balancer interno, uma vez que ambos estão em um espaço de endereços IP privado.Unlike public Load Balancers which provide outbound connections when transitioning from private IP addresses inside the virtual network to public IP addresses, internal Load Balancers do not translate outbound originated connections to the frontend of an internal Load Balancer as both are in private IP address space. Isso evita o potencial de esgotamento de SNAT dentro de espaços de endereço IP internos exclusivos, em que a conversão não é necessária.This avoids potential for SNAT exhaustion inside unique internal IP address space where translation is not required. O efeito colateral é que, se um fluxo de saída de uma VM no pool de back-end tentar estabelecer um fluxo para o front-end do Load Balancer interno no pool em que reside e for mapeado de volta para si mesmo, os dois lados do fluxo não serão correspondentes e o fluxo falhará.The side effect is that if an outbound flow from a VM in the backend pool attempts a flow to frontend of the internal Load Balancer in which pool it resides and is mapped back to itself, both legs of the flow don't match and the flow will fail. Se o fluxo não tiver sido mapeado de volta para a mesma VM no pool de back-end que criou o fluxo para o front-end, ele será bem-sucedido.If the flow did not map back to the same VM in the backend pool which created the flow to the frontend, the flow will succeed. Quando o fluxo é mapeado de volta para si mesmo, o fluxo de saída parece ser originado da VM para o front-end e o fluxo de entrada correspondente parece ser originado da VM para si mesmo.When the flow maps back to itself the outbound flow appears to originate from the VM to the frontend and the corresponding inbound flow appears to originate from the VM to itself. Do ponto de vista do SO convidado, as partes de entrada e de saída do mesmo fluxo não são correspondentes dentro da máquina virtual.From the guest OS's point of view, the inbound and outbound parts of the same flow don't match inside the virtual machine. A pilha TCP não reconhece essas metades do mesmo fluxo como parte do mesmo fluxo, pois a origem e o destino não são correspondentes.The TCP stack will not recognize these halves of the same flow as being part of the same flow as the source and destination don't match. Quando o fluxo é mapeado para qualquer outra VM no pool de back-end, as metades do fluxo são correspondentes e a VM pode responder ao fluxo com êxito.When the flow maps to to any other VM in the backend pool, the halves of the flow will match and the VM can successfully respond to the flow. O sintoma desse cenário são tempos limite de conexão intermitentes.The symptom for this scenario is intermittent connection timeouts. Há várias soluções alternativas comuns para alcançar esse cenário de forma confiável (originar fluxos de um pool de back-end para seu respectivo front-end de Load Balancer interno), que incluem a inserção de um proxy de terceiros por trás do balanceador de carga interno ou o uso de regras de estilo de DSR.There are several common workarounds for reliably achieving this scenario (originating flows from a backend pool to the backend pools respective internal Load Balancer frontend) which include either insertion of a third party proxy behind the internal Load Balancer or using DSR style rules. Embora você possa usar um balanceador de carga público para mitigar esse problema, o cenário resultante será propenso ao esgotamento de SNAT e deverá ser evitado, a menos que seja gerenciado atentamente.While you could use a public Load Balancer to mitigate, the resulting scenario is prone to SNAT exhaustion and should be avoided unless carefully managed.

Próximas etapasNext steps

Agora, você tem uma visão geral do Azure Load Balancer.You now have an overview of Azure Load Balancer. Para começar a usar um balanceador de carga, crie um, crie VMs com uma extensão de IIS personalizada e faça o balanceamento de carga do aplicativo Web entre as VMs.To get started with using a load balancer, create one, create VMs with a custom IIS extension installed, and load-balance the web app between the VMs. Para saber mais, consulte o início rápido Criar um Load Balancer Básico.To learn how, see the Create a Basic Load Balancer quickstart.