Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como faço para obter o roteamento baseado em caminhos em um Application Load Balancer?
Estou executando vários microsserviços por trás do meu Application Load Balancer. Quero encaminhar solicitações para grupos de destino específicos com base no caminho do URL.
Breve descrição
É possível usar um Application Load Balancer para criar um receptor com regras que encaminham solicitações para grupos de destino com base na URL. As regras do padrão de caminho se aplicam somente ao caminho do URL e não aos parâmetros de consulta do URL. Para obter mais informações sobre padrões de caminho, consulte Condições de caminho.
Observação: esse atributo não é compatível com Classic Load Balancer, Network Load Balancer ou Gateway Load Balancer.
Para estabelecer o roteamento baseado em caminhos em seu Application Load Balancer, conclua estas etapas:
- Crie um grupo de destino.
- Configure as regras do receptor.
Pré-requisitos:
- Execute as instâncias do Amazon Elastic Compute Cloud (Amazon EC2) em uma Amazon Virtual Private Cloud (Amazon VPC). Para obter mais informações, consulte Comece a usar o Amazon EC2.
- Verifique se os grupos de segurança dessas instâncias do Amazon EC2 permitem acesso na porta do receptor e na porta de verificação de integridade.
- Implante a aplicação nas instâncias do Amazon EC2 que você pretende registrar com os grupos de destino. Por exemplo, consulte Tutorial: Instale um servidor LAMP no AL2023.
- Crie um Application Load Balancer.
Resolução
Crie um grupo de destino
Depois de criar as instâncias, registre-as com um grupo-alvo. Com base nas regras do receptor configuradas, o Application Load Balancer envia solicitações para destinos registrados com base na porta e no protocolo que você especificou. No entanto, é possível substituir as informações da porta ao registrar destinos individualmente. Para obter mais informações, consulte Criar um grupo-alvo para seu Application Load Balancer.
Por exemplo, suponha que você tenha dois serviços, o serviço A e o serviço B. As aplicações que executam esses serviços usam a porta 80. O serviço A executa uma aplicação no caminho /svcA e o serviço B executa uma aplicação no caminho /svcB.
- Você cria dois grupos de destino com Protocolo como HTTP e Porta como 80, cada um com uma aplicação implantada.
- Você registra a instância do Amazon EC2 que executa o serviço A com target-group-A. Para esse grupo de destino, é possível definir HealthCheckProtocol como HTTP e HealthCheckPath como /svcA.
- Você registra a instância do Amazon EC2 que executa o serviço B com target-group-B. Para esse grupo de destino, é possível definir HealthCheckProtocol como HTTP e HealthCheckPath como /svcB.
É possível adicionar ou remover destinos de seus grupos de destino a qualquer momento. Para obter mais informações, consulte Registrar destinos com seu grupo de destino do Application Load Balancer.
Depois de especificar um grupo de destino, o balanceador de carga monitora continuamente a integridade de todos os alvos que estão na zona de disponibilidade ativada. O balanceador de carga encaminha as solicitações para os destinos registrados que estão íntegros. Para obter mais informações, consulte Verificações de integridade para grupos de destino do Application Load Balancer.
Configure as regras do receptor
Ao criar um receptor para um Application Load Balancer, é possível definir uma ou mais regras além da regra padrão. Uma regra consiste em uma prioridade, uma ação e uma ou mais condições. Não é possível definir condições para a regra padrão. Se nenhuma das condições das regras definidas forem atendidas, a ação da regra padrão será executada.
- Para saber mais sobre a prioridade da regra, consulte Atualizar prioridade da regra.
- Para saber mais sobre ações de regras, consulte Tipos de ações de regras.
- Para saber mais sobre condições da regra, consulte Tipos de condição da regra.
Para implementar o roteamento baseado em caminhos em um Application Load Balancer, configure as regras do receptor. Configure uma regra para cada padrão de caminho com base no qual você deseja encaminhar suas solicitações.
Exemplo de regras de receptor
O exemplo a seguir mostra as regras do receptor para os serviços A e B:
Regra 1 do receptor: Se o caminho do URL da solicitação contiver a string /svcA, encaminhe a solicitação para o target-group-A. Isso ocorre porque target-group-A inclui o serviço A que executa uma aplicação no caminho determinado.
Regra 2 do receptor: Se o caminho do URL da solicitação contiver a string /svcB, encaminhe essa solicitação para o target-group-B. Isso ocorre porque o target-group-B inclui o serviço B que executa uma aplicação no caminho determinado.
- Para criar um novo receptor HTTP, consulte Criar um receptor HTTP para seu Application Load Balancer.
- Para criar um novo receptor HTTPS, consulte Criar um receptor HTTPS para seu Application Load Balancer.
Para atualizar as regras do receptor com condições e ações, conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, em Balanceamento de carga, escolha Balanceadores de carga.
- Escolha o balanceador de carga e, em seguida, escolha Receptores e regras.
- Para atualizar o receptor, escolha a guia Receptores e regras e selecione o texto na coluna Protocol:Port para abrir a página de detalhes do receptor.
- Na guia Regras, na seção Regras do receptor, selecione a regra que você deseja editar.
- Escolha Ações e, em seguida, escolha Editar regra.
- Escolha Adicionar regras.
- Modifique o nome e as tags conforme necessário. Para adicionar tags adicionais, escolha Adicionar tags adicionais.
- Escolha Avançar.
- Para adicionar uma regra baseada em caminho para /svcA, escolha Adicionar condição, escolha Caminho e, em seguida, insira o padrão de caminho /svcA. Selecione Confirmar.
- Escolha Avançar.
- Para adicionar uma ação de encaminhamento, escolha Ações de roteamento como Encaminhar para grupos de destino e, em seguida, no menu, escolha target-group-A.
- Escolha Avançar.
- Escolha a prioridade apropriada.
- Revise seus detalhes e as configurações atualizadas de sua regra. Quando estiver satisfeito com suas seleções, escolha Salvar alterações.
Repita as etapas anteriores para o caminho /svcB com as seguintes alterações:
- Para a etapa 10, insira o padrão de caminho /svcB.
- Para a etapa 12, escolha o grupo target-group-B.
Para obter mais informações, consulte Regras de receptor para seu Application Load Balancer.
Observação: as regras de roteamento baseadas em caminhos buscam uma correspondência exata. Se sua aplicação exigir que as solicitações sejam roteadas posteriormente nesses caminhos, inclua um curinga na condição da regra de roteamento baseada em caminhos. Use padrões de caminho semelhantes a /svcA* ou /svcB* para contabilizar quaisquer documentos nesses caminhos ao rotear solicitações.
Roteamento baseado em caminhos de teste
Para testar o roteamento baseado em caminhos, copie o nome DNS do Application Load Balancer em um navegador da Web e adicione o caminho da URL /svcA ou /svcB.
Por exemplo, suponha que seu Application Load Balancer seja alb-demo-1234567890.us-west-2.elb.amazonaws.com como o nome DNS.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcA deve retornar o serviço A.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcB deve retornar o serviço B.
Quando o receptor do Application Load Balancer recebe a solicitação, a encaminha para o grupo de destino apropriado com base na condição do caminho.
Se você usa roteamento baseado em caminhos, é possível hospedar vários microsserviços por trás de um único Application Load Balancer. É possível rotear o tráfego para cada serviço com base nas regras do receptor e nos grupos de destino. Também é possível rotear o tráfego com base em condições como cabeçalho do host, cabeçalho do agente do usuário ou valores dos parâmetros de consulta. Para obter mais informações, consulte Roteamento avançado de solicitações para Application Load Balancers da AWS.
Informações relacionadas
Como posso solucionar falhas na verificação de integridade dos Application Load Balancers?
- Idioma
- Português
Vídeos relacionados


Conteúdo relevante
- feita há um ano
- feita há 4 meses
- feita há 8 meses