O que é Azure Load Balancer (Balanceador de carga do Azure).
O Azure Load Balancer é um serviço que permite uma distribuição de fluxos e dimensionar aumento de demanda de acordo com a ociosidade deles por regras de balanceamento e provas de saúde sem que prejudique a disponibilidade de seu ambiente.
Suponha que você tenha que renovar sua carteira de CNH, e ao chegar no Detran você deve conversar com várias pessoas de guichês diferentes, no momento que você é atendido pela primeira pessoa ela já recolhe todas as informações necessárias para dar andamento para renovação de sua carteira de motorista, e quando você chega no segundo guichê ele já tem os dados necessários sem que ele pergunte novamente, o Azure Load Balancer tem um conceito parecido mas usando máquinas virtuais, ele fica alternando a mesma informação para máquinas diferentes sem que o usuário perceba e assim conseguir concluir seu objetivo.
O Azure Load Balancer distribuí o tráfego de entrada para recursos de back-end usando regras de balanceamento de carga e investigações de integridade.
Existem dois tipos de load balancer:
Público: usado para balancear a carga do tráfego da Internet para a rede interna. Permite conexões de saída para o pool de recursos dentro de uma rede virtual. Quando você cria uma máquina virtual e adiciona ela em um pool de front-end essa máquina perde seu IP pública e quem toma conta é o Load Balancer, por quê a partir daí o ele assumi o papel do IP público.
Interno: usado para o balanceamento de carga dentro de uma rede virtual, para uma rede virtual entre locais, usado somente dentro do Azure.
Iremos criar um Load Balancer público usando a arquitetura mostrada na figura acima.
Primeiramente iremos criar a Virtual Network do nosso ambiente.
Na parte de pesquisas do Azure, procure por Virtual Network
Clique em + Create
Em resource group clique em create new.
Nome: RG-LB
Nome da Virtual Network: VNET01
Region: East Us 2
Na parte superior siga para a aba IP Adresses
IP: 192.168.0.0/16
Coloque Add subnet,
IP: 192.168.100.0/24
Nome: SUB-FRONT-END
Clique em Add
Clique em review + create.
Depois clique create.
Agora vamos criar o NSG
Na barra de pesquisa do Azure procura por Network Security Group
Clique em + Create
Selecione o grupo de recurso: RG-LB
Nome: NSG-LB-FRONT-END
Region: East Us 2
Clique em review + create.
Depois clique create.
Agora vamos criar três Azure Virtual Machines em que o Load Balancer vai fazer o balanceamento entre elas.
Na barra de pesquisa do Azure procura por Virtual Machines.
Clique em + Create
Selecione o grupo de recurso: RG-LB
Nome: VM01
Region: East Us 2
Avaibility Options: Avaibility set
Clique em create new
Nome: AVSET-LB
Fault Domain: 2
Update Domain: 5
Username: Admin.az
E informe a senha
Na parte superior avance para Networking:
Em NIC Network Security Group selecione a opção Advanced.
Em Configure Network Security Group selecione: NSG-LB-FRONT-END
Na parte superior avance para Monitoring:
Em boot diagnostic selecione: disable
E desabilite a opção de shut-down
Clique em review + create.
Depois clique create.
Crie mais duas VMs com a mesma configuração somente alterando o nome para VM02 e VM03
Agora será adiciona uma regra para a porta 80.
Na barra de pesquisa do Azure procura por Network Security Group
Clique em: NSG-LB-FRONT-END
Na barra ao lado procure por Inbound Security Rules
Clique em Add +
Em Destination port ranges mude para 80.
Protocol: TCP
Name: Allow_port_80
Depois clique em Add
Agora adicione mais uma regra para a porta 3389.
Clique em Add +
Em Destination port ranges mude para 3389.
Protocol: TCP
Name: Allow_port_3389
Depois clique em Add
Na barra de pesquisa do Azure procura por Virtual Machines.
Clique em VM01
Na barra do lado esquerdo procure por Run Command.
E clique em Run Command Script e coloque esse script.
Install-WindowsFeature -name Web-Server -IncludeManagementTools remove-item C:\inetpub\wwwroot\iisstart.htm Add-Content -Path “C:\inetpub\wwwroot\iisstart.htm” -Value $(“Aprendendo Cloud! ” + $env:computername)
E clique em Run.
Execute esse mesmo script na VM02 e VM03.
Depois vá a Overview na VM01 copie o número de IP e coloque no navegador e verifique se
aparece VM01, se sim é porque deu certo.
Agora vamos criar o Load Balancer
Na barra de pesquisa do Azure procura por Azure Load Balancer.
Clique em + Create
Selecione o grupo de recurso: RG-LB
Name: LB-FRONT-END
Region: East Us 2
SKU: Basic
Na parte superior em FrontEnd IP Configuration
Clique em Add a FrontEnd IP Configuration
Name: FrontEndIP
Public IP address clique em create new
Name: PIP-LB-FRONT-END
Assigment: Static
Clique em Add
Na parte superior em Backend Pool.
Name: BPool
Virtual Network: VNET01
Associate to: Virtual Machines
Clique em +Add
E selecione a VM01, VM02 e VM03 e clique em Add.
Na parte superior em Inbound Rules
Clique em +Add a load balancer rule
Name: LB-Rule
Frontend IP address: FrontEndIP
Port: 80
Backend Port: 80
Backend pool: BPool
Health Probe: clique em Create new
Name: HProbe
Protocol: TCP
Clique em OK
Clique em Add.
Clique em review + create.
Depois clique create
Depois clique em GO to resource
Na barra Settings clique em FrontEnd IP configuration e copie o endereço de IP público do
load balancer e cole esse IP lá, ao apertar F5 repetidamente você vai ver que vai alterar as
máquinas.
Conclusão: Com o Azure Load Balancer, você pode dimensionar seus aplicativos e criar serviços com alta
disponibilidade. O Load Balancer dá suporte a cenários de entrada e saída. O Load Balancer
fornece baixa latência e alta taxa de transferência e pode ser escalado verticalmente em
milhões de fluxos, mas tenha sempre em mente que pra fazer isso em três máquinas virtuais
como foi feita no laboratório acima as VMs precisam estar na mesma Avaibility set.
Referências
O que é o Azure Load Balancer? – Azure Load Balancer | Microsoft Learn