Tudo o que você precisa saber sobre o balanceador de carga de aplicativo



Este blog fornece conhecimento profundo de um Balanceador de Carga de Aplicativo. Ele demonstra a criação e o uso de NLB para vantagem do seu aplicativo.

Quanto mais pistas um detetive tiver, mais fácil será para ele resolver o caso. É exatamente assim que funciona um balanceador de carga. Quanto mais informações um balanceador de carga tiver, melhor ele funcionará. Neste blog, vou falar sobre o Application Load Balancer e como ele distribui o tráfego de entrada, obtendo maior acesso aos cabeçalhos dos pacotes e detalhes de HTTPS e HTTPS.

Assuntos abordados:





O que é o Application Load Balancer?

Tenho certeza de que vocês já ouviram falar sobre o modelo OSI. É uma arquitetura de 7 camadas, com cada camada realizando uma tarefa especial na transferência de dados em todo o mundo. Essas camadas incluem - camada física, camada de enlace de dados, camada de rede, camada de transporte, camada de sessão, camada de apresentação e camada de aplicação. O Application Load Balancer opera na 7ª camada do Modelo OSI como o nome sugere. istotem a capacidade de examinar o conteúdo no nível do aplicativo e rotear o tráfego com base nas informações adquiridas. O conteúdo no nível do aplicativo inclui detalhes do pacote, detalhes HTTP e HTTPS. Isso torna o roteamento mais fácil, rápido e muito mais eficiente. É um dos mais usados .

Funcionamento do balanceador de carga do aplicativo

O balanceador de carga do aplicativo consiste em ouvintes e regras . Quando um cliente faz a solicitação, o ouvinte a reconhece. As regras são diretrizes que regem o roteamento de cada solicitação do cliente, uma vez que é ouvida pelo ouvinte. As regras consistem em três componentes - Grupo alvo , Prioridade e Condições . Os grupos-alvo consistem em alvos registrados (servidores onde o tráfego deve ser roteado). Cada grupo de destino roteia solicitações para um ou mais destinos registrados, como instâncias EC2, usando o protocolo e o número da porta que você especificar. Então, basicamente, quando o ouvinte recebe a solicitação, ele passa pela ordem de prioridade para determinar qual regra aplicar, analisa as regras e, com base na condição, decide qual grupo-alvo recebe a solicitação.



ALB - Balanceador de carga de aplicativo - Edureka

Você sempre pode adicionar ou remover destinos de seu balanceador de carga como e quando necessário, sem interromper o fluxo geral das solicitações para seu aplicativo. O ELB dimensiona seu balanceador de carga dinamicamente, ou seja, conforme o tráfego em seu aplicativo muda ao longo do tempo, mantendo seu aplicativo preparado para várias situações.

Recursos que o tornam melhor do que o balanceador de carga clássico

Roteamento baseado em conteúdo: O Balanceador de Carga do Aplicativo precisa acessar os cabeçalhos HTTP e, portanto, roteia o tráfego com base neles.



Suporte para aplicativo baseado em contêiner: Com o poderoso conceito de conteinerização, a maioria dos usuários está empacotando seus microsserviços em contêineres e hospedando-os em instâncias EC2. Isso permite que uma única instância EC2 execute vários serviços. O Application Load Balancer oferece suporte a esses aplicativos baseados em contêiner. Uma instância pode hospedar vários contêineres e escutar em várias portas, atrás do mesmo grupo de destino. Ele também executa verificações de integridade de nível de porta refinadas.

Melhores métricas: O Application Load Balancer executa verificações de saúde por porta e também gera um relatório. A verificação de saúde especifica um intervalo de respostas HTTP aceitáveis. Essas verificações de integridade também são acompanhadas por códigos de erro detalhados.

Roteamento baseado em caminho: O Application Load Balancer suporta roteamento baseado em caminho e host, o que não é o caso do balanceador de carga Classic. YVocê pode rotear solicitações para vários domínios usando um único balanceador de carga.

Registre o endereço IP e as funções do Lambda: Além de registrar instâncias EC2, você também pode registrar endereços IP e funções Lambda em seu destino. E, portantovocê também pode registrar alvos que estão fora do VPC.

Fornece protocolos e cargas de trabalho adicionais:

O balanceador de carga de aplicativo fornece dois protocolos adicionais - HTTP / 2 e WebSocket

HTTPS / 2: Este protocolo oferece suporte a solicitações multiplexadas em uma única conexão. Isso reduz o tráfego da rede.

WebSocket: Este protocolo permite que você configure uma conexão TCP de longa duração entre o cliente e o servidor. Este protocolo é muito mais eficiente em comparação com os métodos mais antigos.

Demonstração: crie um balanceador de carga de aplicativo e demonstre que está funcionando

Vamos entender melhor o Application Load Balancer, criando um e usando-o. Nesta demonstração, vou criar duas instâncias EC2, implantar o servidor da web Nginx em ambos com saída HTML diferente (fácil de diferenciar entre eles), criar um balanceador de carga do aplicativo, registrar essas duas instâncias nesse balanceador de carga e verificar se o servidor da web implantado nas instâncias puder ser acessado a partir do DNS do balanceador de carga. Vamos começar.

