Amazon EC2
Nuvem AWS
Comece a usar o Elastic Load Balancing
Alta disponibilidade

Alta disponibilidade

O Elastic Load Balancing distribui automaticamente o tráfego entre vários destinos (instâncias do Amazon EC2, contêineres e endereços IP) em uma única zona de disponibilidade ou em várias zonas de disponibilidade.

Verificações de integridade

Verificações de integridade

O Elastic Load Balancing pode detectar destinos com problemas, interromper o envio de tráfego para eles e, em seguida, distribuir a carga entre os destinos íntegros restantes.

Recursos de segurança

Recursos de segurança

Use uma Amazon Virtual Private Cloud (VPC) para criar e gerenciar security groups associados a load balancers para disponibilizar opções adicionais de redes e segurança. Você também pode criar um load balancer interno (que não seja voltado para a Internet).

Encerramento de TLS

Encerramento de TLS

O Elastic Load Balancing disponibiliza descriptografia SSL e gerenciamento de certificados integrados, o que proporciona a flexibilidade de fazer o gerenciamento central de configurações SSL do load balancer e descarregar o trabalho, cujo consumo da CPU é elevado, do aplicativo.

Balanceamento de carga da camada 4 ou da camada 7

Balanceamento de carga da camada 4 ou da camada 7

É possível balancear a carga de aplicativos HTTP/HTTPS para recursos específicos da camada 7, ou usar o balanceamento de carga estrito da camada 4 para aplicativos que dependem apenas do protocolo TCP.

Monitoramento operacional

Monitoramento operacional

O Elastic Load Balancing disponibiliza integração a métricas do Amazon CloudWatch e exige rastreamento para monitorar em tempo real a performance dos aplicativos.

Você pode selecionar o load balancer adequado de acordo com as necessidades do aplicativo. Se você precisar de um gerenciamento de aplicativos flexível, recomendamos usar um Application Load Balancer. Se o aplicativo precisar de desempenho extremo e de um IP estático, recomendamos usar o Network Load Balancer. Se você tiver um aplicativo atual criado dentro da rede do EC2-Classic, recomendamos usar o Classic Load Balancer.

Recurso

Application Load Balancer

Network Load Balancer

Classic Load Balancer

Protocolos

HTTP, HTTPS

TCP

TCP, SSL, HTTP, HTTPS

Plataformas

VPC

VPC

EC2-Classic, VPC

Verificações de integridade

Métricas do CloudWatch

Registro em log

Failover por zona

Descarga da conexão (atraso do cancelamento de registro)

Load Balancing para várias portas na mesma instância

 

WebSockets

 

Endereços IP como destinos
 

Proteção contra a exclusão de load balancers

 

Roteamento baseado em caminho

 

 

Roteamento baseado em host

 

 

HTTP/2 nativo

 

 

Timeout configurável de conexão ociosa
 

Balanceamento de carga entre zonas

 

Descarregamento de SSL

 

Server Name Indication (SNI)    

Sticky sessions

 

Criptografia de servidores de back-end

 

IP estático

 

 

Endereço IP elástico

 

 

