Suporte a alto tráfego do Gateway de Aplicativo

Observação

Este artigo descreve algumas diretrizes sugeridas para ajudar você a configurar o Gateway de Aplicativo para lidar com o tráfego extra para qualquer volume de tráfego alto que possa ocorrer. Os limites de alerta são puramente sugestões e genéricos por natureza. Os usuários podem determinar os limites de alerta com base em suas expectativas de carga de trabalho e utilização.

Você pode usar o Gateway de Aplicativo com o WAF (firewall do aplicativo Web) para um modo escalonável e seguro de gerenciar o tráfego para seus aplicativos Web.

É importante escalar o Gateway de Aplicativo de acordo com o tráfego e com um pouco de buffer, de modo que esteja preparado para picos ou sobretensões de tráfego e minimizar o impacto que isso possa ter em sua QoS. As sugestões a seguir ajudam a configurar o Gateway de Aplicativo com o WAF para lidar com o tráfego extra.

Verifique a documentação de métricas para obter a lista completa de métricas oferecidas pelo Gateway de Aplicativo. Confira Visualizar métricas no portal do Azure e na documentação do Azure Monitor sobre como definir alertas para métricas.

Para obter detalhes e recomendações sobre a eficiência de desempenho do Gateway de Aplicativo, confira Revisão do Azure Well-Architected Framework - Gateway de Aplicativo do Azure v2.

Dimensionamento para SKU do Gateway de Aplicativo v1 (SKU Standard/WAF)

Definir a contagem de instâncias com base no seu pico de uso de CPU

Se você estiver usando um gateway de SKU v1, terá a capacidade de definir seu Gateway de Aplicativo até 32 instâncias para dimensionamento. Verifique a utilização da CPU do Gateway de Aplicativo no último mês para ver se há algum pico acima de 80%, pois isso está disponível como uma métrica para você monitorar. É recomendável definir a contagem de instâncias de acordo com o pico de uso e com um buffer adicional de 10% a 20% para compensar os picos de tráfego.

V1 CPU utilization metrics

Use o SKU v2 em vez da v1 para funcionalidades de dimensionamento automático e benefícios de desempenho

O SKU v2 oferece dimensionamento automático para garantir que o Gateway de Aplicativo possa escalar verticalmente conforme o tráfego aumentar. Ela também oferece outros benefícios de desempenho significativos, como desempenho de descarregamento de TLS cinco vezes melhor, tempos de atualização e implantação mais rápidos, redundância de zona e muito mais em comparação com a v1. Para obter mais informações, confira nossa documentação v2 e veja nossa documentação de migração v1 para v2 para saber como migrar seus gateways de SKU v1 existentes para o SKU v2.

Dimensionamento automático para SKU v2 do Gateway de Aplicativo (SKU Standard_v2/WAF_v2)

Definir a contagem máxima de instâncias para o máximo possível (125)

Para um SKU do Gateway de Aplicativo v2, definir a contagem máxima de instâncias para o valor máximo possível de 125 permite que o Gateway de Aplicativo seja escalado horizontalmente conforme necessário. Isso permite que ele manipule o possível aumento no tráfego para seus aplicativos. Você será cobrado apenas pelas CUs (unidades de capacidade) que usar.

Verifique o tamanho da sub-rede e a contagem de endereços IP disponíveis em sua sub-rede e defina sua contagem máxima de instâncias com base nela. Se a sua sub-rede não tiver espaço suficiente para acomodar, você deverá recriar o gateway na mesma sub-rede ou em outra que tenha capacidade suficiente.

V2 autoscaling configuration

Definir a contagem mínima de instâncias com base em seu uso médio de unidade de computação

Para o SKU do Gateway de Aplicativo v2, o dimensionamento automático leva de seis a sete minutos para escalar horizontalmente e provisionar um conjunto adicional de instâncias prontas para usar o tráfego. Até lá, se houver picos curtos no tráfego, suas instâncias de gateway existentes poderão ficar sob estresse e isso poderá causar latência inesperada ou perda de tráfego.

É recomendável que você defina a contagem mínima de instâncias para um nível ideal. Por exemplo, se você precisar de 50 instâncias para lidar com o tráfego no pico de carga, definir o mínimo de 25 a 30 é uma boa ideia em vez de <10 para que, mesmo quando houver intermitências de tráfego, o Gateway de Aplicativo seja capaz de tratá-lo e dar tempo suficiente para que o dimensionamento automático responda e entre em vigor.

Verifique a métrica da unidade de computação para o último mês. A métrica da unidade de computação é uma representação da utilização da CPU do gateway e com base no seu uso máximo dividido por 10, você pode definir o número mínimo de instâncias necessárias. Observe que 1 instância do gateway de aplicativo pode manipular um mínimo de 10 unidades de computação

