Revisão do Azure Well-Architected Framework - Azure Application Gateway v2

Este artigo fornece práticas recomendadas de arquitetura para a família de SKUs do Azure Application Gateway v2. A orientação é baseada nos cinco pilares da excelência arquitetônica:

Supomos que você tenha um conhecimento prático do Gateway de Aplicativo do Azure e conheça bem os recursos de SKU v2. Para obter mais informações, consulte Recursos do Gateway de Aplicativo do Azure.

Pré-requisitos

  • Compreender os pilares do Well-Architected Framework pode ajudar a produzir uma arquitetura de nuvem de alta qualidade, estável e eficiente. Recomendamos que você revise sua carga de trabalho usando a avaliação da Revisão do Azure Well-Architected Framework.
  • Use uma arquitetura de referência para revisar as considerações com base nas diretrizes fornecidas neste artigo. Recomendamos que você comece com Proteger APIs com Application Gateway e Gerenciamento de API e IaaS: aplicativo Web com banco de dados relacional.

Confiabilidade

Na nuvem, reconhecemos antecipadamente que as falhas ocorrerão. Em vez de tentar evitar completamente a falha, a meta é minimizar os efeitos de uma falha em um componente individual. Use as informações a seguir para minimizar instâncias com falha.

Lista de verificação de projeto

Ao fazer escolhas de design para o Application Gateway, revise os princípios de design de confiabilidade.

  • Implante as instâncias em uma configuração com reconhecimento de zona, quando disponível.
  • Use o Gateway de Aplicativo com o WAF (Web Application Firewall) em uma rede virtual para proteger o tráfego de entrada HTTP/S da Internet.
  • Em novas implantações, use o Gateway de Aplicativo do Azure v2, a menos que haja um motivo convincente para usar o Gateway de Aplicativo do Azure v1.
  • Planejar atualizações de regras
  • Usar testes de integridade para detectar indisponibilidade de back-end
  • Revisar o impacto das configurações de intervalo e limite nos testes de integridade
  • Verificar dependências downstream por meio de pontos de extremidade de integridade

Recomendações

Explore a tabela de recomendações a seguir para otimizar sua configuração do Application Gateway para confiabilidade.

Recomendação Benefício
Planejar atualizações de regras Planeje tempo suficiente para atualizações antes de acessar o Application Gateway ou fazer mais alterações. Por exemplo, remover servidores do pool de back-end pode levar algum tempo porque eles precisam drenar conexões existentes.
Usar testes de integridade para detectar indisponibilidade de back-end Se o Application Gateway for usado para balancear a carga do tráfego de entrada em várias instâncias de back-end, recomendamos o uso de testes de integridade. Isso garantirá que o tráfego não seja roteado para back-ends que não consigam lidar com o tráfego.
Revisar o impacto das configurações de intervalo e limite nos testes de integridade O teste de integridade envia solicitações para o ponto de extremidade configurado em um intervalo definido. Além disso, há um limite de solicitações com falha que serão toleradas antes que o back-end seja marcado como não íntegro. Esses números apresentam um trade-off.

