Encaminhar tráfego com o Gateway de Aplicação

Concluído

O Gateway de Aplicação gere os pedidos que as aplicações cliente podem enviar para uma aplicação Web. O Gateway de Aplicação encaminha o tráfego para um conjunto de servidores Web com base no URL de um pedido. Este processo é denominado encaminhamento de camada de aplicação. O conjunto de servidores Web podem ser máquinas virtuais do Azure, conjuntos de dimensionamento de máquinas virtuais do Azure, o Serviço de Aplicações do Azure e até mesmo servidores no local.

Diagrama mostrando como uma solicitação é roteada pelo Application Gateway para um servidor Web.

Como o Gateway de Aplicação encaminha os pedidos

Os clientes enviam pedidos para as aplicações Web para o endereço IP ou nome DNS do gateway. O gateway encaminha os pedidos para um servidor Web selecionado no conjunto de back-end, com um conjunto de regras configuradas para o gateway determinar para onde deve ir o pedido.

Existem dois métodos principais de encaminhamento de tráfego: o encaminhamento baseado no caminho e o alojamento de vários sites. Vamos dar uma olhada nas capacidades de cada um.

Encaminhamento baseado no caminho

O roteamento baseado em caminho permite enviar solicitações com caminhos diferentes na URL para um pool diferente de servidores back-end. Por exemplo, pode direcionar os pedidos com o caminho /video/* para um conjunto de back-end que contém os servidores que estão otimizados para lidar com a transmissão de vídeo e direcionar pedidos /images/* para um grupo de servidores que lidam com a obtenção de imagem.

Diagrama mostrando como uma solicitação é roteada pelo Application Gateway configurado com roteamento baseado em caminho.

Alojamento de vários sites

A hospedagem de vários sites permite configurar mais de um aplicativo Web na mesma instância do gateway de aplicativo. Em uma configuração multissite, você pode registrar vários nomes DNS (CNAMEs) para o endereço IP do Application Gateway, especificando o nome de cada site. O Gateway de Aplicação utiliza serviços de escuta distintos para aguardar pelos pedidos para cada site. Cada serviço de escuta transmite o pedido a uma regra diferente, que pode encaminhar os pedidos para os servidores num conjunto de back-end diferente. Por exemplo, pode configurar o Gateway de Aplicação para direcionar todos os pedidos de http://contoso.com para servidores num conjunto de back-end e os pedidos de http://fabrikam.com para outro conjunto de back-end. O diagrama a seguir mostra essa configuração:

Diagrama mostrando como uma solicitação é roteada pelo Application Gateway configurado com hospedagem de vários sites.

As configurações multissite são úteis para dar suporte a aplicativos multilocatário, onde cada locatário tem seu próprio conjunto de máquinas virtuais ou outros recursos que hospedam um aplicativo Web.

Outras capacidades de encaminhamento

Juntamente com o encaminhamento baseado no caminho e o alojamento de vários sites, existem algumas capacidades adicionais quando se faz o encaminhamento com o Gateway de Aplicação.

  • Redireccionamento: O redireccionamento pode ser utilizado para outro site ou de HTTP para HTTPS.
  • Reescrever cabeçalhos HTTP: os cabeçalhos HTTP permitem que o cliente e o servidor passem informações adicionais com a solicitação ou a resposta.
  • Páginas de erro personalizadas: o Application Gateway permite criar páginas de erro personalizadas em vez de exibir páginas de erro padrão. Pode utilizar a sua própria imagem e esquema corporativos através de uma página de erro personalizada.

Balanceamento de carga no Gateway de Aplicação

O Gateway de Aplicação vai fazer automaticamente o balanceamento de carga dos pedidos enviados para os servidores em cada conjunto de back-end através de um mecanismo de round robin. No entanto, você pode configurar a aderência da sessão se precisar garantir que todas as solicitações para um cliente na mesma sessão sejam roteadas para o mesmo servidor em um pool de back-end.

O balanceamento de carga funciona com o roteamento OSI Layer 7 que o roteamento do Application Gateway implementa, o que significa que ele balanceia a carga das solicitações com base nos parâmetros de roteamento (nomes de host e caminhos) usados pelas regras do Application Gateway. Em comparação, outros balanceadores de carga, como o Balanceador de Carga do Azure, funcionam ao nível da Camada 4 do OSI e distribuem o tráfego com base no endereço IP do destino de um pedido.

Operar no OSI Layer 7 permite que o balanceamento de carga aproveite os outros recursos que o Application Gateway oferece. Estas funcionalidades incluem:

  • Suporte para os protocolos HTTP, HTTPS, HTTP/2 e WebSocket.
  • Uma firewall de aplicações Web para proteger contra as vulnerabilidades das aplicações Web.
  • Encriptação de pedidos ponto a ponto.
  • Dimensionamento automático, para ajustar a capacidade dinamicamente à medida que a carga do tráfego da Web se altera.

Encaminhamento para o departamento de veículos automóveis

Revisitando nosso cenário no departamento de veículos motorizados, podemos usar o Application Gateway para resolver ambos os problemas. Podemos usar os recursos de balanceamento de carga e sonda de integridade para garantir que as falhas sejam tratadas sem impacto no usuário. Também podemos utilizar o encaminhamento baseado no caminho para fornecer um único ponto final para os utilizadores acederem a sites alojados em diferentes serviços Web.

Vejamos mais detalhadamente como podemos fazê-lo.

Verifique o seu conhecimento

1.

Quais os critérios utilizados pelo Gateway de Aplicação para encaminhar pedidos para um servidor Web?

2.

Qual a estratégia de balanceamento de carga que o Gateway de Aplicação implementa?