O que é um balanceador de carga de rede? - Elastic Load Balancing

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O que é um balanceador de carga de rede?

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: Application Load Balancers, Network Load Balancers, 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 oGuia do usuário para Application Load Balancers, oGuia do usuário para Gateway Load Balancers, e oGuia do usuário para Classic Load Balancers.

Componentes Network Load Balancer

Um load balancer serve como ponto único de contato para os clientes. O load balancer distribui o tráfego de entrada a vários destinos, como as 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.

Cada grupo de destino roteia solicitações a um ou mais destinos registrados, como instâncias do EC2, usando o protocolo TCP e o número de porta que você especificar. 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 documentação a seguir:

Visão geral do Network Load Balancer

Um Network Load Balancer funciona na quarta camada do modelo Open Systems Interconnection (OSI). 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 load balancer, o Elastic Load Balancing criará 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 obter mais informações, consulte Uma VPC com zonas de disponibilidade e uma zona Wavelength..

Para aumentar a tolerância a falhas dos aplicativos, você pode habilitar várias zonas de disponibilidade para o seu balanceador de carga e garantir que cada grupo de destino tem 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 otime-to-liveO (TTL) e envia 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ê habilitar. 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, você especifica o tipo de destino, que determina como você registra destinos. Por exemplo, você pode registrar IDs de instância, endereços IP ou um Application Load Balancer. Se você registrar destinos pelo ID da instância, os endereços IP de origem dos clientes serão preservados e fornecidos para seus aplicativos. Se você registrar destinos pelo endereço IP, os endereços IP de origem serão os endereços IP privados dos nós do load balancer. Se você registrar um Application Load Balancer como destino, os endereços IP de origem dos clientes serão preservados e fornecidos para seus aplicativos. Para obter mais informações, consulte Preservação de IP do cliente.

Você pode adicionar e remover destinos do load balancer conforme mudarem suas necessidades, sem perturbar o fluxo geral de solicitações para seu aplicativo. 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.

  • O 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 com um grupo de destino usando essa porta. Isso permite que você faça um uso eficiente dos seus clusters.

  • Support para monitorar a integridade de cada serviço de forma independente, pois as verificações de integridade são definidas no nível do grupo de destino e muitos da AmazonCloudWatchAs métricas do são relatadas no nível do grupo de destino. Anexar um grupo de destino a um grupo 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.

Como começar a usar

Para criar um Network Load Balancer, tente um dos seguintes tutoriais:

Para demonstrações de configurações comuns do load balancer, consulteElastic Load Balancing.

Preços

Para obter mais informações, consultePreços do Network Load Balancer.