- Definir um intervalo maior coloca uma carga maior no seu serviço. Cada instância do Application Gateway envia seus próprios testes de integridade, portanto, 100 instâncias a cada 30 segundos significam 100 solicitações a cada 30 segundos.
- A definição de um intervalo menor deixa mais tempo antes que uma interrupção seja detectada.
- Definir um limite baixo de insalubridade pode significar que falhas curtas e transitórias podem derrubar um back-end.
- Definindo um limite alto, pode levar mais tempo para tirar um backend da rotação.
Verificar dependências downstream por meio de pontos de extremidade de integridade Suponha que cada back-end tenha suas próprias dependências para garantir que as falhas sejam isoladas. Por exemplo, um aplicativo hospedado atrás do Application Gateway pode ter vários back-ends, cada um conectado a um banco de dados diferente (réplica). Quando essa dependência falha, o aplicativo pode estar funcionando, mas não retornará resultados válidos. Por esse motivo, o ponto de extremidade de integridade deve idealmente validar todas as dependências. Lembre-se de que, se cada chamada para o ponto de extremidade de integridade tiver uma chamada de dependência direta, esse banco de dados receberá 100 consultas a cada 30 segundos, em vez de 1. Para evitar isso, o ponto de extremidade de integridade deve armazenar em cache o estado das dependências por um curto período de tempo.
Ao usar o Azure Front Door e o Gateway de Aplicativo para proteger aplicativos HTTP/S, use políticas WAF no Front Door e bloqueie o Gateway de Aplicativo para receber tráfego somente do Azure Front Door. Determinados cenários podem forçá-lo a implementar regras especificamente no Application Gateway. Por exemplo, se as regras do ModSec CRS 2.2.9, CRS 3.0 ou CRS 3.1 forem necessárias, essas regras só poderão ser implementadas no Application Gateway. Por outro lado, a limitação de taxa e a filtragem geográfica estão disponíveis apenas no Azure Front Door, não no Gateway de Aplicativo.

O Azure Advisor ajuda você a garantir e melhorar a continuidade de seus aplicativos essenciais aos negócios. Revise as recomendações do Azure Advisor.

Segurança

A Segurança é um dos aspectos mais importantes de qualquer arquitetura. O Application Gateway fornece recursos para empregar o princípio de privilégio mínimo e defesa em defesa. Recomendamos que você revise os princípios de design de segurança.

Lista de verificação de projeto

  • Configurar uma política TLS para segurança aprimorada
  • Usar o AppGateway para terminação TLS
  • Usar o Cofre de Chaves do Azure para armazenar certificados TLS
  • Ao criptografar novamente o tráfego de back-end, verifique se o certificado do servidor back-end contém as autoridades de certificação (CAs) raiz e intermediária
  • Usar um servidor DNS apropriado para recursos do pool de back-end
  • Cumprir todas as restrições NSG para o Application Gateway
  • Abster-se de usar UDRs na sub-rede do Application Gateway
  • Esteja ciente das alterações de capacidade do Application Gateway ao habilitar o WAF

Recomendações

Explore a tabela de recomendações a seguir para otimizar a configuração do Application Gateway para segurança.

Recomendação Benefício
Configurar uma política TLS para segurança aprimorada Configure uma política TLS para segurança extra. Certifique-se de que está sempre a utilizar a versão mais recente da política TLS disponível. Isso impõe o TLS 1.2 e codificações mais fortes.
Usar o AppGateway para terminação TLS Há vantagens de usar o Application Gateway para terminação TLS:

