AWS Load Balancer · 6 min read · Dec 10, 2025

Como Configurar o Roteamento Baseado em Caminho em um Balanceador de Carga de Aplicação da AWS

Na AWS, ELB e Balanceamento de Carga Elástica existe um conceito onde os servidores podem ser adicionados ou liberados conforme a demanda de nossa aplicação e o tráfego de entrada de uma aplicação é distribuído entre múltiplos destinos. Esses destinos podem ser instâncias EC2, contêineres e endereços IP em uma ou várias Zonas de Disponibilidade. Os tipos suportados de Balanceadores de Carga Elástica da AWS são Balanceadores de Carga de Aplicação (ALB), Balanceadores de Carga de Rede (NLB), Balanceadores de Carga de Gateway (recentemente lançados) e Balanceadores de Carga Clássicos. Esses balanceadores de carga têm diferentes configurações, por exemplo,

  1. Balanceador de Carga de Aplicação: Funciona distribuindo automaticamente o tráfego de aplicação de entrada entre duas ou mais instâncias EC2. Podemos definir regras de roteamento conforme o conteúdo da solicitação (roteamento baseado em conteúdo). É um balanceador de carga de camada 7.

  2. Balanceadores de Carga de Rede: O NLB usa dados do protocolo IP (TCP e UDP) para rotear conexões para recursos da AWS como EC2, microsserviços e contêineres. É um balanceador de carga de camada 4.

  3. Balanceador de Carga de Gateway: Esses são usados com dispositivos virtuais de terceiros como firewalls de próxima geração (NGFW), IPS, IDS, etc., executando em instâncias EC2. Funciona colocando um único gateway para o tráfego de múltiplos dispositivos virtuais e esses múltiplos dispositivos virtuais podem ser escalados para cima ou para baixo conforme a demanda. Isso é bom para a estabilidade da rede. É um balanceador de carga de camada 3 (Gateway) mais camada 4 (Balanceamento de Carga).

  4. Balanceador de Carga Clássico: O CLB é um balanceador de carga legado da AWS que é usado para balancear carga entre múltiplas instâncias EC2. É recomendado para aplicações projetadas dentro da rede EC2-Classic. É um balanceador de carga de camada 4/7. É recomendado pela AWS evitar este balanceador de carga.

Visão Geral deste Guia

Neste tutorial, configuraremos o roteamento baseado em caminho para um Balanceador de Carga de Aplicação na AWS. Vamos usar uma conta de usuário IAM para esta tarefa. Temos os seguintes recursos para esta configuração:

  1. Duas Zonas de Disponibilidade, cada uma contendo pelo menos uma instância EC2.

  2. Uma VPC com pelo menos uma sub-rede pública em cada uma das duas Zonas de Disponibilidade acima. Esta sub-rede pública será usada para configurar o balanceador de carga.

  3. Instalar um servidor web em cada instância e permitir acesso à porta 80 nessas instâncias usando o grupo de segurança.

Configuração das instâncias EC2

Para este guia, configuramos duas instâncias EC2 Amazon Linux com o servidor web Apache Httpd instalado em ambas. Em um servidor, temos um diretório ‘signin’ contendo um arquivo index.html com o conteúdo: “Bem-vindo Usuário? Faça login para continuar…”.

Em outro servidor, temos um diretório ‘signup’ contendo um arquivo index.html com o conteúdo: “Novo Usuário? Cadastre-se primeiro…”.

Tanto os diretórios ‘signin’ quanto ‘signup’ estão dentro do diretório raiz (/var/www/html)

Configurando o Grupo de Destinos

Passo 1. Para rotear a solicitação, primeiro criaremos dois grupos de destinos, um para cada servidor. Abra o console EC2 e no painel lateral esquerdo, encontre e selecione ‘Grupos de Destinos’ (Está sob Balanceamento de carga).

Passo 2. Na nova página, clique no botão ‘Criar grupo de destinos’:

Passo 3. Agora estamos na página ‘Especificar detalhes do grupo’. Sob a configuração básica, faça o seguinte:

  1. Escolha um tipo de destino: Selecione ‘Instâncias’ aqui.
  2. Nome do grupo de destinos: Dê um nome adequado ao grupo de destinos (‘Sign-In’ no nosso caso.)
  3. Protocolo: HTTP
  4. Porta: 80
  5. VPC: Selecione o Nome da sua VPC aqui.
  6. Versão do protocolo: Mantenha a seleção padrão. (HTTP1)

