O que é Application Load Balancer? - 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 é Application Load Balancer?

O Elastic Load Balancing distribui automaticamente seu tráfego de entrada em 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 de seus destinos registrados e roteia o tráfego apenas para os destinos íntegros. O Elastic Load Balancing ancer escala seu load balancer conforme seu tráfego de entrada muda ao longo do tempo. Ele pode ser dimensionado automaticamente para a vasta maioria das cargas de trabalho.

O Elastic Load Balancing oferece suporte aos seguintes load balancers: Balancers de carga de aplicações, Network Load Balancers, Gateway Load Balancers e Classic Load Balancers. Você pode selecionar o tipo de load balancer que melhor se adapte às suas necessidades. Este guia discute os Application Load Balancers. Para obter mais informações sobre os outros load balancers, consulte oGuia do usuário para Network Load Balancers, oGuia do usuário para Gateway Load Balancers, e oGuia do usuário para Classic Load Balancers.

Componentes Application Load Balancer

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

Um listener verifica a solicitações de conexão de clientes, usando o protocolo e a porta que você configurar. As regras que você define para um listener determinam como o load balancer roteia solicitações para seus destinos registrados. Cada regra consiste em uma prioridade, uma ou mais ações e uma ou mais condições. Quando as condições de uma regra forem atendidas, a ação será executada. É necessário definir uma regra padrão para cada listener e, opcionalmente, você poderá definir regras adicionais.

Cada grupo de destino roteia solicitações a um ou mais destinos registrados, como instâncias EC2, usando o protocolo 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.

O diagrama a seguir ilustra os componentes básicos. Observe que cada listener contém uma regra padrão e um listener contém outra regra que roteia solicitações para um grupo de destino diferente. Um destino é registrado com dois grupos de destino.


                Os componentes de um Application Load Balancer básico

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

Visão geral Application Load Balancer

Um Application Load Balancer funciona na camada de aplicativos, a sétima do modelo Open Systems Interconnection (OSI). Depois que o load balancer recebe a solicitação, ele avalia as regras do listener em ordem de prioridade para determinar qual regra deve ser aplicada e, em seguida, seleciona um destino no grupo de destino para a ação da regra. Você pode configurar regras do listener para rotear as solicitações para diferentes grupos de destino com base no conteúdo do tráfego do aplicativo. O roteamento é realizado de forma independente para cada grupo de destino, até mesmo quando um destino é registrado com vários grupos de destino. Você pode configurar o algoritmo de roteamento usado no nível do grupo de destino. O algoritmo de roteamento padrão é o de ida e volta. Como alternativa, você pode especificar o algoritmo de roteamento de solicitações menos pendentes.

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 ancer escala seu load balancer conforme o tráfego para seu aplicativo muda ao longo do tempo. O Elastic Load Balancing pode ser escalado para a vasta maioria das cargas de trabalho 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, consulteO Elastic Load BalancingnoElastic Load Balancing Guia.

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

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

  • Suporte a Condições do caminho. Você pode configurar regras para seu listener que encaminhe as solicitações com base no URL da solicitação. Isso permite que você estruture seu aplicativo em serviços menores e roteie-as ao serviço correto com base no conteúdo do URL.

  • Suporte a Condições do host. Você pode configurar regras para seu listener que encaminhem solicitações baseadas no campo do host no cabeçalho do HTTP. Isso permite que você roteie solicitações para vários domínios usando um único load balancer.

  • Support para roteamento baseado em campos na solicitação, comoCondições do cabeçalho HTTPe métodos, parâmetros de consulta e endereços IP de origem.

  • Suporte para solicitações de roteamento para vários aplicativos em uma única instância do EC2. Você pode registrar uma instância ou endereço IP com vários grupos de destino, cada um em uma porta diferente.

  • Compatibilidade para redirecionar solicitações de um URL para outro.

  • Compatibilidade para retornar uma resposta HTTP personalizada.

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

  • Compatibilidade para registrar as funções Lambda como destinos.

  • Compatibilidade com o load balancer para autenticar os usuários de seus aplicativos por meio da identidade corporativa ou social desses usuários antes das solicitações de roteamento.

  • 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 várias métricas do 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.

  • Os logs de acesso contêm informações adicionais e são armazenados em formato compactado.

  • Melhora no desempenho do load balancer.

Para obter mais informações sobre os recursos compatíveis com cada tipo de load balancer, consulteComparações dodo Elastic Load Balancing

O Elastic Load Balancing funciona com os serviços a seguir para melhorar a disponibilidade e a escalabilidade dos seus aplicativos.

  • Amazon EC2– Servidores virtuais que executam aplicativos na nuvem. Você pode configurar o load balancer para rotear o tráfego para suas instâncias EC2.

  • Auto Scaling do Amazon EC2– Garante que você execute o número desejado de instâncias, mesmo se uma instância falhar, além de permitir que você aumente ou reduza automaticamente o número de instâncias conforme a demanda for alterada. Se você ativar o Auto Scaling com o Elastic Load Balancing, as instâncias iniciadas pelo Auto Scaling serão registradas automaticamente no load balancer, e as instâncias encerradas pelo Auto Scaling terão o registro cancelado automaticamente no load balancer.

  • AWS Certificate Manager— Ao criar um ouvinte HTTPS, você pode especificar certificados fornecidos pelo ACM. O load balancer usa certificados para encerrar conexões e descriptografar solicitações de clientes. Para obter mais informações, consulte Certificados SSL.

  • Amazon CloudWatch– Permite que você monitore o load balancer e tome providências conforme o necessário. Para obter mais informações, consulte Métricas do CloudWatch para seu Application Load Balancer.

  • Amazon ECS– Permite que você execute, interrompa e gerencie contêineres do Docker em um cluster de instâncias do EC2. Você pode configurar o load balancer para rotear o tráfego para seus contêineres. Para obter mais informações, consulteBalanceamento de carganoAmazon Elastic Container Service Guia do desenvolvedor.

  • AWS Global Accelerator— Melhora a disponibilidade e o desempenho do aplicativo. Use um acelerador para distribuir o tráfego entre vários load balancers em um ou maisAWSRegiões. Para obter mais informações, consulte o Guia do desenvolvedor do AWS Global Accelerator.

  • Route 53— Fornece uma maneira extremamente confiável e econômica de rotear os visitantes a sites ao traduzir nomes de domínio (por exemplo, owww.example.com) nos endereços IP numéricos (como192.0.2.1) que os computadores usam para se conectarem uns aos outros.AWSO atribui URLs aos seus recursos, como load balancers. No entanto, você pode querer um URL que seja fácil para seus usuários se lembrarem. Por exemplo, você pode mapear o nome de domínio a um load balancer.

  • AWS WAF— Você pode usar oAWS WAFCom seu Application Load Balancer para permitir ou bloquear solicitações baseadas nas regras de uma lista de controle de acesso (ACL) da web. Para obter mais informações, consulte Application Load Balancers eAWS WAF.

Para visualizar informações sobre serviços que estão integrados com seu load balancer, selecione o load balancer no AWS Management Console e selecione a guia Integrated services (Serviços integrados).

Pricing

Com o load balancer, você paga somente pelo que utilizar. Para obter mais informações, consultePreço do Elastic Load Balancing.