- O desempenho melhora porque as solicitações que vão para diferentes back-ends têm que se autenticar novamente em cada back-end.
- Melhor utilização de servidores back-end, pois eles não precisam realizar processamento TLS
- Roteamento inteligente acessando o conteúdo da solicitação.
- Gerenciamento de certificados mais fácil porque o certificado só precisa ser instalado no Application Gateway.
Usar o Cofre de Chaves do Azure para armazenar certificados TLS O Application Gateway pode ser integrado ao Key Vault. Isso fornece maior segurança, separação mais fácil de funções e responsabilidades, suporte para certificados gerenciados e um processo de renovação e rotação de certificados mais fácil.
Ao criptografar novamente o tráfego de back-end, verifique se o certificado do servidor back-end contém as autoridades de certificação (CAs) raiz e intermediária Um certificado TLS do servidor back-end deve ser emitido por uma CA conhecida. Se o certificado não foi emitido por uma CA confiável, o Gateway de Aplicativo verifica se o certificado foi emitido por uma CA confiável e assim por diante, até que um certificado de CA confiável seja encontrado. Só então uma conexão segura é estabelecida. Caso contrário, o Application Gateway marcará o back-end como não íntegro.
Usar um servidor DNS apropriado para recursos do pool de back-end Quando o pool de back-end contém um FQDN resolvível, a resolução DNS é baseada em uma zona DNS privada ou servidor DNS personalizado (se configurado na rede virtual) ou usa o DNS padrão fornecido pelo Azure.
Cumprir todas as restrições NSG para o Application Gateway Os NSGs são suportados na sub-rede do Application Gateway, mas há algumas restrições. Por exemplo, algumas comunicações com determinadas faixas de portas são proibidas. Certifique-se de entender as implicações dessas restrições. Para obter detalhes, veja Grupos de segurança de rede.
Abster-se de usar UDRs na sub-rede do gateway de aplicativo O uso de UDR (Rotas Definidas pelo Usuário) na sub-rede do Gateway de Aplicativo pode causar alguns problemas. O status de integridade no back-end pode ser desconhecido. Os logs e as métricas do Application Gateway podem não ser gerados. Recomendamos não usar UDRs na sub-rede do Gateway de Aplicativo a fim de poder exibir a integridade, os logs e as métricas de back-end. Se suas organizações precisarem usar UDR na sub-rede do Application Gateway, verifique os cenários com suporte. Para saber mais, consulte Rotas definidas pelo usuário compatíveis.
Esteja ciente das alterações de capacidade do Application Gateway ao habilitar o WAF Quando o WAF está habilitado, cada solicitação deve ser armazenada em buffer pelo Application Gateway até que chegue totalmente, verifica se a solicitação corresponde a qualquer violação de regra em seu conjunto de regras principal e, em seguida, encaminha o pacote para as instâncias de back-end. Quando há uploads de arquivos grandes (30MB + de tamanho), isso pode resultar em uma latência significativa. Como os requisitos de capacidade do Application Gateway são diferentes com o WAF, não recomendamos habilitar o WAF no Application Gateway sem o teste e a validação adequados.

Para obter mais sugestões, consulte Princípios do pilar de segurança.

O Azure Advisor ajuda você a garantir e melhorar a continuidade de seus aplicativos essenciais aos negócios. Revise as recomendações do Azure Advisor.

Definições de política

Todas as definições de política internas relacionadas à Rede do Azure estão listadas em Políticas internas - Rede.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Recomendamos que você revise os princípios de design de otimização de custos.

Lista de verificação de projeto

  • Familiarize-se com os preços do Application Gateway
  • Revisar recursos subutilizados
  • Parar instâncias do Application Gateway que não estão em uso
  • Tenha uma política de expansão e expansão
  • Revise as métricas de consumo em diferentes parâmetros

Recomendações

Explore a tabela de recomendações a seguir para otimizar sua configuração do Application Gateway para otimização de custos.

Recomendação Benefício
Familiarize-se com os preços do Application Gateway Para obter informações sobre os preços do Gateway de Aplicativo, consulte Noções básicas sobre preços do Gateway de Aplicativo do Azure e do Firewall de Aplicativo Web. Você também pode aproveitar a calculadora de preços.

Certifique-se de que as opções sejam dimensionadas adequadamente para atender à demanda de capacidade e fornecer o desempenho esperado sem desperdiçar recursos.
Revisar recursos subutilizados Identifique e exclua instâncias do Application Gateway com pools de back-end vazios para evitar custos desnecessários.
Parar instâncias do Application Gateway quando não estiverem em uso Você não é cobrado quando o Gateway de Aplicativo está no estado parado. A execução contínua de instâncias do Application Gateway pode incorrer em custos estranhos. Avalie padrões de uso e pare instâncias quando não precisar deles. Por exemplo, espera-se que o uso após o horário comercial em ambientes de desenvolvimento/teste seja baixo.