Sob as configurações de ‘Verificações de saúde’:

  1. Protocolo de verificação de saúde: HTTP
  2. Caminho de verificação de saúde: ‘Caminho que você deseja usar’ (‘/signin’ no nosso caso)
  3. Mantenha as ‘Configurações avançadas de verificação de saúde’ como padrão. Adicione tags se precisar (Opcional). Clique em ‘Próximo’ para continuar.

Registrando Instâncias EC2 nos Grupos de Destinos

Passo 1. Agora adicione uma das instâncias EC2 aos grupos de destinos acima. Selecione uma instância e clique no botão ‘Incluir como pendente abaixo’.

Registrando Instâncias EC2 nos Grupos de Destinos

Passo 2. A instância selecionada acima aparecerá sob ‘Revisar destinos’. Agora clique em ‘Criar grupo de destinos’.

Criando grupo de destinos
Passo 3. Na próxima janela, clique novamente em ‘continuar’. Agora repita o mesmo procedimento para outro grupo de destinos e nomeie-o como ‘Sign-Up’. Use outra instância (em outra Zona de Disponibilidade) com este grupo de destinos e use um caminho de verificação de saúde diferente (‘/signup’ no nosso caso):

Grupos de Destinos

Criando o Balanceador de Carga de Aplicação

Passo 1. No console EC2, vá para Balanceadores de Carga e clique no botão Criar Balanceador de Carga e depois selecione ‘Balanceador de Carga de Aplicação’ mostrado na nova página:

Página do Balanceador de Carga de Aplicação
Passo 2. Dê um nome adequado (aqui ‘My_Path_ALB’) ao seu balanceador de carga. Mantenha o Esquema como padrão (‘Voltado para a Internet’), selecione o tipo de endereço IP como IPv4.

Configuração básica do balanceador de carga
Passo 3. Na seção de Mapeamento de Rede, selecione a VPC de destino e na seção de Mapeamentos, selecione as duas Zonas de Disponibilidade contendo seus destinos para os quais o balanceador de carga roteará o tráfego.

Mapeamento de Rede
Passo 4. Configure Grupos de Segurança para o balanceador de carga e permita sua porta de destino (porta 80 no nosso caso) para escutar:

Configurando Grupos de Segurança
Passo 5. Selecione um listener (HTTP no nosso caso) e insira uma porta para escutar ou escolha manter a porta padrão 80 para solicitações HTTP. Sob a ação padrão, selecione o destino ‘Sign-in’ para a coluna ‘encaminhar para’:

Configurando listener
Passo 6. Passos opcionais podem ser pulados. Agora revise o resumo e clique no botão ‘Criar balanceador de carga’:

Revisar o resumo do balanceador de carga
Passo 7. Agora vá novamente para a página ‘Balanceadores de Carga’ e encontre seu balanceador de carga aqui:

Página de Balanceadores de Carga

Adicionando Regras de Encaminhamento Baseadas em Caminho

Passo 1. Assim que o status do ALB mudar para Ativo, procederemos com as Regras de Encaminhamento. Clique no nome do Balanceador de Carga e depois vá para a aba Listeners.

Passo 2. Clique em ‘Ver/Edit regras’ sob a coluna ‘Regras’ e depois clique no símbolo ‘+’ seguido de ‘Inserir Regra’:

Regras baseadas em Caminho

Adicionando Regras de Encaminhamento Baseadas em Caminho

Passo 3. Sob a coluna ‘SE(todos correspondem)’, clique na seta para baixo ‘+ Adicionar condição’ e selecione ‘Caminho’ como o tipo de Regra e coloque ‘/signin*’ no campo de texto correspondente ao rótulo ‘é’.

Passo 4. Na coluna ‘Então’, clique na seta para baixo ‘+Adicionar ação’ e selecione ‘Encaminhar para’ como a ação. Aqui selecione o grupo de destinos ‘Sign-In’.

Repita os passos 2 e 3 acima para o grupo de destinos ‘SignUp’ com o caminho como ‘/signup*’. Após salvar as regras, teremos duas regras:

Resumo da regra baseada em caminho

Verificando a Configuração…

Para verificar se tudo está funcionando como esperado, abra um navegador web e cole o DNS do balanceador de carga e anexe-o com:

  1. Caminho do grupo de destinos ‘Sign-Up’: ‘/signup’

  1. Caminho do grupo de destinos ‘Sign-In’: ‘/signin’

Conclusão

Parabéns, finalmente configuramos um cenário funcional para roteamento baseado em caminho no balanceador de carga de aplicação da AWS.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.