Projetar e implementar o balanceador de carga do Azure usando o portal do Azure

Concluído

O Azure Load Balancer opera na camada 4 do modelo OSI (Open Systems Interconnection). É o único ponto de contacto para os clientes. O Azure Load Balancer distribui fluxos de entrada que chegam ao front-end do balanceador de carga para instâncias do pool de back-end. Esses fluxos estão de acordo com regras de balanceamento de carga e testes de integridade configurados. As instâncias do pool de back-end podem ser Máquinas Virtuais do Azure ou instâncias em um conjunto de dimensionamento de máquina virtual.

Escolhendo um tipo de balanceador de carga

Os balanceadores de carga podem ser públicos (externos) ou internos (privados).

Um balanceador de carga público pode fornecer conexões de saída para máquinas virtuais (VMs) dentro de sua rede virtual. Essas conexões são realizadas através da tradução de seus endereços IP privados para endereços IP públicos. Os balanceadores de carga externos são usados para distribuir o tráfego de clientes da Internet em suas VMs. Esse tráfego da Internet pode vir de navegadores da Web, aplicativos de módulo ou outras fontes.

Um balanceador de carga interno é usado quando IPs privados são necessários apenas no frontend. Os balanceadores de carga internos são usados para balancear a carga do tráfego de recursos internos do Azure para outros recursos do Azure dentro de uma rede virtual. Um front-end de balanceador de carga também pode ser acessado de uma rede local em um cenário híbrido.

Diagrama que mostra balanceadores de carga internos e públicos no Azure.

Azure load balancer e zonas de disponibilidade

Os serviços do Azure que dão suporte a zonas de disponibilidade se enquadram em três categorias:

  • Serviços zonais: os recursos podem ser atribuídos a uma zona específica. A especificação de uma zona permite aumentar a resiliência.
  • Serviços com redundância de zona: os recursos são replicados ou distribuídos entre zonas automaticamente. O Azure replica os dados em três zonas para que uma falha de zona não afete sua disponibilidade.
  • Serviços não regionais: o serviço está sempre disponível nas geografias do Azure e é resiliente a interrupções em toda a zona e em toda a região.

O Azure Load Balancer dá suporte a cenários de zonas de disponibilidade. Você pode usar o Balanceador de Carga Padrão para aumentar a disponibilidade em todo o cenário, alinhando recursos e distribuindo entre zonas. Analise este documento para entender esses conceitos e diretrizes fundamentais de design de cenário

Um Load Balancer pode ser redundante de zona, zonal ou não zonal. Para configurar as propriedades relacionadas à zona para seu balanceador de carga, selecione o tipo apropriado de frontend necessário.

Zona redundante

Diagrama que mostra balanceadores de carga redundantes de zona no Azure.

Em uma região com zonas de disponibilidade, um balanceador de carga padrão pode ser redundante de zona.

Um único endereço IP frontend sobrevive a uma falha de zona. O IP de front-end pode ser usado para alcançar todos os membros do pool de back-end (não afetados), independentemente da zona. Uma ou mais zonas de disponibilidade podem falhar e o caminho de dados sobrevive enquanto uma zona na região permanecer íntegra.

Zonal

Você pode optar por ter um frontend garantido para uma única zona, que é conhecida como zonal. O caminho de dados não é afetado por falhas em zonas diferentes de onde foi garantido. Você pode usar frontends zonais para expor um endereço IP por zona de disponibilidade.

O uso de frontends zonais diretamente para pontos de extremidade com balanceamento de carga dentro de cada zona é suportado. Você pode usar essa configuração para expor pontos de extremidade com balanceamento de carga por zona para monitorar individualmente cada zona. Para pontos de extremidade públicos, você pode integrá-los a um produto de balanceamento de carga DNS, como o Gerenciador de Tráfego, e usar um único nome DNS.

Diagrama que mostra balanceadores de carga Zonal no Azure.

Para um front-end de balanceador de carga público, você adiciona um parâmetro zones ao IP público. Este IP público é a configuração de IP frontend usada pela respetiva regra.

Para um front-end do balanceador de carga interno, adicione um parâmetro zones à configuração IP do frontend do balanceador de carga interno. Um frontend zonal garante um endereço IP em uma sub-rede para uma zona específica.