Consulte estes artigos para obter informações sobre como parar e iniciar instâncias.
- Stop-AzApplicationGateway
- Start-AzApplicationGateway
Tenha uma política de expansão e expansão Uma política de expansão garante que haverá instâncias suficientes para lidar com o tráfego de entrada e picos. Além disso, tenha uma política de escalabilidade horizontal que garanta que o número de instâncias seja reduzido quando a demanda cair. Considere a escolha do tamanho da instância. O tamanho pode impactar significativamente o custo. Algumas considerações são descritas em Estimar a contagem de instâncias do Application Gateway.

Para obter mais informações, consulte O que é o Azure Application Gateway v2?
Revise as métricas de consumo em diferentes parâmetros Você é cobrado com base em instâncias limitadas do Gateway de Aplicativo com base nas métricas controladas pelo Azure. Avalie as várias métricas e unidades de capacidade e determine os direcionadores de custo. Para obter mais informações, consulte Gerenciamento de custos e cobrança da Microsoft.

As métricas a seguir são fundamentais para o Application Gateway. Essas informações podem ser usadas para validar se a contagem de instâncias provisionadas corresponde à quantidade de tráfego de entrada.

- Unidades de Capacidade Estimada
- Unidades de Capacidade Faturável Fixa
- Unidades de Capacidade Atual

Para obter mais informações, consulte Métricas do Application Gateway.

Certifique-se de contabilizar os custos de largura de banda.

Para obter mais sugestões, consulte Princípios do pilar de otimização de custos.

O Azure Advisor ajuda você a garantir e melhorar a continuidade de seus aplicativos essenciais aos negócios. Revise as recomendações do Azure Advisor.

Excelência operacional

O monitoramento e o diagnóstico são cruciais para garantir a excelência operacional do seu Application Gateway e dos aplicativos Web ou back-ends por trás do gateway. Você pode não apenas medir estatísticas de desempenho, mas também usar métricas para solucionar e corrigir problemas rapidamente. Recomendamos que você revise os princípios de design de Excelência Operacional.

Lista de verificação de projeto

  • Monitorar as métricas de capacidade
  • Habilitar diagnósticos no Application Gateway e no Web Application Firewall (WAF)
  • Usar o Azure Monitor Network Insights
  • Corresponder configurações de tempo limite com o aplicativo de back-end
  • Monitorar problemas de configuração do Cofre de Chaves usando o Azure Advisor
  • Configurar e monitorar limitações de porta SNAT
  • Considere as limitações da porta SNAT em seu design

Recomendações

Explore a tabela de recomendações a seguir para otimizar sua configuração do Application Gateway para excelência operacional.

Recomendação Benefício
Monitorar as métricas de capacidade Use essas métricas como indicadores de utilização da capacidade provisionada do Application Gateway. É altamente recomendável configurar alertas sobre a capacidade. Para obter detalhes, consulte Suporte a alto tráfego do Application Gateway.
Solucionar problemas usando métricas Há outras métricas que podem indicar problemas no Application Gateway ou no back-end. Recomendamos avaliar os seguintes alertas:

- Contagem de hosts não íntegros
- Status da resposta (dimensão 4xx e 5xx)
- Status de Resposta de Backend (dimensão 4xx e 5xx)
- Tempo de resposta do último byte do back-end
- Tempo Total do Gateway de Aplicação

Para obter mais informações, consulte Métricas para o Application Gateway.
Habilitar diagnósticos no Application Gateway e no Web Application Firewall (WAF) Os logs de diagnóstico permitem ver logs de firewall, logs de desempenho e logs de acesso. Use esses logs para gerenciar e solucionar problemas com instâncias do Application Gateway. Para obter mais informações, confira Integridade de back-end e logs de diagnóstico do Gateway de Aplicativo.
Usar o Azure Monitor Network Insights O Azure Monitor Network Insights fornece uma visão abrangente da integridade e das métricas dos recursos de rede, incluindo o Gateway de Aplicativo. Para obter detalhes adicionais e recursos com suporte para o Gateway de Aplicativo, consulte Azure Monitor Network insights.
Corresponder configurações de tempo limite com o aplicativo de back-end Verifique se você definiu as configurações de IdleTimeout para corresponder às características de ouvinte e tráfego do aplicativo de back-end. O valor padrão é definido como quatro minutos e pode ser configurado para um máximo de 30. Para obter mais informações, confira Redefinição do TCP do Load Balancer e tempo limite ocioso.

