Encaminhar tráfego com o Gateway de Aplicação
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.
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.
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:
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.