AWS Elastic Load Balancing: Principais Insights e Melhores Práticas

Saiba mais sobre o AWS Elastic Load Balancing, seus tipos (ALB, NLB, CLB), melhores práticas para otimizar o desempenho e dicas de solução de problemas para garantir alta disponibilidade, segurança e escalabilidade para seus aplicativos.

download-icon
Download Grátis
para VM, SO, BD, Arquivo, NAS, etc.
joao

Updated by João on 2025/02/28

Tabela de conteúdos
  • O que é o AWS Elastic Load Balancing?

  • Tipos de Balanceamento de Carga Elástico

  • Melhores Práticas para Balanceamento de Carga Elástico

  • Lidando com Carga Desbalanceada no ELB

  • Gerencie facilmente instâncias AWS EC2 com Vinchin Backup & Recovery

  • Perguntas frequentes sobre o AWS ELB

  • Conclusão

Um balanceador de carga é típicamente um software executado em um nó dedicado que aceita solicitações frontend e as distribui entre nós de aplicativos backend. Para arquiteturas nativas da nuvem, onde os nós de aplicativos mudam frequentemente, o design e o uso de balanceadores de carga tornam-se críticos para garantir o desempenho, a segurança e a disponibilidade dos aplicativos backend.

O que é o AWS Elastic Load Balancing?

O Elastic Load Balancing é um serviço fornecido pela AWS para distribuir automaticamente o tráfego de aplicação de entrada por várias instâncias EC2. Ele roteia inteligentemente as solicitações para os servidores backend mais adequados com base nas políticas configuradas (por exemplo, round-robin, menos conexões), melhorando assim a disponibilidade da aplicação e a velocidade de resposta. O Elastic Load Balancing simplifica o gerenciamento de tráfego e oferece recursos avançados como verificações de saúde persistência de sessão e término SSL/TLS aumentando ainda mais a segurança da aplicação e a experiência do usuário.

Tipos de Balanceamento de Carga Elástico

O AWS Elastic Load Balancing oferece três tipos principais de balanceadores de carga, cada um adequado para diferentes cenários e necessidades:

Balançadores de Carga Clássicos (CLB)

Os Balanceadores de Carga Clássicos são o serviço de balanceamento de carga mais antigo introduzido pela AWS, suportando os protocolos TCP, HTTP e HTTPS. Eles são adequados para cenários mais simples, como balanceamento de carga para aplicações web ou serviços internos. Embora sejam fáceis de configurar, possuem menos recursos e flexibilidade em comparação com os tipos mais recentes.

Balanceadores de Carga de Aplicação (ALB)  

Os Balanceadores de Carga de Aplicação são projetados para aplicativos web modernos e arquiteturas de serviço. Eles suportam os protocolos HTTP/HTTPS e podem realizar roteamento de tráfego mais granular com base no conteúdo da solicitação, como caminhos de URL ou informações de cabeçalho. O ALB fornece opções mais ricas de verificações de integridade, estratégias de persistência de sessão e recursos de segurança como gerenciamento de certificados SSL/TLS baseado em regras, tornando-o ideal para aplicativos web altamente personalizáveis e seguros.

Balançadores de Carga de Rede (NLB)  

Os Balanceadores de Carga de Rede são projetados para cenários de alto desempenho e ultra baixa latência. Operando na camada TCP/UDP, eles podem processar milhões de solicitações por segundo, tornando-os adequados para casos de uso como servidores de jogos, processamento de big data e análise em tempo real. O NLB suporta IPs estáticos e endereços IP elásticos, bem como distribuição de tráfego entre zonas de disponibilidade, garantindo transmissão rápida de dados e confiabilidade do aplicativo.

Melhores Práticas para Balanceamento de Carga Elástico

1. Escolha o Tipo Apropriado de Balanceador de Carga  

Ao construir aplicativos, escolha o tipo de balanceador de carga apropriado com base nas características do aplicativo, como requisitos de protocolo, padrões de tráfego e demandas de desempenho. Por exemplo, ALB é ideal para aplicativos web que exigem roteamento baseado em caminho de URL, enquanto NLB é mais adequado para serviços de baixa latência com conexões concorrentes altas.

2. Configure Verificações de Saúde  

Os check-ups de saúde são cruciais para garantir que o balanceador de carga encaminhe tráfego apenas para instâncias saudáveis. Configure os parâmetros do check-up de saúde, como intervalo de verificação, tempo limite e limiares, com base nas necessidades do aplicativo. Além disso, monitore os status dos check-ups de saúde via AWS CloudWatch para identificar e resolver problemas potenciais prontamente.

3. Utilize a Persistência de Sessão  

Para aplicativos que exigem sessões de usuário consistentes (por exemplo, aplicativos de carrinho de compras), configure a persistência de sessão. O ALB suporta persistência de sessão baseada em cookies, garantindo que as solicitações do mesmo usuário sejam roteadas para a mesma instância backend, mantendo o estado da sessão.