Passo 1: e conecte suas instâncias a Putty ou cmder.

Passo 2: Instale o servidor da web Nginx em ambas as instâncias. Execute os seguintes comandos para instalar o Nginx:

$ sudo apt-get update $ sudo apt install nginx $ sudo ufw lista de aplicativos $ sudo ufw permitir 'Nginx HTTP' $ sudo ufw status

Copie o IP público das instâncias e cole-o em um navegador como um URL, para verificar se o Nginx foi instalado com sucesso.

etapa 3 : Altere a saída HTML do servidor da web Nginx para evitar a confusão entre as implantações em ambas as instâncias.

$ cd / var / www / html $ sudo vi index.nginx-debian.html

Altere o conteúdo da tag H1 como “Bem-vindo ao Nginx! - SERVIDOR1'. Faça o mesmo na outra instância, exceto altere para “Bem-vindo ao Nginx! - SERVIDOR 2 ”.

Passo 4: Crie um balanceador de carga de aplicativo. No painel de navegação, em BALANCEAMENTO DE CARGA , escolha Balanceadores de carga e clique em Crio em Balanceador de carga de aplicativo.

Você será direcionado para outra página, escolha Criar balanceador de carga lá.

Vamos configurar o balanceador de carga. Para Nome, digite o nome que gostaria que seu Balanceador de Carga tivesse. Para Esquema, selecione Voltado para a Internet ou Interno. Neste caso, escolhi o acesso à Internet. Voltado para a Internet basicamente roteia as solicitações dos clientes para o destino pela Internet.

Para ouvintes, o padrão é aceitar o tráfego TCP na porta 80 e continuo com a mesma configuração de ouvinte padrão. Caso queira adicionar outro ouvinte, você pode escolher Adicionar ouvinte .

Para a Zona de disponibilidade, selecione o VPC que você usou para criar suas instâncias EC2. Selecione uma Zona de disponibilidade e a sub-rede dessa Zona de disponibilidade para cada Zona de disponibilidade usada para criar uma instância EC2.

Você adiciona tags ao seu balanceador de carga conforme necessário. As tags são especialmente úteis quando você tem vários balanceadores de carga.

Clique em A seguir: Definir as configurações de segurança . Você pode ver um aviso, mas pode ignorá-lo.

Nesta etapa, você pode configurar a segurança do seu balanceador de carga. Você pode Crie um novo grupo de segurança ou Selecione um Grupo de Segurança existente . Neste caso, escolhi um grupo de segurança existente.

Depois de concluir a configuração de segurança, clique em A seguir: Configurar o roteamento . Selecione uma Novo grupo-alvo. Adicione o Nome você gostaria de dar o seu Grupo alvo . Selecione os Tipo de alvo como instância, pois estamos anexando instâncias. O balanceador de carga do aplicativo também permite que você anexe endereços IP e funções Lambda. Deixe o Protocolo e Porta ser o padrão.

Eu não mudei nada em Verificações de saúde e Verificações de saúde avançadas ou. As configurações padrão são boas o suficiente para nós.

Clique em Próximo: Registrar alvos para adicionar seus destinos (neste caso, instâncias) ao seu balanceador de carga.

Selecione as instâncias que deseja adicionar como alvos e clique em Adicionar para registrar.

Seus destinos (instâncias) agora foram registrados no Load Balancer.

Clique em Próximo: Revisão . Revise seu balanceador de carga e, finalmente, clique em Crio .

Seu balanceador de carga foi criado e você pode verificar seu status.

Yayyy !! Você criou com sucesso um balanceador de carga de aplicativo. Agora vamos verificar se está realmente funcionando.

Etapa 5: Copie o nome DNS do seu balanceador de carga e cole-o em um navegador como um URL. Você deve ver a saída da primeira instância.

Agora vá para outro navegador e cole o mesmo nome DNS, você deve ver a saída da segunda instância.

como usar um iterador

E isso mostra que o balanceador de carga está equilibrando a carga de duas instâncias nele. As cargas em ambas as instâncias EC2 serão tratadas por este balanceador de carga. Outra maneira de testar o funcionamento do seu balanceador de carga é fechar uma instância e verificar se suas implantações estão implantadas no DNS do balanceador de carga.

Isso nos leva ao final deste blog do Application Load Balancer. Espero que vocês tenham entendido o conceito por trás deste incrível serviço fornecido pela Amazon. Para mais blogs, visite “ '

Se você deseja aprender mais sobre Cloud Computing e construir uma carreira em Cloud Computing, confira nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento o ajudará a entender a Computação em Nuvem em profundidade e a alcançar o domínio sobre o assunto.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você ou postaremos sua pergunta em . Na Comunidade Edureka, temos mais de 1.00.000 fanáticos por tecnologia prontos para ajudar.