V2 compute unit metrics

Dimensionamento manual para SKU v2 do Gateway de Aplicativo (Standard_v2/WAF_v2)

Definir a contagem de instâncias com base no seu pico de uso de Unidade de Computação

Ao contrário do dimensionamento automático, no dimensionamento manual, você deve definir manualmente o número de instâncias do seu gateway de aplicativo com base nos requisitos de tráfego. É recomendável definir a contagem de instâncias de acordo com o pico de uso e com um buffer adicional de 10% a 20% para compensar os picos de tráfego. Por exemplo, se o tráfego exigir 50 instâncias no pico, provisione 55 para 60 instâncias para lidar com picos de tráfego inesperados que podem ocorrer.

Verifique a métrica da unidade de computação para o último mês. A métrica da unidade de computação é uma representação da utilização da CPU do seu gateway e, com base no seu uso máximo dividido por 10, você pode definir o número de instâncias necessárias, uma vez que 1 instância do gateway de aplicativo pode manipular um mínimo de 10 unidades de computação

Monitoramento e alerta

Para ser notificado de qualquer anomalia de tráfego ou de utilização, você pode configurar alertas em determinadas métricas. Confira a documentação de métricas para obter a lista completa de métricas oferecidas pelo Gateway de Aplicativo. Confira Visualizar métricas no portal do Azure e na documentação do Azure Monitor sobre como definir alertas para métricas.

Para configurar alertas usando modelos do ARM, consulte Configurar alertas do Azure Monitor para o Gateway de Aplicativo.

Alertas para SKU do Gateway de Aplicativo v1 (Standard/WAF)

Alertar se a utilização média da CPU ultrapassar 80%

Sob condições normais, o uso da CPU não deveria exceder 90%, pois isso pode causar latência nos sites hospedados atrás do gateway de aplicativo e comprometer a experiência do cliente. É possível controlar ou aprimorar indiretamente a utilização da CPU ao alterar a configuração do Gateway de Aplicativo por meio do aumento da contagem de instâncias ou da mudança para um tamanho de SKU maior ou de ambos. Definir um alerta se a métrica de utilização da CPU ficar acima de 80% da média.

Alertar se a contagem de hosts não íntegros cruzar o limite

Essa métrica indica o número de servidores back-end que o gateway de aplicativo não consegue investigar com êxito. Isso detecta problemas em que as instâncias do gateway de aplicativo não conseguem se conectar ao back-end. Alertar se esse número for superior a 20% da capacidade de back-end. Por exemplo, se você tiver 30 servidores de back-end em um pool de back-end, defina um alerta se a contagem de hosts não íntegros for superior a 6.

Alertar se o status da resposta (4xx, 5xx) cruzar o limite

Criar alerta quando o status de resposta do Gateway de Aplicativo for 4xx ou 5xx. Pode haver uma resposta ocasional de 4xx ou 5xx vista devido a problemas transitórios. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.

Alertar se as solicitações com falha ultrapassarem o limite

Criar alerta quando a métrica de solicitações com falha cruzar o limite. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.

Exemplo: Configurando um alerta para mais de 100 solicitações com falha nos últimos 5 minutos

Este exemplo mostra como usar o portal do Azure para configurar um alerta quando a contagem de solicitações com falha nos últimos 5 minutos for maior que 100.

  1. Navegue até o Gateway de Aplicativo.
  2. No painel esquerdo, selecione Métricas na guia Monitoramento.
  3. Adicione uma métrica para Solicitações com falha.
  4. Clique em Nova regra de alerta e defina sua condição e ações
  5. Clique em Criar regra de alerta para criar e habilitar o alerta

V2 create alerts

Alertas para SKU v2 do Gateway de Aplicativo (Standard_v2/WAF_v2)

Alertar se a utilização da Unidade de Computação cruzar 75% do uso médio

A unidade de computação é a medida de utilização de computação do seu Gateway de Aplicativo. Verifique a média de uso da unidade de computação no último mês e defina o alerta se ele exceder 75% dela. Por exemplo, se o uso médio for 10 unidades de computação, defina um alerta em 7,5 CUs. Isso alertará se o uso estiver aumentando e dará tempo para você responder. Você pode aumentar o mínimo se considerar que esse tráfego será mantido para alertar que o tráfego pode estar aumentando. Siga as sugestões de dimensionamento acima para escalar horizontalmente conforme necessário.

Exemplo: configuração de um alerta em 75% do uso médio de CU