Para considerações sobre carga de trabalho, consulte Monitorando a integridade do aplicativo para confiabilidade.
Monitorar problemas de configuração do Cofre de Chaves usando o Azure Advisor O Application Gateway verifica a versão renovada do certificado no Cofre de Chaves vinculado a cada intervalo de 4 horas. Se ele estiver inacessível devido a qualquer configuração incorreta do Cofre de Chaves, ele registrará esse erro e enviará uma recomendação correspondente do Advisor. Você deve configurar os alertas do Advisor para se manter atualizado e corrigir esses problemas imediatamente para evitar problemas relacionados ao plano de controle ou de dados. Para obter mais informações, consulte Investigando e resolvendo erros do cofre de chaves. Para definir um alerta para esse caso específico, use o Tipo de recomendação como Resolver o problema do Cofre de Chaves do Azure para seu Gateway de Aplicativo.
Considere as limitações da porta SNAT em seu design As limitações de porta SNAT são importantes para conexões de back-end no Application Gateway. Há fatores separados que afetam como o Application Gateway atinge o limite de porta SNAT. Por exemplo, se o back-end for um endereço IP público, ele exigirá sua própria porta SNAT. Para evitar limitações de porta SNAT, você pode aumentar o número de instâncias por Application Gateway, expandir os back-ends para ter mais endereços IP ou mover seus back-ends para a mesma rede virtual e usar endereços IP privados para os back-ends.

As solicitações por segundo (RPS) no Gateway de Aplicativo serão afetadas se o limite de porta SNAT for atingido. Por exemplo, se um Gateway de Aplicativo atingir o limite de porta SNAT, ele não poderá abrir uma nova conexão com o back-end e a solicitação falhará.

Para mais sugestões, consulte Princípios do pilar de excelência operacional.

O Azure Advisor ajuda você a garantir e melhorar a continuidade de seus aplicativos essenciais aos negócios. Revise as recomendações do Azure Advisor.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar a carga de trabalho para atender às demandas exigidas pelos usuários de maneira eficiente. Recomendamos que você revise os princípios de eficiência de desempenho.

Lista de verificação de projeto

  • Estimar a contagem de instâncias do Application Gateway
  • Definir a contagem máxima de instâncias
  • Definir a contagem mínima de instâncias
  • Definir o tamanho da sub-rede do Application Gateway
  • Aproveite os recursos do Application Gateway V2 para obter benefícios de dimensionamento automático e desempenho

Recomendações

Explore a tabela de recomendações a seguir para otimizar a configuração do Application Gateway para eficiência de desempenho.

Recomendação Benefício
Estimar a contagem de instâncias do Application Gateway O Application Gateway v2 é expandido com base em muitos aspectos, como CPU, taxa de transferência de rede, conexões atuais e muito mais. Para determinar a contagem aproximada de instâncias, considere estas métricas:

Unidades de computação atuais — Indica a utilização da CPU. 1 A instância do Application Gateway tem aproximadamente 10 unidades de computação.
Taxa de transferência — A instância do Application Gateway pode servir ~500 Mbps de taxa de transferência. Esses dados dependem do tipo de carga útil.

Considere essa equação ao calcular contagens de instâncias.
Contagem aproximada de instâncias

