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

Concluído

O Gateway de Aplicação é composto por uma série de componentes que se combinam para encaminhar pedidos para um conjunto de servidores Web e verificar o estado de funcionamento destes servidores Web. Vejamos como estes componentes estão relacionados e que função desempenham num Gateway de Aplicação.

Diagram with a visualization of the Application Gateway components.

Endereço IP de front-end

Os pedidos dos clientes são recebidos através de um endereço IP de front-end. Pode configurar o Gateway de Aplicação para ter um endereço IP público, um endereço IP privado ou ambos. O Gateway de Aplicação não pode ter mais do que um endereço IP público e um endereço IP privado.

Serviços de escuta

O Gateway de Aplicação utiliza um ou mais serviços de escuta para receber pedidos. Um serviço de escuta aceita tráfego que chega numa combinação especificada de protocolo, porta, anfitrião e endereço IP. Cada serviço de escuta encaminha os pedidos para um conjunto de servidores de back-end de acordo com as regras de encaminhamento que especificar. Um ouvinte pode ser Basic ou Multisite. Um serviço de escuta Básico encaminha apenas um pedido com base no caminho no URL. Um ouvinte Multisite também pode rotear solicitações usando o elemento hostname da URL.

Os serviços de escuta também processam certificados SSL para proteger a aplicação entre o utilizador e o Gateway de Aplicação.

Regras de encaminhamento

Uma regra de encaminhamento vincula um serviço de escuta aos conjuntos de back-end. Uma regra especifica como interpretar os elementos hostname e path na URL de uma solicitação e como direcionar a solicitação para o pool de back-end apropriado. Uma regra de encaminhamento também tem um conjunto de definições de HTTP associado. Estas definições indicam se (e como) o tráfego é encriptado entre o Gateway de Aplicação e os servidores de back-end, e outras informações de configuração, tais como:

  • Protocolo (HTTP ou HTTPS).
  • Persistência da sessão, para passar todos os pedidos numa sessão de cliente para o mesmo servidor Web, em vez de distribuí-los pelos servidores com balanceamento de carga.
  • Drenagem de conexão para permitir a remoção normal de servidores de um pool de back-end.
  • Período de tempo limite dos pedidos, em segundos.
  • Sondas de integridade, especificando uma URL de teste, períodos de tempo limite e outros parâmetros usados para determinar se um servidor no pool de back-end está disponível.

Conjuntos de back-end

Um conjunto de back-end faz referência a uma coleção de servidores Web. Indica o endereço IP de cada servidor Web e a porta na qual escuta pedidos quando configura o conjunto. Cada conjunto pode especificar um conjunto fixo de máquinas virtuais, um conjunto de dimensionamento de máquinas virtuais, uma aplicação alojada pelo Serviço de Aplicações do Azure ou uma coleção de servidores no local. Cada conjunto de back-end tem um balanceador de carga associado que distribui o trabalho pelo conjunto

Firewall de aplicações Web

A firewall de aplicações Web (WAF) é um componente opcional que processa os pedidos recebidos antes de chegarem a um serviço de escuta. A firewall de aplicações Web procura muitas ameaças comuns em cada pedido, com base no Open Web Application Security Project (OWASP). Estes são, entre outros:

  • SQL-injection
  • Scripting entre sites
  • Injeção de comandos
  • Contrabando de pedidos de HTTP
  • Divisão de respostas de HTTP
  • Inclusão de ficheiro remoto
  • Bots, crawlers e scanners
  • Anomalias e violações de protocolos HTTP

O OWASP definiu um conjunto de regras genéricas para detetar ataques chamado Core Rule set (CRS). Os conjuntos de regras são objeto de uma revisão constante pois os ataques são cada vez mais sofisticados. A WAF suporta dois conjuntos de regras: CRS 2.2.9 e CRS 3.0. A predefinição é o CRS 3.0 e o mais recente destes conjuntos de regras. Se necessário, pode optar por selecionar apenas regras específicas num conjunto de regras, direcionadas para determinadas ameaças. Além disso, pode personalizar a firewall para especificar quais os elementos a examinar num pedido e para limitar o tamanho das mensagens para impedir que os carregamentos em massa sobrecarreguem os servidores.

Você pode habilitar o WAF em seu Application Gateway selecionando a WAF camada ao criar um gateway.

Sondas do estado de funcionamento

As sondas 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 Aplicação utiliza uma sonda de estado de funcionamento para enviar um pedido a um servidor. Se o servidor devolver uma resposta de HTTP com um código de estado entre 200 e 399, o servidor será considerado em bom estado.

Se não configurar uma sonda de estado de funcionamento, o Gateway de Aplicação criará uma sonda predefinida que aguardará 30 segundos antes de decidir que um servidor não está disponível.

Requisitos da rede do Gateway de Aplicação

O Gateway de Aplicação requer uma rede virtual na qual operar. Tem de criar esta rede virtual e uma sub-rede dedicada antes de configurar o Gateway de Aplicação. O Application Gateway usa vários endereços privados para uso interno e para comunicação com cada instância se o gateway for expandido. Por exemplo, se você planeja expandir para quatro instâncias, crie uma sub-rede de tamanho /28. Se for provável dimensionar para mais instâncias, crie uma sub-rede maior.

Você pode expor o Application Gateway por meio de um endereço IP público ou pode mantê-lo privado fornecendo apenas um IP privado dentro da rede virtual. Esta opção será útil se tiver sites internos que deseje que utilizem o Gateway de Aplicação para proporcionar balanceamento de carga.

Opções do Gateway de Aplicação

Pode criar um Gateway de Aplicação na camada Padrão ou na camada WAF. Você também pode escolher entre três tamanhos com desempenho, preços e escalabilidade variáveis: Pequeno, Médio e Grande.

A camada Padrão e a camada WAF encontram-se disponíveis em duas versões, V1 e V2. A V2 suporta as zonas de disponibilidade do Azure, mas está atualmente em pré-visualização.

O Gateway de Aplicação suporta o dimensionamento manual e o dimensionamento automático. Se selecionar o dimensionamento automático, o Gateway de Aplicação será ampliado e reduzido horizontalmente de forma automática, de acordo com o tráfego da aplicação. Pode limitar o número máximo e mínimo de instâncias do Gateway de Aplicação.

Criar e configurar um gateway

Pode criar e configurar o Gateway de Aplicação com o portal do Azure, o Azure PowerShell ou a CLI do Azure. Para a CLI do Azure, utilize o comando az network application-gateway create para criar um novo gateway. Se preferir o PowerShell, pode utilizar o cmdlet New-AzApplicationGateway. Também pode utilizar o portal do Azure para efetuar a maioria das operações.

Pode examinar e modificar a configuração dos componentes num gateway com os comandos az network application-gateway http-listener,az network application-gateway rule,az network application-gateway address-pool,az network application-gateway http-settingse az network application-gateway front-end-port da CLI do Azure. A série de cmdlets Get-AzApplicationGateway* e Set-AzApplicationGateway* fornece as mesmas operações para o PowerShell.

Vamos criar e configurar um Gateway de aplicação para os sites do departamento de veículos motorizados que implementámos.