Preservar endereço IP de origem

 

 

  • Application Load Balancer

    O Application Load Balancer opera no nível da solicitação (camada 7), roteando o tráfego para destinos (instâncias EC2, contêineres e endereços IP com base no conteúdo da solicitação). Ideal para o balanceamento de carga avançado do tráfego HTTP e HTTPS, o Application Load Balancer disponibiliza roteamento avançado de solicitações, cujo objetivo é a entrega de arquiteturas modernas de aplicativos, como microsserviços e aplicativos baseados em contêiner. O Application Load Balancer simplifica e melhora a segurança de aplicativos ao garantir que as codificações e os protocolos SSL/TLS mais recentes sejam usados sempre.

    Balanceamento de carga da camada 7
    Você pode balancear a carga de aplicações HTTP/HTTPS e usar recursos específicos da camada 7, como os cabeçalhos X-Forwarded-For.

    Compatibilidade com HTTPS
    O Application Load Balancer é compatível com o encerramento de HTTPS entre os clientes e o load balancer. Os Application Load Balancers também oferecem o gerenciamento de certificados SSL por meio do AWS Identity and Access Management (IAM) e do AWS Certificate Manager para políticas de segurança predefinidas.

    Server Name Indication (SNI)
    O Server Name Indication (SNI – Indicação de nome de servidor) é uma extensão do protocolo TLS quer permite que o cliente indique o nome de host a ser conectado no início do handshake do TLS. O load balancer pode apresentar vários certificados pelo mesmo listener seguro, o que permite oferecer suporte a diversos sites seguros usando um único listener seguro. Os Application Load Balancers também oferecem suporte a um algoritmo inteligente de seleção de certificado com SNI. Se o nome de host indicado por um cliente corresponder a vários certificados, o load balancer determinará o melhor certificado a usar considerando vários fatores, incluindo os recursos do cliente.

    Endereços IP como destinos
    É possível balancear a carga de qualquer aplicativo hospedado na AWS ou no local usando os endereços IP dos back-ends do aplicativo como destinos. Isso permite fazer o balanceamento da carga para um back-end de aplicativo hospedado em qualquer endereço IP e em qualquer interface em uma instância. Cada aplicativo hospedado na mesma instância pode ter um security group associado e usar a mesma porta. Você também pode usar endereços IP como destinos para balancear a carga de aplicativos hospedados localmente (por meio do Direct Connect ou de uma conexão VPN), em VPCs emparelhadas e no EC2-Classic (usando o ClassicLink). A capacidade de balancear carga entre os recursos locais e da AWS ajuda você com a migração para a nuvem, o bursting para a nuvem e o failover para a nuvem.

    Alta disponibilidade
    Um Application Load Balancer exige que você especifique mais de uma zona de disponibilidade. Você pode distribuir o tráfego de entrada entre os seus destinos em várias zonas de disponibilidade. O Application Load Balancer ajusta automaticamente a escala de sua capacidade de gerenciamento de solicitações em resposta ao tráfego de entrada de aplicativos.

    Recursos de segurança
    Ao usar a Amazon Virtual Private Cloud (Amazon VPC), é possível criar e gerenciar security groups associados ao Elastic Load Balancing para disponibilizar opções adicionais de redes e segurança. Você pode configurar um Application Load Balancer voltado para a Internet ou criar um load balancer sem endereço IP público para atuar como load balancer interno (não voltado para a Internet).

    Roteamento baseado em conteúdo
    Se a sua aplicação for composta por vários serviços individuais, um Application Load Balancer poderá rotear uma solicitação para um serviço com base no conteúdo da solicitação.

            Roteamento baseado em host
            É possível rotear uma solicitação de cliente baseada no campo Host do cabeçalho de HTTP, o que permite fazer um roteamento para vários domínios por meio do mesmo load balancer.

            Roteamento baseado em caminho
            Você pode rotear uma solicitação de cliente de acordo com o caminho de URL do cabeçalho de HTTP.

    Suporte a aplicativos conteinerizados
    O Application Load Balancer oferece maior apoio a contêineres ao balancear a carga em várias portas em uma única instância do Amazon EC2. A integração total ao Amazon EC2 Container Service (ECS) disponibiliza um produto totalmente gerenciado para contêineres. O ECS permite especificar uma porta dinâmica na definição de tarefas do ECS, disponibilizando ao contêiner uma porta não usada quando isso for programado na instância EC2. O programador do ECS adiciona automaticamente a tarefa ao load balancer usando essa porta.

    Compatibilidade com HTTP/2
    O HTTP/2 é uma nova versão do HyperText Transfer Protocol (HTTP) que usa uma única conexão multiplexada para permitir que várias solicitações sejam enviadas na mesma conexão. Ela também compacta dados de cabeçalho antes de enviá-los em formato binário e oferece compatibilidade com conexões TLS para os clientes.

    Compatibilidade com WebSockets
    O WebSockets permite que um servidor troque mensagens em tempo real com usuários finais sem que eles precisem solicitar uma atualização (ou pesquisar por uma) ao servidor. O protocolo WebSockets disponibiliza canais de comunicação bidirecionais entre um cliente e um servidor por meio de uma conexão TCP de longa execução.

    Suporte nativo ao IPv6
    Os Application Load Balancers oferecem apoio nativo ao protocolo IP versão 6 (IPv6) em uma VPC. Dessa forma, os clientes podem se conectar ao Application Load Balancer por meio do IPv4 ou do IPv6.

    Sticky sessions
    As sticky sessions são um mecanismo usado para rotear solicitações do mesmo cliente para o mesmo destino. O Application Load Balancer apoia as sticky sessions que usam cookies gerados por load balancer. Se você habilitar as sticky sessions, o mesmo destino receberá a solicitação e você poderá usar o cookie para recuperar o contexto da sessão. A união (stickiness) é definida em um nível de grupo de destino.

    Verificações de saúde
    Um Application Load Balancer roteia o tráfego apenas para destinos sem problemas. Com um Application Load Balancer, você obtém melhores insights sobre a integridade dos aplicativos de duas maneiras: (1) aprimoramentos na verificação de integridade que permitem configurar códigos de erro detalhados entre 200 e 499. As verificações de integridade permitem monitorar a integridade de cada um dos serviços por trás do load balancer; e (2) novas métricas que fornecem insights sobre o tráfego de cada um dos serviços em execução em uma instância EC2.

    Monitoramento operacional
    O Amazon CloudWatch relata métricas do Application Load Balancer como número de solicitações, número de erros, tipos de erro e latência de solicitações.

    Registro em log
    Você pode usar o recurso de logs de acesso para registrar todas as solicitações enviadas para o load balancer e armazenar os logs no Amazon S3 para análise posterior. Os logs são compactados e têm uma extensão de arquivo gzip. Os logs compactados economizam espaço de armazenamento e largura de banda usada em transferências, além de serem úteis para o diagnóstico de falhas de aplicações e a análise de tráfego na web.

    Você também pode usar o AWS CloudTrail para registrar as chamadas de API do Application Load Balancer na sua conta e entregar arquivos de log. O histórico de chamadas de API permite a realização de análises de segurança, acompanhamento de alterações de recursos e auditorias de conformidade.

    Proteção contra exclusão
    Você pode habilitar o recurso de proteção contra exclusão em um Application Load Balancer para impedir que ele seja excluído acidentalmente.

    Solicite o monitoramento
    O Application Load Balancer injeta o "X-Amzn-Trace-Id", um novo cabeçalho HTTP identificador personalizado, a todas as solicitações enviadas para o load balancer. O monitoramento de solicitações permite rastrear uma solicitação por meio de seu ID único conforme a solicitação passa pelos vários serviços que compõem sites e aplicações distribuídas. É possível usar o identificador de monitoramento exclusivo para descobrir qualquer problema de desempenho ou atraso na pilha de aplicações com a mesma granularidade de uma solicitação individual.

    Firewall de aplicações web
    Você já pode usar o AWS WAF para proteger aplicações web em Application Load Balancers. O AWS WAF é um firewall de aplicativos web que ajuda a proteger esses aplicativos contra exploits comuns na web que podem afetar a disponibilidade do aplicativo, comprometer a segurança ou consumir recursos em excesso.

  • Network Load Balancer

    O Network Load Balancer opera no nível da conexão (camada 4), roteando conexões para destinos (instâncias do Amazon EC2, contêineres e endereços IP com base nos dados do protocolo IP). Ideal para o balanceamento de carga do tráfego TCP, o Network Load Balancer é capaz de gerenciar milhões de solicitações por segundo, além de manter latências ultrabaixas. O Network Load Balancer é otimizado para gerenciar padrões de tráfego repentinos e voláteis usando um único endereço IP estático por zona de disponibilidade. Ele é integrado a outros Serviços da AWS conhecidos no mercado, como o Auto Scaling, o Amazon EC2 Container Service (ECS) e o Amazon CloudFormation.

    Balanceamento de carga com base em conexões
    É possível balancear a carga do tráfego TCP, roteando conexões para destinos (instâncias do Amazon EC2, microsserviços e contêineres, bem como endereços IP).

    Alta disponibilidade
    O Network Load Balancer é altamente disponível. Ele aceita o tráfego de entrada de clientes e distribui esse tráfego entre os destinos dentro da mesma zona de disponibilidade. O load balancer também monitora a integridade de destinos registrados, assim como garante rotear o tráfego apenas para destinos sem problemas de integridade. Quando o load balancer detecta um destino com problemas de integridade, ele interrompe o roteamento do tráfego e o redireciona automaticamente para os destinos íntegros restantes. Se todos os destinos em uma zona de disponibilidade apresentarem problemas de integridade e você tiver configurado destinos em outra zona de disponibilidade, o Network Load Balancer executará o failover automaticamente para rotear o tráfego para destinos íntegros nas outras zonas de disponibilidade.

    Alto throughput
    O Network Load Balancer foi projetado para gerenciar o tráfego conforme seu crescimento e pode balancear a carga de milhões de solicitações por segundo. Ele também pode gerenciar padrões de tráfego repentinos e voláteis.

    Baixa latência
    O Network Load Balancer oferece latências extremamente baixas para aplicativos que dependem da latência.

    Preservar endereço IP de origem
    O Network Load Balancer preserva o IP de origem do lado do cliente, o que permite que o back-end veja o endereço IP do cliente. Isso pode ser usado por aplicativos para processamento adicional.

    Apoio a IP estático
    O Network Load Balancer disponibiliza automaticamente um IP estático por zona de disponibilidade (sub-rede) que pode ser usado por aplicativos, como o IP de front-end do load balancer.

    Apoio a IP elástico
    O Network Load Balancer também oferece a opção de atribuir um IP elástico por zona de disponibilidade (sub-rede) e, com isso, disponibiliza seu próprio IP fixo.

    Verificações de integridade
    O Network Load Balancer aceita verificações de integridade de destinos de rede e aplicativos. A integridade do nível de rede baseia-se na resposta geral do destino para o tráfego normal. Se o destino tornar-se impossibilitado ou muito lento para responder a novas conexões, o load balancer marcará o destino como indisponível. As verificações de integridade do nível de aplicativos também podem ser usadas para uma análise mais detalhada. Ao investigar periodicamente um URL específico em um determinado destino, elas podem incorporar a integridade do próprio aplicativo. Para um diagnóstico rápido e uma depuração eficiente, também disponibilizamos a visibilidade completa sobre as verificações de integridade e por que elas podem estar falhando. Isso pode ser obtido por meio dos "reason codes" (códigos de motivos) da API do Network Load Balancer e das métricas do Amazon CloudWatch anexadas às verificações de integridade do destino.

    Failover de DNS
    Se não houver destinos sem problemas de integridade registrados no Network Load Balancer ou se os nós dele em uma determinada instância não forem íntegros, o Amazon Route 53 direcionará o tráfego para os nós do load balancer em outras zonas de disponibilidade.

    Integração ao Amazon Route 53
    Caso o Network Load Balancer perca sua capacidade de resposta, a integração ao Route 53 removerá o endereço IP do load balancer indisponível do serviço e direcionará o tráfego para um Network Load Balancer alternativo em outra região.

    Integração com os serviços da AWS
    O Network Load Balancer é integrado a outros Serviços da AWS, como o Auto Scaling, o Amazon EC2 Container Service (ECS), o AWS CloudFormation, o AWS CodeDeploy e o AWS Config.

    Conexões TCP de longa duração
    O Network Load Balancer aceita conexões TCP de longa duração que são ideais para aplicativos do tipo WebSocket.

    Apoio à API central
    O Network Load Balancer usa a mesma API como o Application Load Balancer. Isso permite o trabalho com grupos de destino, verificações de integridade e balanceamento de carga em várias portas na mesma instância do Amazon EC2 para apoiar aplicativos contidos.

    Monitoramento e auditoria robustos
    O Amazon CloudWatch reporta as métricas do Network Load Balancer. O CloudWatch disponibiliza métricas, como a contagem de fluxos ativos, contagem de hosts sem problemas de integridade, contagem de novos fluxos, além de bytes processados, e muito mais. O Network Load Balancer também está integrado ao AWS CloudTrail. O CloudTrail monitora as chamadas de API para o Network Load Balancer.

    Registro em log otimizado
    É possível usar o recurso Flow Logs para registrar todas as solicitações enviadas para o load balancer. O Flow Logs captura informações sobre o tráfego IP que entra e sai das interfaces de rede na VPC. Os dados do Flow Logs são armazenados usando o Amazon CloudWatch Logs.

    Isolamento por zona
    O Network Load Balancer foi projetado para arquiteturas de aplicativos em uma única zona. Se algo na zona de disponibilidade falhar, executaremos automaticamente o failover para outras zonas de disponibilidade sem problemas de integridade. Apesar de recomendarmos aos clientes a configuração do load balancer e dos destinos em várias zonas de disponibilidade para a obtenção da alta disponibilidade, o Network Load Balancer pode ser habilitado em uma única zona de disponibilidade para apoiar arquiteturas que exigem o isolamento por zona.

    Balanceamento de carga usando endereços IP como destinos
    É possível balancear a carga de qualquer aplicativo hospedado na AWS ou no local usando os endereços IP dos back-ends do aplicativo como destinos. Isso permite fazer o balanceamento da carga para um back-end de aplicativo hospedado em qualquer endereço IP e em qualquer interface em uma instância. Cada aplicativo hospedado na mesma instância pode ter um security group associado e usar a mesma porta. Também é possível usar endereços IP como destinos para balancear a carga de aplicativos hospedados em ambientes locais (por meio de uma conexão do Direct Connect) e no EC2-Classic (usando o ClassicLink). A capacidade de balancear carga entre recursos na AWS e no local ajuda a executar migrações, bursting ou failover para a nuvem.

  • Classic Load Balancer

    O Classic Load Balancer fornece load balancing básico entre diversas instâncias do Amazon EC2 e opera com solicitações e conexões. O Classic Load Balancer é destinado a aplicativos criados dentro da rede EC2-Classic. Recomendamos o Application Load Balancer para a camada 7 e o Network Load Balancer para a camada 4 durante o uso da Virtual Private Cloud (VPC).

    Alta disponibilidade
    Você pode distribuir o tráfego de entrada entre instâncias do Amazon EC2 em uma única zona de disponibilidade ou em várias zonas de disponibilidade. O Classic Load Balancer ajusta automaticamente a escala de sua capacidade de gerenciamento de solicitações em resposta ao tráfego de entrada de aplicativos.

    Verificações de integridade
    O Classic Load Balancer pode detectar a integridade das instâncias do Amazon EC2. Quando detecta problemas de integridade em instâncias do EC2, ele desvia o tráfego dessas instâncias e distribui a carga entre as instâncias íntegras restantes.

    Recursos de segurança
    Ao usar a Amazon Virtual Private Cloud (Amazon VPC), é possível criar e gerenciar security groups associados ao Classic Load Balancer para disponibilizar opções adicionais de redes e segurança. Você também pode criar um Classic Load Balancer sem endereços IP públicos para funcionarem como um load balancer interno (que não seja voltado para a Internet).

    Descarregamento de SSL
    Os Classic Load Balancers aceitam o encerramento do SSL, que inclui o descarregamento de descriptografia SSL de instâncias de aplicativos, o gerenciamento centralizado de certificados SSL e a criptografia para instâncias de back-end com autenticação de chave pública opcional. O suporte flexível a cifra permite que você controle as cifras e protocolos que o load balancer apresenta aos clientes.

    Sessões unidas
    O Classic Load Balancer permite unir sessões de usuário a instâncias do Amazon EC2 específicas usando cookies. O tráfego será direcionado para as mesmas instâncias, conforme o usuário continua a acessar o seu aplicativo.

    Suporte a IPv6
    O Classic Load Balancer aceita o uso do protocolo IP versões 4 e 6 (IPv4 e IPv6) para redes do EC2-Classic.

    Balanceamento de carga da camada 4 ou da camada 7
    É possível balancear a carga de aplicativos HTTP/HTTPS e usar recursos específicos da camada 7, como o X-Forwarded e sticky sessions. O balanceamento de carga estrito da camada 4 também pode ser usado para aplicativos que dependem apenas do protocolo TCP.

    Monitoramento operacional
    As métricas do Classic Load Balancer, como o número e a latência de solicitações, são reportadas pelo Amazon CloudWatch.

    Registro em log
    Use o recurso de registro de logs de acesso para gravar todas as requisições enviadas para o seu load balancer e armazene os registros de log no Amazon S3 para análise posterior. Os logs são úteis para diagnosticar falhas de aplicativo e analisar o tráfego da web. É possível usar o AWS CloudTrail para registrar as chamadas de API do Classic Load Balancer na sua conta e entregar arquivos de log. O histórico de chamadas de API permite executar análises de segurança, rastrear alterações de recursos e realizar auditorias de conformidade.