O que é um Network Load Balancer? - Elastic Load Balancing

O que é um Network Load Balancer?

O Elastic Load Balancing distribui automaticamente seu tráfego de entrada entre vários destinos, como instâncias do EC2, contêineres e endereços IP, em uma ou mais zonas de disponibilidade. Ele monitora a integridade dos destinos registrados e roteia o tráfego apenas para os destinos íntegros. O Elastic Load Balancing escala seu balanceador de carga conforme seu tráfego de entrada muda com o tempo. Ele pode ser dimensionado automaticamente para a vasta maioria das cargas de trabalho.

O Elastic Load Balancing oferece suporte aos seguintes balanceadores de carga: balanceadores de carga da aplicação, balanceadores de carga da rede, balanceadores de carga do gateway e balanceadores de carga clássicos. Você pode selecionar o tipo de balanceador de carga que melhor se adapte às suas necessidades. Este guia discute Network Load Balancers. Para obter mais informações sobre os outros balanceadores de carga, consulte o Guia do usuário de Application Load Balancers, o Guia do usuário de Gateway Load Balancers e o Guia do usuário de Classic Load Balancers.

Componentes do Network Load Balancer

Um load balancer serve como ponto único de contato para os clientes. O balanceador de carga distribui o tráfego de entrada entre vários destinos, como instâncias do Amazon EC2. Isso aumenta a disponibilidade do seu aplicativo. Você adiciona um ou mais listeners ao seu load balancer.

Um listener verifica as solicitações de conexão de clientes, usando o protocolo e a porta que você configurar e encaminha solicitações para um grupo de destino.

Um grupo de destino roteia solicitações a um ou mais destinos registrados, como instâncias do EC2, usando o protocolo e o número de porta que você especifica. Os grupos de destino dos Network Load Balancers, são compatíveis com os protocolos TCP, UDP, TCP_UDP e TLS. Você pode registrar um destino com vários grupos de destino. Você pode configurar verificações de integridade em cada grupo de destino. As verificações de integridade são executadas em todos os destinos registrados a um grupo de destino especificado em uma regra de listeners para seu load balancer.

Para obter mais informações, consulte a seguinte documentação do :

Visão geral do Network Load Balancer

Um Network Load Balancer funciona na quarta camada do modelo Open Systems Interconnection (OSI - interconexão de sistemas abertos). Ele pode processar milhões de solicitações por segundo. Após o load balancer receber uma solicitação de conexão, ele seleciona um destino no grupo de destino para a regra padrão. Ele tenta abrir uma conexão TCP para o destino selecionado na porta especificada na configuração do listener.

Quando você habilita uma zona de disponibilidade para o balanceador de carga, o Elastic Load Balancing cria um nó de balanceador de carga na zona de disponibilidade. Por padrão, cada nó do load balancer distribui tráfego aos destinos registrados somente na sua zona de disponibilidade. Se você habilitar o balanceamento de carga entre zonas, cada nó do load balancer distribuirá o tráfego aos destinos registrados em todas as zonas de disponibilidade habilitadas. Para ter mais informações, consulte Atualizar as zonas de disponibilidade do Network Load Balancer.

Para aumentar a tolerância a falhas das suas aplicações, você pode habilitar várias zonas de disponibilidade para seu balanceador de carga e garantir que cada grupo de destino tenha pelo menos um destino em cada zona de disponibilidade habilitada. Por exemplo, se um ou mais grupos de destino não têm um destino íntegro em uma zona de disponibilidade, removemos o endereço IP da sub-rede correspondente do DNS, mas os nós do load balancer em outras zonas de disponibilidade permanecerão disponíveis para rotear o tráfego. Se um cliente não honrar o tempo de vida (TTL) e enviar solicitações para o endereço IP depois que ele for removido do DNS, as solicitações falharão.

