DEV Community

André Elídio
André Elídio

Posted on

AWS - Configurando o Network Load Balancer.

O Network Load Balancer (NLB) é um componente utilizado em redes de computadores para distribuir de forma eficiente e equilibrada o tráfego de rede entre vários servidores ou recursos de computação. Ele faz parte de um conceito mais amplo conhecido como balanceamento de carga, que visa otimizar o desempenho e a disponibilidade de aplicativos e serviços distribuídos em uma infraestrutura.

O Network Load Balancer opera no nível do protocolo de camada 4 (camada de transporte) do modelo OSI, geralmente utilizando o Protocolo de Controle de Transmissão (TCP) ou o Protocolo de Datagrama de Usuário (UDP). Ele recebe as solicitações de clientes externos e as distribui entre um grupo de servidores de destino de maneira inteligente.

Image description

Existem diferentes algoritmos de balanceamento de carga que um NLB pode usar para decidir como encaminhar as solicitações de entrada. Alguns dos algoritmos comuns incluem round-robin (circular), least connection (menor número de conexões), IP hash (hash de endereço IP) e weighted (ponderado).

Os Network Load Balancers geralmente oferecem recursos como monitoramento da integridade dos servidores de destino, permitindo que eles detectem servidores indisponíveis ou com falhas e os removam temporariamente da rota de tráfego. Além disso, eles podem fornecer recursos de escalabilidade automática, permitindo que novos servidores sejam adicionados ou removidos dinamicamente, de acordo com a carga de tráfego.

Em resumo, um Network Load Balancer é um componente crucial para garantir o desempenho, a disponibilidade e a escalabilidade de aplicativos e serviços distribuídos, ao distribuir de forma
inteligente o tráfego de rede entre vários servidores.

Agora que já sabe o que é o NLB, vamos a configuração.

Requisitos:

  • Criar uma conta da AWS e acesso ao console da Web da AWS.
  • Criar 2 instâncias EC2 web em execução com o Apache.
  • Configuração de VPC e sub-redes (públicas e privadas).

Criado 2 instâncias do EC2 e em User data foi adicionado o script abaixo:

Image description

Testando a aplicação copiando o endereço público das instâncias do EC2.

Image description

Bom… vamos criar apenas uma URL para acessar essas duas instâncias do EC2, equilibrando a carga entre elas usando o ELB e escolhendo o Network Load Balancer para configuração.

Requisitos:

  • Criar um target groups add as instâncias do EC2. Ficar atento ao selecinar a VPC que estão as instâncias.
  • O objetivo é associar TG no Network Load Balancer durante a configuração.

Image description

A configuração do NLB ficou da seguinte forma:

Image description

Após a criação do NLB, vamos copiar o DNS name e testar.

Image description

Deu ruim neh?! tem algum problema ai, vamos verificar! Em target groups as instâncias do EC2 estão com o status unhealthy, então o que está acontecendo? Bom, quando se usa o NLB não se define um security group para ele, isso significa que todo o tráfego passa pelo equilibrador de carga da rede e vai direto para as instâncias do EC2. E este é o grupo de segurança das instâncias do EC2 que vai decidir se o tráfego é ou não permitido.

Image description

Então vamos adicionar uma regra para corrigir isso temporariamente enquanto ainda temos um equilibrador de carga de rede para permitir HTTP na porta 80 de qualquer lugar.

Image description

Agora vai!!! Vamos testar!!!

Image description

Missão cumprida!!! 🔥🔥🔥🔥

Espero que você tenha gostado deste post e tenha aprendido algo novo🆙
Qualquer feedback será bem-vindo, é só deixar nos comentários.😀
Curta, compartilhe, siga-me em:
https://linktr.ee/andreelidio

Top comments (0)