Criação e configuração do Gateway de Aplicativo

Concluído

O Gateway de Aplicativo é composto por uma série de componentes que se combinam para rotear solicitações para um pool de servidores Web e verificar a integridade desses servidores. Vamos dar uma olhada em como esses componentes se relacionam e qual função eles desempenham em um Gateway de Aplicativo.

Diagram with a visualization of the Application Gateway components.

Endereço IP de front-end

As solicitações do cliente são recebidas por meio de um endereço IP de front-end. Você pode configurar o Gateway de Aplicativo para ter um endereço IP público, um endereço IP privado ou ambos. O Gateway de Aplicativo não pode ter mais de um endereço IP público e um privado.

Ouvintes

O Gateway de Aplicativo usa um ou mais ouvintes para receber solicitações de entrada. Um ouvinte aceita o tráfego que chega em uma combinação especificada de protocolo, porta, host e endereço IP. Cada ouvinte roteia solicitações para um pool de back-end de servidores, seguindo as regras de roteamento especificadas. Um ouvinte pode ser Básico ou Multissite. Um ouvinte Básico apenas roteia uma solicitação com base no caminho na URL. Um ouvinte Multissite também pode rotear solicitações usando o elemento de nome de host da URL.

Os ouvintes também lidam com certificados SSL para proteger seu aplicativo entre o usuário e o Gateway de Aplicativo.

Regras de roteamento

Um regra de roteamento associa um ouvinte aos pools de back-end. Uma regra especifica como interpretar o nome do host e os elementos do caminho na URL de uma solicitação, e como direcionar a solicitação para o pool de back-end apropriado. Uma regra de roteamento também tem um conjunto associado de configurações de HTTP. Essas configurações indicam se (e como) o tráfego é criptografado entre o Gateway de Aplicativo e os servidores de back-end, bem como outras informações de configuração, como:

  • Protocolo (HTTP ou HTTPS).
  • Adesão da sessão, para passar todas as solicitações em uma sessão de cliente para o mesmo servidor Web em vez de distribuí-las entre servidores com balanceamento de carga.
  • Descarga de conexão, para permitir a remoção amigável de servidores de um pool de back-end.
  • Período de tempo limite da solicitação, em segundos.
  • Investigações de integridade, especificando uma URL de investigação, períodos de tempo limite e outros parâmetros usados para determinar se um servidor no pool de back-end está disponível.

Pools de back-end

Um pool de back-end faz referência a uma coleção de servidores Web. Você fornece o endereço IP de cada servidor Web e a porta na qual ele escuta solicitações ao configurar o pool. Cada pool pode especificar um conjunto fixo de máquinas virtuais, um conjunto de dimensionamento de máquina virtual, um aplicativo hospedado pelos Serviço de Aplicativo do Azure ou uma coleção de servidores locais. Cada pool de back-end tem um balanceador de carga associado que distribui o trabalho pelo pool

Firewall do aplicativo Web

O WAF (firewall do aplicativo Web) é um componente opcional que manipula as solicitações de entrada antes que elas cheguem ao ouvinte. O firewall do aplicativo Web verifica cada solicitação para ver se há ameaças comuns, com base no OWASP (Open Web Application Security Project). Elas incluem:

  • Injeção de SQL
  • Script entre sites
  • Injeção de comandos
  • Solicitação HTTP indesejada
  • Divisão de resposta HTTP
  • Inclusão de arquivo remoto
  • Bots, rastreadores e scanners
  • Anomalias e violações de protocolo HTTP

O OWASP definiu um conjunto de regras genéricas para detecção de ataques chamado de CRS (Conjunto de Regras Principais). Os conjuntos de regras estão sob avaliação contínua, conforme a sofisticação dos ataques aumenta. O WAF dá suporte a dois conjuntos de regras, CRS 2.2.9 e CRS 3.0. O CRS 3.0 é o padrão e é o mais recente desses conjuntos de regras. Se necessário, você pode optar por selecionar apenas regras específicas de um conjunto de regras, tendo em vista ameaças específicas. Além disso, você pode personalizar o firewall para especificar quais elementos de uma solicitação devem ser examinados e limitar o tamanho de mensagens para evitar que uploads enormes sobrecarreguem os servidores.

Você pode habilitar o WAF no Gateway de Aplicativo selecionando a camada WAF ao criar o gateway.

Investigações de integridade

As investigações de integridade são um elemento importante para ajudar o balanceador de carga a determinar quais servidores estão disponíveis para balanceamento de carga em um pool de back-end. O Gateway de Aplicativo usa uma investigação de integridade para enviar uma solicitação para um servidor. Se o servidor retornar uma resposta HTTP com um código de status entre 200 e 399, o servidor será considerado íntegro.

Se você não configurar uma investigação de integridade, o Gateway de Aplicativo criará uma investigação padrão que aguarda 30 segundos antes de decidir que um servidor não está disponível.

Requisitos de rede do Gateway de Aplicativo

O Gateway de Aplicativo precisa de uma rede virtual na qual operar. Você precisa criar essa rede virtual e uma sub-rede dedicada antes de configurar o Gateway de Aplicativo. O Gateway de Aplicativo usa um número de endereços privados para uso interno e para se comunicar com cada instância caso o gateway possa ser expandido. Por exemplo, se você pretende expandir para quatro instâncias, crie uma sub-rede com o tamanho /28. Se for provável que você expanda para mais instâncias, crie uma sub-rede maior.

Você pode expor o Gateway de Aplicativo por meio de um endereço IP público ou mantê-lo privado apenas fornecendo a ele um IP privado dentro da rede virtual. Isso é útil se você tiver sites internos que gostaria de usar o Gateway de Aplicativo para fornecer balanceamento de carga.

Opções de Gateway de Aplicativo

Você pode criar um Gateway de Aplicativo na camada de serviço Standard ou WAF. Você também pode optar entre três tamanhos com variações de desempenho, preço e escalabilidade: Pequeno, Médio e Grande.

As camadas de serviço Standard e WAF estão disponíveis em duas versões, V1 e V2. A V2 dá suporte às zonas de disponibilidade do Azure, mas atualmente está em versão prévia.

O Gateway de Aplicativo dá suporte ao dimensionamento manual e ao dimensionamento automático. Se você selecionar o dimensionamento automático, o Gateway de Aplicativo vai expandir e reduzir automaticamente de acordo com o tráfego do aplicativo. Você pode limitar o número mínimo e máximo de instâncias do Gateway de Aplicativo.

Criar e configurar um gateway

É possível criar e configurar o Gateway de Aplicativo usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. Para a CLI do Azure, use o comando az network application-gateway create para criar um novo gateway. Se preferir o PowerShell, você poderá usar o cmdlet New-AzApplicationGateway. Você também pode usar o portal do Azure para executar a maioria das operações.

Você pode examinar e modificar a configuração dos componentes de um gateway usando os comandos az network application-gateway http-listener, az network application-gateway rule, az network application-gateway address-pool, az network application-gateway http-settings e az network application-gateway front-end-port da CLI do Azure. As séries Get-AzApplicationGateway* e Set-AzApplicationGateway* de cmdlets fornecem as mesmas operações para o PowerShell.

Vamos criar e configurar um Gateway de Aplicativo para os sites do departamento de trânsito que implantamos.