Este exemplo mostra como usar o portal do Azure para configurar um alerta quando 75% do uso médio de CU é atingido.

  1. Navegue até o Gateway de Aplicativo.
  2. No painel esquerdo, selecione Métricas na guia Monitoramento.
  3. Adicione uma métrica para a média de unidades de computação atuais.
  4. Se você tiver definido a contagem mínima de instâncias como seu uso médio de CU, prossiga e defina um alerta quando 75% de suas instâncias mínimas estiverem em uso. Por exemplo, se o uso médio for 10 CUs, defina um alerta em 7,5 CUs. Isso alertará se o uso estiver aumentando e dará tempo para você responder. Você pode aumentar o mínimo se considerar que esse tráfego será mantido para alertar que o tráfego pode estar aumentando.

V2 compute unit alerts

Observação

Você pode definir que o alerta ocorra em um percentual de utilização de CU mais baixa ou mais alta, dependendo da sensibilidade que você deseja para os picos de tráfego potenciais.

Alertar se a utilização da unidade de capacidade cruzar 75% do pico de uso

As unidades de capacidade representam a utilização geral do gateway em termos de taxa de transferência, computação e contagem de conexões. Verifique o uso máximo da unidade de capacidade no último mês e defina um alerta se ele exceder 75%. Por exemplo, se seu uso máximo for de 100 unidades de capacidade, defina um alerta em 75 CUs. Siga as duas sugestões acima para escalar horizontalmente, conforme necessário.

Alertar se a contagem de hosts não íntegros cruzar o limite

Essa métrica indica o número de servidores back-end que o gateway de aplicativo não consegue investigar com êxito. Isso detecta problemas em que as instâncias do gateway de aplicativo não conseguem se conectar ao back-end. Alertar se esse número for superior a 20% da capacidade de back-end. Por exemplo, se você tiver 30 servidores de back-end em um pool de back-end, defina um alerta se a contagem de hosts não íntegros for superior a 6.

Alertar se o status da resposta (4xx, 5xx) cruzar o limite

Criar alerta quando o status de resposta do Gateway de Aplicativo for 4xx ou 5xx. Pode haver uma resposta ocasional de 4xx ou 5xx vista devido a problemas transitórios. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.

Alertar se as solicitações com falha ultrapassarem o limite

Criar alerta quando a métrica de solicitações com falha cruzar o limite. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.

Alerta se o tempo de resposta do último byte de back-end cruzar o limite

Essa métrica indica o intervalo de tempo entre o início de estabelecimento de uma conexão com o servidor back-end e o recebimento do último byte do corpo da resposta. Crie um alerta se a latência de resposta de back-end for mais específica do que um limite normal. Por exemplo, defina isso para ser alertado quando a latência de resposta de back-end aumentar em mais de 30% do valor usual.

Alertar se o tempo total do Gateway de Aplicativo ultrapassar o limite

É o intervalo entre o recebimento do primeiro byte da solicitação HTTP pelo Gateway de Aplicativo e o envio do último byte de resposta ao cliente. Ele deve criar um alerta se a latência de resposta de back-end for mais específica do que um limite normal. Por exemplo, é possível definir isso para ser alertado quando a latência de tempo total aumenta em mais de 30% do valor usual.

Configurar o WAF com proteção contra bots e geofiltragem para interromper ataques

Se você quiser uma camada extra de segurança na frente do seu aplicativo, use o SKU do WAF_v2 do Gateway de Aplicativo para funcionalidades de WAF. Você pode configurar o SKU v2 para permitir somente o acesso aos seus aplicativos de um determinado país/região ou países/regiões. Você configura uma regra personalizada do WAF para permitir ou bloquear explicitamente o tráfego com base na localização geográfica. Para obter mais informações, confira as regras personalizadas de filtragem e como configurar regras personalizadas no SKU do WAF_v2 do Gateway de Aplicativo por meio do PowerShell.

Habilite a proteção contra bots para bloquear bots defeituosos conhecidos. Isso deve reduzir a quantidade de tráfego que chegará ao seu aplicativo. Para obter mais informações, confira Proteção contra bots com instruções de configuração.

Ativar diagnósticos no Gateway de Aplicativo e no WAF

Os logs de diagnóstico permitem ver logs de firewall, logs de desempenho e logs de acesso. Você pode usar esses logs no Azure para gerenciar e solucionar problemas de Gateways de Aplicativo. Para obter mais informações, confira a documentação de diagnóstico.

Configurar uma política de TLS para segurança extra

Verifique se você está usando a versão mais recente da política TLS (AppGwSslPolicy20220101) ou superior. Eles dão suporte a uma versão mínima 1.2 do TLS com criptografias mais fortes. Para saber mais, confira Como configurar versões de política TLS e conjuntos de codificação via PowerShell.