Depois de estimar a contagem de instâncias, compare esse valor com a contagem máxima de instâncias. Isso indicará o quão perto você está da capacidade máxima disponível.
Definir a contagem mínima de instâncias Para a SKU do Application Gateway v2, o dimensionamento automático leva algum tempo (aproximadamente seis a sete minutos) até que o conjunto adicional de instâncias esteja pronto para atender ao tráfego. Durante esse tempo, se houver picos curtos no tráfego, espere latência transitória ou perda de tráfego.

Recomendamos que você defina sua contagem mínima de instâncias para um nível ideal. Depois de estimar a contagem média de instâncias e determinar as tendências de dimensionamento automático do Application Gateway, defina a contagem mínima de instâncias com base nos padrões do aplicativo. Para obter informações, consulte Suporte a alto tráfego do Application Gateway.

Verifique as Unidades de Computação Atuais do último mês. Essa métrica representa a utilização da CPU do gateway. Para definir a contagem mínima de instâncias, divida o pico de uso por 10. Por exemplo, se a média de Unidades de Computação Atuais no mês passado for 50, defina a contagem mínima de instâncias como cinco.
Definir a contagem máxima de instâncias Recomendamos 125 como a contagem máxima de instâncias de escala automática. Verifique se a sub-rede que tem o Gateway de Aplicativo tem endereços IP disponíveis suficientes para oferecer suporte ao conjunto de instâncias de expansão.

Definir a contagem máxima de instâncias como 125 não tem implicações de custo porque você é cobrado apenas pela capacidade consumida.
Definir o tamanho da sub-rede do Application Gateway O Application Gateway precisa de uma sub-rede dedicada dentro de uma rede virtual. A sub-rede pode ter várias instâncias do recurso Application Gateway implantado. Você também pode implantar outros recursos do Application Gateway nessa sub-rede, SKU v1 ou v2.

Aqui estão algumas considerações para definir o tamanho da sub-rede:

- O Application Gateway usa um endereço IP privado por instância e outro endereço IP privado se um IP front-end privado estiver configurado.
- O Azure reserva cinco endereços IP em cada sub-rede para uso interno.
- Application Gateway (Standard ou WAF SKU) pode suportar até 32 instâncias. Tomando 32 endereços IP de instância + 1 IP de front-end privado + 5 Azure reservado, um tamanho mínimo de sub-rede de /26 é recomendado. Como o SKU Standard_v2 ou WAF_v2 pode oferecer suporte a até 125 instâncias, usando o mesmo cálculo, um tamanho de sub-rede de /24 é recomendado.
- Se você quiser implantar recursos adicionais do Application Gateway na mesma sub-rede, considere os endereços IP adicionais que serão necessários para sua contagem máxima de instâncias para ambos, Standard e Standard v2.
Aproveite os recursos para 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. Quando comparado ao SKU v1, o v2 tem recursos que melhoram o desempenho da carga de trabalho. Por exemplo, melhor desempenho de descarregamento de TLS, tempos de implantação e atualização mais rápidos, redundância de zona e muito mais. Para obter mais informações sobre recursos de dimensionamento automático, consulte Dimensionando o Application Gateway v2 e o WAF v2.

Se você estiver executando o gateway de aplicativo SKU v1, considere migrar para o SKU do gateway de aplicativo v2. Para obter mais informações, consulte Migrar o Gateway de Aplicativo do Azure e o Firewall do Aplicativo Web da v1 para a v2.

O Azure Advisor ajuda você a garantir e melhorar a continuidade de seus aplicativos essenciais aos negócios. Revise as recomendações do Azure Advisor.

Recomendações do Assistente do Azure

O Assistente do Azure é um consultor de nuvem personalizado que ajuda a seguir as práticas recomendadas para otimizar as implantações do Azure. Aqui estão algumas recomendações que podem ajudá-lo a melhorar a confiabilidade, a segurança, a relação custo-benefício, o desempenho e a excelência operacional do seu Application Gateway.

Confiabilidade

Recursos adicionais

Diretrizes do Centro de Arquitetura do Azure

Próximas etapas