Selecionando uma SKU do balanceador de carga do Azure

Dois SKUs estão disponíveis quando você cria um balanceador de carga no Azure: balanceadores de carga básicos e balanceadores de carga padrão. Esses SKUs diferem em termos de escopo e escala do cenário, recursos e custo. Qualquer cenário possível com o balanceador de carga Básico também pode ser criado com o balanceador de carga Padrão.

Para comparar e compreender as diferenças, reveja esta tabela.

Funcionalidades

Balanceador de carga padrão

Balanceador de Carga Basic

Tamanho do pool de back-end

Suporta até 1.000 instâncias.

Suporta até 300 instâncias.

Pontos de extremidade do pool de back-end

Qualquer máquina virtual ou conjunto de dimensionamento de máquina virtual em uma única rede virtual.

Máquinas virtuais em um único conjunto de disponibilidade ou conjunto de escala de máquina virtual.

Sondas do estado de funcionamento

TCP, HTTP, HTTPS

TCP, HTTP

Comportamento de redução da sonda de saúde

As conexões TCP permanecem ativas em um teste de instância inativo e em todos os testes inativos.

As conexões TCP permanecem ativas em uma sonda de instância inativa. Todas as conexões TCP terminam quando todas as sondas estão inativas.

Zonas de Disponibilidade

Frontends zonais e com redundância de zona para tráfego de entrada e saída.

Não disponível

Diagnóstico

Azure Monitor métricas multidimensionais

Portas HA

Disponível para balanceador de carga interno

Não disponível

Seguro por padrão

Fechado para fluxos de entrada, a menos que permitido por um grupo de segurança de rede. O tráfego interno da rede virtual para o balanceador de carga interno é permitido.

Aberto por padrão. Grupo de segurança de rede opcional.

Regras de Saída

Configuração NAT de saída declarativa

Não disponível

TCP redefinido em ocioso

Disponível em qualquer regra

Não disponível

Vários front-ends

Entrada e saída

Apenas de entrada

Operações de Gestão

A maioria das operações < 30 segundos

60-90+ segundos típicos

SLA

Não disponível

A Microsoft recomenda o balanceador de carga padrão. As VMs autónomas, os conjuntos de disponibilidade e os conjuntos de dimensionamento de máquinas virtuais só podem ser ligados a um SKU, nunca a ambos. O balanceador de carga e o endereço IP público SKU devem corresponder quando você usá-los com endereços IP públicos.

Os SKUs não são mutáveis; portanto, você não pode alterar a SKU de um recurso existente.

Criando e configurando um balanceador de carga do Azure

Há várias tarefas que você precisa executar para criar e configurar com êxito um Balanceador de Carga do Azure.

Criar o balanceador de carga

Neste exemplo, essas tarefas são necessárias para criar e configurar um balanceador de carga público (externo) em uma SKU básica. A primeira tarefa é criar o próprio balanceador de carga.

Na home page do portal do Azure, navegue até a barra de Pesquisa Global e pesquise Balanceador de Carga e selecione Balanceador de Carga.

Escolha Create (Criar ) para iniciar o processo.

Na página Criar balanceador de carga, você deve fornecer as seguintes informações necessárias:

  • Assinatura - Selecione a assinatura do Azure na qual você deseja criar seu novo recurso de balanceador de carga.
  • Grupo de recursos - Selecione um grupo de recursos existente ou crie um novo.
  • Nome - Forneça um nome exclusivo para a instância.
  • Região - Selecione a região onde as máquinas virtuais foram criadas.
  • Tipo - Selecione se o seu balanceador de carga será Interno (privado) ou Público (externo). Se você escolher Interno, precisará especificar uma rede virtual e uma atribuição de endereço IP, mas se escolher Público, precisará especificar vários detalhes de endereço IP público.
  • SKU - Selecione o SKU padrão ou o SKU básico . Escolha Padrão para cargas de trabalho de produção. Para testes, avaliação e treinamento, escolha Básico.
  • Nível - Selecione se o balanceador de carga está balanceando dentro de uma região (Regional) ou entre regiões (Global) - Se você selecionar a SKU Básica , essa configuração ficará acinzentada.
  • Endereço IP público - Especifique se deseja criar um novo endereço IP público para seu front-end voltado para o público ou usar um existente, e você também especifica um nome para seu endereço IP público e se deseja usar um endereço IP dinâmico ou atribuído estaticamente. Opcionalmente, você também pode atribuir um endereço IPv6 ao seu balanceador de carga, além do endereço IPv4 padrão.

