Como configurar o balanceador de carga do aplicativo com roteamento baseado no host

Como configurar o balanceador de carga do aplicativo com roteamento baseado no host

“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 host.

No roteamento baseado em host, o tráfego recebido é roteado com base no nome do domínio ou nome do host fornecido no cabeçalho do host. Neste tutorial, criaremos um balanceador de carga de aplicativos com roteamento baseado no host.”

Visão geral deste laboratório

Neste laboratório, configuraremos o balanceador de carga do aplicativo na AWS usando a abordagem de roteamento baseada em host. Para executar este laboratório, exigimos os seguintes componentes: primeiro, precisamos de duas zonas de disponibilidade com um mínimo de uma instância EC2 em cada um deles. Em seguida, é um VPC com pelo menos uma sub -rede pública em cada uma dessas zonas de disponibilidade. Configuraremos o balanceador de carga usando essas sub -redes públicas. Por fim, configure um servidor da web para as instâncias do EC2 acima e use o grupo de segurança para abrir a porta 80 para solicitações HTTP nessas instâncias.

Configurando as instâncias do EC2

A primeira instância do EC2 é um Ubuntu 20.04 Linux Machine e o Web Server (Apache) exibe a mensagem: “Este é um host xyz”. Tem um nome de host: www.XYZ.TeCofers.com

Da mesma forma, a segunda instância também é um Ubuntu 20.04 Linux, com o servidor da web exibindo a mensagem: “Este é um anfitrião ABC”. Tem um nome de host: www.abc.TeCofers.com

Os servidores da Web contêm os diretórios "ABC" e "XYZ" dentro de seus diretórios raiz, eu.e. (/var/www/).

Configurando o grupo -alvo

Passo 1. Nesta etapa, criaremos grupos -alvo ("XYZ" e "ABC") para rotear os pedidos recebidos. No painel do EC2, selecione a opção Grupos de destino no painel esquerdo sob o título de balanceamento de carga. Agora selecione a opção "Criar grupo -alvo":


Passo 2. A página "Especificar detalhes do grupo" tem várias opções a serem preenchidas.

i) Começamos com o cabeçalho "Configuração básica":

  1. Para a opção "Escolha um tipo de destino", clique no botão de rádio "Instâncias" aqui.
  1. Para o "nome do grupo -alvo", insira um nome de grupo -alvo apropriado ("xyz" no meu caso).
  1. Para as opções "Protocolo" e "Port", selecione "HTTP" e "80", respectivamente.
  1. Para a opção "VPC", escolha o VPC contendo suas instâncias.
  1. Finalmente, para a "versão do protocolo", siga a opção padrão (http1).

ii) A configuração "verificações de saúde" tem os seguintes campos:

  1. Para o menu suspenso "Protocolo de verificação de saúde", escolha HTTP.
  1. Para o “caminho de verificação de saúde”, especifique um caminho personalizado ou use o padrão (recomendado).
  2. Recomendamos manter as “configurações avançadas de verificação de saúde” como é. Adicionar tags é uma etapa opcional. Entre "Próximo" para continuar.

Registrar as instâncias

Nesta etapa, precisamos registrar as instâncias com os grupos -alvo.

Passo 1. Nesta página, escolha uma instância e selecione o botão “Inclua como pendente abaixo”. Isso fará com que a instância apareça no cabeçalho "metas de revisão". Prossiga pressionando o botão "Criar grupo -alvo".

Para outro grupo -alvo, "ABC", repita as mesmas etapas de criar um grupo -alvo e depois anexar outra instância aqui. Nos grupos -alvo, os dois grupos -alvo aparecerão como:


Até agora, não anexamos nenhum balanceador de carga aos nossos grupos -alvo. Vamos criar um balanceador de carga.

Crie o balanceador de carga do aplicativo

Observação: Criar um serviço de balanceador de carga exige que você pague aws.

Passo 1. No painel do EC2, selecione o título de balanceadores de carga e pressione o botão "Criar carga de balanceador de carga" e escolha "Application Load Balancer":