Para o tráfego TCP, o load balancer seleciona um destino usando um algoritmo de hash de fluxo baseado no protocolo, no endereço IP de origem, na porta de origem, no endereço IP de destino, na porta de destino e no número de sequência do TCP. As conexões TCP de um cliente têm diferentes portas de origem e números de sequência e podem ser direcionadas para destinos diferentes. Cada conexão TCP individual é roteada para um único destino para a vida útil da conexão.

Para o tráfego UDP, o load balancer seleciona um destino usando um algoritmo de hash de fluxo baseado no protocolo, no endereço IP de origem, na porta de origem, no endereço IP de destino e na porta de destino. Um fluxo UDP tem a mesma origem e o mesmo destino, portanto, ele é roteado de forma consistente para um único destino durante toda sua vida útil. Diferentes fluxos UDP têm diferentes portas e endereços IP de origem. Assim, eles podem ser roteados para destinos diferentes.

O Elastic Load Balancing cria uma interface de rede para cada zona de disponibilidade que você habilita. Cada nó de load balancer na Zona de disponibilidade usa essa interface de rede para obter um endereço IP estático. Quando você criar um load balancer voltado para a Internet, opcionalmente, poderá associar um endereço IP elástico por sub-rede.

Quando você cria um grupo de destino, especifica o tipo de destino, o que determina como você registra os destinos. Por exemplo, você pode registrar IDs de instância, endereços IP ou um Application Load Balancer. O tipo de destino também afeta se os endereços IP do cliente são preservados. Para ter mais informações, consulte Preservação do IP do cliente.

Você pode adicionar e remover destinos do balanceador de carga conforme suas necessidades mudarem, sem perturbar o fluxo geral de solicitações para sua aplicação. O Elastic Load Balancing escala seu balanceador de carga à medida que o tráfego para sua aplicação muda com o tempo. O Elastic Load Balancing pode ser escalado para a vasta maioria de workloads automaticamente.

Você pode configurar verificações de integridade, que são usadas para monitorar a integridade dos destinos registrados para que o load balancer possa enviar solicitações apenas para os destinos íntegros.

Para obter mais informações, consulte Como o Elastic Load Balancing funciona no Manual do usuário do Elastic Load Balancing.

Benefícios da migração de um Classic Load Balancer

O uso de um Network Load Balancer em vez de um Classic Load Balancer tem os seguintes benefícios:

  • Capacidade de processar cargas de trabalho voláteis e de alterar a escala para milhões de solicitações por segundo.

  • Suporte para endereços IP estáticos para o load balancer. Também é possível atribuir um endereço IP elástico por sub-rede habilitado para o load balancer.

  • Suporte para registrar destinos por endereço IP, incluindo destinos fora da VPC para o load balancer.

  • Suporte para solicitações de roteamento para vários aplicativos em uma única instância do EC2. Você pode registrar cada instância ou endereço IP com o mesmo grupo de destino usando várias portas.

  • Suporte para aplicativos em contêineres. O Amazon Elastic Container Service (Amazon ECS) pode selecionar uma porta não utilizada ao programar uma tarefa e registrá-la em um grupo de destino usando essa porta. Isso permite que você faça um uso eficiente dos seus clusters.

  • Suporte para monitoramento da integridade de cada serviço de forma independente, pois as verificações de integridade são definidas em nível de grupo de destino e muitas métricas do Amazon CloudWatch são relatadas no nível do grupo de destino. Anexar um grupo de destino a um grupo do Auto Scaling permite que você escale cada serviço dinamicamente com base na demanda.

Para obter mais informações sobre os recursos compatíveis com cada tipo de balanceador de carga, consulte a Comparação de produtos do Elastic Load Balancing.

Conceitos básicos

Para criar um Network Load Balancer usando o AWS Management Console, consulte Conceitos básicos sobre Network Load Balancers. Para criar um Network Load Balancer usando o AWS Command Line Interface, consulte Conceitos básicos de Network Load Balancers usando a AWS CLI

Para demonstrações de configurações comuns do balanceador de carga, consulte Elastic Load Balancing Demos.

Definição de preço

Para obter mais informações, consulte Preço do Network Load Balancer.