Depois de clicar em Rever + Criar, as definições de configuração para o novo recurso de balanceador de carga são validadas. Em seguida, você pode clicar em Criar para começar a criá-lo.

Captura de ecrã das definições de configuração para a nova página do balanceador de carga.

O recurso é implantado.

Captura de tela da página Balanceador de carga criado - implantação em andamento.

Captura de tela da página Created load balancer - deployment complete.

Quando ele for concluído, você poderá clicar em Ir para o recurso para exibir o novo recurso do balanceador de carga no portal.

Captura de ecrã da página Ver Descrição Geral do recurso do balanceador de carga na página do portal do Azure.

Adicionar um conjunto de back-end

A próxima tarefa é criar um pool de back-end no balanceador de carga.

Na home page do portal do Azure, selecione Todos os recursos.

Captura de ecrã da página Selecionar todos os recursos.

Selecione seu balanceador de carga na lista. Na seção Configurações, escolha Pools de back-end e Adicionar para adicionar um pool.

Captura de tela da página Adicionar pool de back-end.

Você precisa inserir as seguintes informações na página Adicionar pool de back-end.

  • Nome: insira um nome exclusivo para o pool de back-end.
  • Rede virtual: especifique o nome da rede virtual onde os recursos do pool de back-end estão localizados.
  • Associado a: Você precisa associar o pool de back-end a uma ou mais máquinas virtuais ou a um conjunto de dimensionamento de máquina virtual.
  • Versão do IP: Selecione IPv4 ou IPv6.

Você pode adicionar máquinas virtuais existentes ao pool de back-end neste momento ou pode criá-las e adicioná-las mais tarde. Em seguida, clique em Adicionar para adicionar o pool de back-end.

Captura de tela da página Adicionar pool de back-end - Adicionar.

Adicionar máquinas virtuais ao pool de back-end

A próxima tarefa é adicionar as máquinas virtuais ao pool de back-end existente.

Na página Pools de back-end, selecione o pool de back-end na lista.

Captura de tela do pool de back-end de exibição na página do balanceador de carga.

Insira as seguintes informações para adicionar a máquina virtual ao pool de back-end.

  • Rede virtual: especifique o nome da rede virtual onde os recursos de back-end estão localizados.
  • Associado a: Você precisa associar o pool de back-end a uma ou mais máquinas virtuais ou a um conjunto de dimensionamento de máquina virtual.
  • Versão do IP: Selecione IPv4 ou IPv6.

Em seguida, na seção Máquinas virtuais, clique em Adicionar.

Captura de tela da página Adicionar VM ao pool de back-end.

Selecione as máquinas virtuais que deseja adicionar ao pool de back-end e clique em Adicionar.

Captura de tela da página Exibir lista de VMs adicionadas ao pool de back-end.

Em seguida, clique em Salvar para adicioná-los ao pool de back-end.

Captura de tela da página Salvar pool de back-end com VMs adicionadas.

Captura de tela da página Exibir lista de pools de back-end em execução no balanceador de carga.

Adicionar sondas de estado de funcionamento

A próxima tarefa é criar uma investigação de integridade para monitorar as máquinas virtuais no pool de back-end.

Na página Pools de back-end do balanceador de carga, em Configurações, selecione Sondas de integridade e clique em Adicionar.

Captura de ecrã da página Sondas de estado de funcionamento adicionadas.

Você precisa inserir as seguintes informações na página Adicionar sonda de integridade.

  • Nome: insira um nome exclusivo para a sonda de integridade
  • Protocolo: Selecione TCP ou HTTP
  • Porta: especifique o número da porta de destino para o sinal de integridade. O padrão é a porta 80
  • Intervalo: especifique o tempo de intervalo em segundos entre as tentativas de teste. O padrão é 5 segundos
  • Limite não íntegro: especifique o número de falhas de teste consecutivas que devem ocorrer antes que uma máquina virtual seja considerada em um estado não íntegro. O padrão é 2 falhas

