“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:
O que você precisará?
Para realizar o laboratório descrito neste guia, você precisa de algumas coisas:
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:
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:
A configuração de "verificações de saúde":
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:
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.