4. Implemente balanceadores de carga em zonas de disponibilidade 

Para aumentar a disponibilidade do aplicativo, implemente balanceadores de carga em várias zonas de disponibilidade da AWS. Isso garante que, mesmo se uma zona de disponibilidade enfrentar problemas, as instâncias em outras zonas possam continuar processando solicitações, mantendo um serviço ininterrupto.

5. Integre com Auto Scaling  

Combine o AWS Auto Scaling com balanceadores de carga para ajustar automaticamente o número de instâncias EC2 com base na carga do aplicativo. Quando o tráfego aumenta, o Auto Scaling adiciona instâncias e as inclui no pool de balanceamento de carga quando o tráfego diminui ele reduz a contagem de instâncias para economizar custos. Esta escalonamento dinâmico garante que os aplicativos possam se adaptar às demandas de tráfego em mudança.

Lidando com Carga Desbalanceada no ELB

Desequilíbrio entre Nós do ELB  

Habilite os logs de acesso do ELB e verifique o número de solicitações recebidas por cada nó do ELB. Se um ou mais nós manipulam significativamente mais ou menos solicitações que os outros, o desequilíbrio pode advir de problemas de resolução de DNS no lado do cliente ou de endereços IP do ELB hardcoded, fazendo com que os clientes enviem solicitações para nós específicos. Resolva esse problema atualizando os aplicativos cliente ou as configurações de DNS.

Etapas Gerais de Solução de Problemas do ELB

Se você assina o suporte AWS, é recomendado entrar em contato com o suporte para obter assistência. Se não, considere as seguintes etapas:

1. Verifique se todas as instâncias backend por trás do ELB estão saudáveis.  

2. Para o ELB voltado para a Internet, verifique se as sub-redes selecionadas durante a criação do ELB são públicas e roteiam o tráfego 0.0.0.0/0 para uma Gateway de Internet (IGW).  

3. Verifique a resolução DNS no lado do cliente para garantir a resolução correta para os endereços IP do ELB e identificar potenciais problemas de cache DNS.  

4. Capture pacotes tanto no cliente quanto nas instâncias de backend EC2 para observar se os pacotes de dados estão sendo enviados às instâncias de backend e se as instâncias estão respondendo corretamente às solicitações do cliente.  

Gerencie facilmente instâncias AWS EC2 com Vinchin Backup & Recovery

Vinchin Backup & Recovery é uma solução abrangente de proteção de dados projetada para simplificar e otimizar o processo de gerenciamento de backups e recuperações de VMs para o seu ambiente de virtualização, incluindo instâncias Amazon EC2.

O Vinchin Backup & Recovery oferece uma solução simplificada para gerenciar backups EC2 em várias regiões AWS, suportando estratégias personalizáveis com opções de backup completo, incremental e diferencial. Ele facilita a recuperação flexível incluindo instâncias inteiras ou arquivos específicos, com a capacidade de restaurar para diferentes regiões ou até mesmo migrar para outras plataformas de virtualização como VMware e Hyper-V. Integrando com o Amazon S3 para armazenamento de arquivo custo-efetivo, o Vinchin também simplifica o gerenciamento de infraestrutura através de uma interface intuitiva, permitindo uma configuração de backup eficiente e migrações V2V sem complicações, assim melhorando a proteção de dados em nuvem e a continuidade dos negócios.

Para fazer backup da instância EC2 com o Vinchin Backup & Recovery, siga estas etapas:

1. Selecione a instância EC2 a ser backupada.

Backup da instância EC2

2. Selecione o destino do backup.

Backup da instância EC2

3. Configure as estratégias de backup.

Backup da instância EC2

4. Revise e envie o trabalho.

Backup da instância EC2

Inicie seu teste gratuito de 60 dias do Vinchin Backup & Recovery para experimentar suas soluções de backup seguras e eficientes em recursos. Ou, entre em contato conosco para um plano personalizado conforme suas necessidades de TI.

Perguntas frequentes sobre o AWS ELB

1. P: Como o ELB trata o encerramento SSL/TLS?

O ELB pode manipular o encerramento SSL/TLS usando certificados SSL gerenciados pelo AWS Certificate Manager (ACM) ou carregados para a IAM.

2. P: O que é um grupo de destino no AWS ELB?

Um grupo de destino é um agrupamento lógico de recursos registrados (por exemplo, instâncias EC2, IPs, funções Lambda) que o ELB usa para rotear solicitações. Destinos podem ser adicionados dinamicamente como parte do Auto Scaling.

Conclusão

Para usuários que precisam migrar sua arquitetura de TI para a AWS, abandonar a arquitetura de balanceamento de carga existente e substituí-la por uma arquitetura baseada em ELB não só pode reduzir os custos de operação e manutenção, mas também não é necessário sacrificar nenhuma função existente. Além do ELB, a AWS também oferece uma série de outros serviços que se integram estreitamente com o ELB para melhorar o desempenho e a segurança de vários aplicativos.

Compartilhar em:

Categories: Tech Tips