Em seguida, clique em Adicionar para adicionar a sonda de integridade.

Captura de ecrã da página de definições da sonda de saúde.

Captura de tela da página Exibir lista de testes de integridade adicionados no balanceador de carga.

Adicionar uma regra de balanceador de carga

A última tarefa é criar uma regra de balanceamento de carga para o balanceador de carga. Uma regra de balanceamento de carga distribui o tráfego de entrada por um grupo de instâncias do pool de back-end. Apenas as instâncias de back-end que a sonda de saúde considera saudáveis recebem novo tráfego.

Na página Investigação de integridade do balanceador de carga, em Configurações, selecione Regras de balanceamento de carga e clique em Adicionar.

Captura de ecrã da página Regra de balanceamento de carga adicionada.

Você precisa inserir as seguintes informações na página Adicionar regra de balanceamento de carga.

  • Nome: insira um nome exclusivo para a regra de balanceamento de carga
  • Versão IP: Selecione IPv4 ou IPv6
  • Endereço IP frontend: selecione o endereço IP público existente do balanceador de carga
  • Protocolo: Selecione o protocolo TCP ou UDP
  • Porta: especifique o número da porta para a regra de balanceamento de carga. O padrão é a porta 80
  • Porta de back-end: você pode optar por rotear o tráfego para a máquina virtual no pool de back-end usando uma porta diferente daquela que os clientes usam por padrão para se comunicar com o balanceador de carga (porta 80)
  • Pool de back-end: selecione um pool de back-end existente. As máquinas virtuais neste pool de back-end são o destino para o tráfego com balanceamento de carga.
  • Sonda de integridade: selecione uma sonda de integridade existente ou crie uma nova. A regra de balanceamento de carga usa a investigação de integridade para determinar quais máquinas virtuais no pool de back-end estão íntegras e, portanto, podem receber tráfego com balanceamento de carga.
  • Persistência da sessão: Você pode escolher Nenhum, ou IP do cliente, ou IP do cliente e protocolo. A persistência da sessão especifica que o tráfego é processado pela mesma máquina virtual na sessão. Nenhum especifica que solicitações sucessivas do mesmo cliente podem ser tratadas por qualquer máquina virtual. O IP do cliente especifica como as solicitações sucessivas do mesmo endereço IP do cliente são processadas. IP do cliente e protocolo especifica que solicitações sucessivas do mesmo endereço IP do cliente e combinação de protocolo são processadas pela mesma máquina virtual.
  • Tempo limite ocioso (minutos): especifique o tempo para manter uma conexão TCP ou HTTP aberta sem depender dos clientes para enviar mensagens keep-alive . O tempo limite de inatividade padrão é de 4 minutos, que também é a configuração mínima. A configuração máxima é de 30 minutos.
  • IP flutuante: escolha entre desativado ou habilitado. Com o IP flutuante definido como Desabilitado, o Azure expõe um esquema tradicional de mapeamento de endereços IP de balanceamento de carga para facilitar o uso (o IP das instâncias de VM). Com o IP flutuante definido como Habilitado, ele altera o mapeamento do endereço IP para o IP Frontend do balanceador de carga para permitir mais flexibilidade.

Em seguida, clique em Adicionar para adicionar a regra de balanceamento de carga.

Captura de ecrã da página Regra de balanceamento de carga adicionada - Adicionar.

Captura de ecrã da página Ver lista de regras de balanceamento de carga adicionadas.

Testar o balanceador de carga

Certifique-se de testar sua configuração para garantir que ela funcione com êxito. Copie e cole o endereço IP público em um navegador da Web. Você deve receber uma resposta de uma das VMs em seu balanceador de carga. Continue atualizando a página para exibir outras respostas do balanceador de carga.

Verifique o seu conhecimento

1.

Qual das seguintes afirmações sobre balanceadores de carga externos está correta?

2.

Ao implantar um novo Balanceador de Carga do Azure que deve dar suporte a regras de tráfego de saída. Qual SKU deve ser selecionado?