Como configurar o balanceador de carga do aplicativo com roteamento baseado em caminho

Como configurar o balanceador de carga do aplicativo com roteamento baseado em caminho

“O balanceamento de carga é uma técnica na qual a carga de trabalho é redistribuída de tal maneira que não há uso excessivo, subutilização ou nenhum uso de dispositivos de computação. Na AWS, um balanceador de carga recebe solicitações e depois as transfere para alvos definidos em um grupo -alvo. Podemos criar um balanceador de carga de aplicativos usando o AWS Management Console ou a AWS CLI. Existem várias opções de roteamento com a AWS Application Load Balancer, e.g., Roteamento baseado em caminho e roteamento baseado no hospedeiro.

No roteamento baseado em caminho, o tráfego de entrada é roteado com base no caminho do URL fornecido.”

O que vamos cobrir?

Neste guia, veremos como criar um balanceador de carga de aplicativos com roteamento baseado em caminho.

O que você precisa saber?

Para este guia, assumimos que você sabe sobre:

  1. O que é um balanceador de carga e, mais especificamente, qual é o objetivo de um balanceador de carga de aplicativos?
  1. Como configurar um balanceador de carga de aplicativos?

O que você precisará?

Para realizar o laboratório descrito neste guia, você precisa de algumas coisas:

  1. Acesso à sua conta da AWS.
  2. Conhecimento do balanceador de carga de aplicativos.
  3. Acesso à internet.

Como funciona o roteamento baseado em caminho?

A AWS tem quatro tipos (no momento da redação deste artigo) de balanceadores de carga elástica. Estes são balanceadores de carga clássicos, balanceadores de carga de aplicação, balanceadores de carga de gateway e balanceadores de carga de rede.

Como estamos lidando com Alb, parece bom dizer um pouco sobre alb. Alb, um balanceador de carga da camada 7, usa duas ou mais instâncias do EC2 para distribuir o tráfego. O equilíbrio de carga elástico adiciona ou libera os servidores com base na demanda de uso de aplicativos. O tráfego de entrada é dividido entre vários alvos. Esses alvos, residindo em zonas de disponibilidade únicas ou múltiplas, podem incluir instâncias, contêineres ou endereços IP.

Além disso, as regras de roteamento aqui podem ser definidas com base no conteúdo da solicitação (roteamento baseado em conteúdo). Como mencionado anteriormente, as solicitações de rota de roteamento baseadas em caminho são baseadas no caminho da URL, e.g., Se especificarmos "/pedidos", as solicitações serão encaminhadas para os servidores que lidam com as solicitações de pedido e, se o caminho for "/pagamento", as solicitações serão encaminhadas para os servidores que lidam com o trabalho de pagamento. Dessa forma, podemos segmentar o tráfego e controlar com eficiência as cargas de trabalho do servidor.

Configurando as instâncias

Há certas coisas que você precisa fazer para este laboratório: inicie dois Ubuntu ou Amazon Linux ou outras duas instâncias do EC2 e instale um servidor da Web Apache neles. Personalize a página de índice de cada servidor da Web; Um servidor exibe a mensagem "Esta é a página de pagamento" e o outro exibe "Esta é a página do pedido."O arquivo de índice para essas páginas está sendo servido dos diretórios" Pagamento "e" Order "dentro da pasta"/var/www/html "para os dois servidores da Web.

Requisito para o laboratório

Existem certos requisitos para este laboratório que devem ser concluídos:

  1. Duas zonas de disponibilidade com pelo menos uma instância de porção em cada uma delas. Portanto, configuraremos duas instâncias e dois AZs, com cada AZS contendo pelo menos uma instância.
  2. Um VPC contém um mínimo de uma sub -rede pública em cada uma das zonas de disponibilidade acima.

Configurando o grupo -alvo

Começando com grupos -alvo, precisamos de dois deles para as instâncias acima. Cada instância será associada a um grupo -alvo exclusivo para este laboratório. Crie um grupo -alvo e repita as mesmas etapas para o outro, mas com uma instância diferente.

Passo 1. Vá para o console do EC2 e escolha “Grupos -alvo”

Passo 2. Em seguida, clique no "Crie Grupo Target" para a próxima página:

etapa 3. Para a página "Especificar detalhes do grupo", preencha os detalhes abaixo:

  1. Escolha um tipo de destino: Escolha a opção "Instâncias".
  2. Nome do grupo -alvo: Nome do grupo -alvo para usar. ("Pagamento" e "Ordem" em nosso caso.)
  3. Protocolo: Http
  4. Porta: 80
  5. VPC: Escolha o VPC usado aqui.
  6. Versão do protocolo: Atenha -se ao já selecionado. (Http1)

A configuração de "verificações de saúde":

  1. Protocolo de verificação de saúde: Http
  2. Caminho de verificação de saúde: Atenha -se ao padrão ou altere, se necessário (“/pagamento/índice.html "e"/order/index.html ”para os servidores da web aqui.).

Recomenda -se não tocar em "configurações avançadas de verificação de saúde" desnecessariamente. Opcionalmente, adicione tags. Acerte o "próximo" para continuar.

Passo 4. Agora registre as instâncias do EC2 nos grupos -alvo acima. Escolha uma instância e depois pressione no botão "Incluir como pendente abaixo". Esta instância estará agora disponível na seção "metas de revisão". Clique no botão "Criar grupo de destino".

Após a conclusão, os dois grupos -alvo aparecerão agora como:

Crie um balanceador de carga de aplicativos (ALB)

Para criar um balanceador de carga de aplicativos, use a opção de configuração de balanceador de carga do console EC2. Definimos a seguinte configuração para ele:

Nome do balanceador de carga: linuxhint-lb

Esquema: Voltado para a Internet

Tipo de endereço IP: IPv4

VPC: seu VPC

Mapeamento: Para cada zona de disponibilidade (AZ) contendo as instâncias do EC2, escolha o AZ e selecione uma sub -rede pública para a AZ.

Grupos de segurança: Permitir a porta 80.

Protocolo do ouvinte: Http e porta 80.

Ação padrão: Selecione um grupo -alvo aqui.

Adicionando regras ao balanceador de carga

Passo 1. Depois de configurar o balanceador de carga, vá para a guia ouvintes do balanceador de carga de destino e selecione o Link "Visualizar/editar regras" sob as "regras" coluna.

Passo 2. Agora selecione o ícone "+" e clique no link "Inserir regra" para adicionar uma nova regra. Um novo bloco será aberto para adicionar regras. Clique no menu "+adicione condição" e escolha o "Tipo de regra" como caminho e digite o caminho "/Order/*" no campo de texto anexado ao rótulo "IS". Salve isso.

etapa 3. Da mesma forma, para a seção "então", escolha o menu "+Adicionar ação" e escolha a opção "Avançar para" e selecione o grupo de destino "Ordem." Salve isso.

Faça as mesmas etapas para outro grupo -alvo chamado “Pagamento.O caminho agora deve ser “/pagamento/*.”Revise as regras antes de prosseguir.

Teste Executar a configuração

Abra um navegador da web e insira o URL do balanceador de carga e adicione -o com o caminho dos grupos -alvo como:

  1. Caminho do grupo -alvo "Ordem"
  1. Caminho do grupo -alvo "pagamento"

Empacotando

Parabéns, nosso laboratório está completo agora e o roteamento baseado em caminho está funcionando bem, como demonstrado acima. O que podemos fazer a seguir é configurar o roteamento baseado no host ou configurar uma mistura de configuração de balanceamento de carga baseado em hospedeiro e baseado em caminho.