Passo 2. Insira um nome para o balanceador de carga que satisfaz as restrições de nomenclatura. Sob o esquema, mantenha a opção padrão ("voltada para a internet") selecionada. Para "Tipo de endereço IP", escolha IPv4.


etapa 3. Ao avançar, temos "mapeamento de rede"; Aqui, escolha o VPC com o qual estamos trabalhando. Além disso, escolha duas zonas de disponibilidade que mantêm os alvos. O tráfego de entrada será roteado para esses alvos pelo balanceador de carga.


Passo 4. Para os grupos de segurança, selecione ou crie um novo grupo de segurança para o balanceador de carga que permitirá a comunicação com a porta de destino (porta 80)


Etapa 5. Agora vêm os ouvintes e o segmento de roteamento; O que temos que fazer aqui é configurar um ouvinte escolhendo um protocolo (http aqui) e uma porta. Para a ação padrão, escolha seu alvo correspondente ao campo "Avançar para".


Etapa 6. Adicionar tags e serviços complementares são etapas opcionais e podem ser ignoradas. Depois de revisar o resumo da configuração e clique no botão "Criar carregar balanceador":


O balanceador de carga está agora pronto.

Adicione as regras de encaminhamento baseadas em host

Depois que o balanceador de carga é criado e seu status se tornar ativo, somos obrigados a adicionar regras de tráfego para a frente.

Passo 1. Na página “Carregar balanceadores” e selecione o balanceador de carga e depois mova -se para a guia ouvintes:


Passo 2. Navegue até a guia ouvintes e na coluna "Regras", clique no link "Regras de visualização/edição". Uma nova página aparece aqui primeiro; Clique no ícone "+" e clique no link "Inserir regra".


etapa 3. Para a coluna if (todas as correspondências), faça o seguinte:

i) Clique no “+ Adicionar condição” e defina o “cabeçalho do host” como o tipo de regra.

ii) Digite o host ou nome de domínio dentro do campo correspondente ao rótulo "é".

Passo 4. Para a coluna "então", faça o seguinte:

I) Clique em "+Adicionar ação" e encaminhe "Avance para" como a ação.

ii) Escolha o grupo -alvo.

Salve a regra e para outro grupo -alvo, insira a regra da mesma maneira e salve -a.


Caso as regras acima não sejam atendidas, a regra padrão será usada.

Registrar o domínio

Para fazer com que o roteamento baseado no host trabalhe pela Internet, precisamos registrar os nomes de host na Rota 53 e mapeá-los com o DNS de balanceador de carga.

Passo 1. No painel da Rota 53, escolha a opção "Criar zona hospedada":


Passo 2. Em seguida, insira seu nome de domínio para onde o tráfego será roteado para. Para o campo "Tipo", defina a "zona pública hospedada". Aperte o botão “Criar zona hospedada”.


etapa 3. Na seção "Records", escolha "Criar registro".


Passo 4. Na página “Escolha a política de roteamento ', selecione o link“ Switch to Wizard ”e escolha a caixa“ Roturamento simples ”e clique em“ Avançar ”:

Etapa 5. Agora escolha “Definir registro simples” e depois digite os detalhes do registro:

Domínio: domínio ou nome de subdomínio para rotear o tráfego para.

Tipo de registro: DNS tipo do registro.

Valor/rotear tráfego para:

  1. Escolha “Alias ​​para aplicação e balanceador de carga clássico”
  2. Escolha a região onde o balanceador de carga é implantado
  3. Escolha o endereço do balanceador de carga e pressione “Definir Record Simple”.

Na próxima página, clique no botão "Criar registros".

Faça as mesmas etapas para outro nome de domínio e verifique o registro acima na página "Configurar registros".

Teste a configuração

Para verificar o procedimento acima, em um navegador da web, insira o nome DNS do balanceador de carga junto com os nomes de host:

Conclusão

Finalmente fizemos o caminho para o roteamento baseado no host no aplicativo da AWS Balancer de carga. Tente fazer este laboratório e também tente configurar o balanceador de carga do aplicativo com roteamento baseado em caminho.

Referências: https: // docs.AWS.Amazonas.com/elasticloadbalancing/mais recente/aplicativo/aplicativo-carregamento-balancer-getting-started.html